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); | |
}); | |
}); | |
}); |