blob: 585b0d3d414c670317f4fa063e3c16ee8732a092 [file] [log] [blame]
import MockAdapter from 'axios-mock-adapter';
import { api } from './auth'; // 添加api导入
import { likeTorrentComment, getCommentReplies, addCommentReply } from './torrentComment';
describe('种子评论API', () => {
let mockAxios;
beforeEach(() => {
mockAxios = new MockAdapter(api);
});
afterEach(() => {
mockAxios.restore();
});
describe('likeTorrentComment - 点赞种子评论', () => {
it('应该成功发送点赞请求', async () => {
const commentId = '123';
const mockResponse = { code: 200, message: '点赞成功' };
mockAxios.onPost(`/torrent/comments/${commentId}/like`).reply(200, mockResponse);
const response = await likeTorrentComment(commentId);
expect(response.data).toEqual(mockResponse);
});
it('应该处理点赞失败的情况', async () => {
mockAxios.onPost('/torrent/comments/123/like').reply(500);
await expect(likeTorrentComment('123')).rejects.toThrow();
});
});
describe('getCommentReplies - 获取评论回复', () => {
it('应该成功获取回复列表', async () => {
const commentId = '456';
const mockResponse = {
code: 200,
data: [{ id: '1', content: '回复1' }, { id: '2', content: '回复2' }]
};
mockAxios.onGet(`/torrent/comments/${commentId}/replies`).reply(200, mockResponse);
const response = await getCommentReplies(commentId);
expect(response.data).toEqual(mockResponse);
});
});
describe('addCommentReply - 添加评论回复', () => {
it('应该成功添加回复', async () => {
const commentId = '789';
const replyData = { content: '测试回复' };
const mockResponse = { code: 200, data: { id: '3', ...replyData } };
mockAxios.onPost(`/torrent/comments/${commentId}/replies`, replyData).reply(200, mockResponse);
const response = await addCommentReply(commentId, replyData);
expect(response.data).toEqual(mockResponse);
});
});
});