前段
Change-Id: I718d4d07ea03c6d2b6bcbd4d426c5d1af2201bf4
diff --git a/src/api/helpPost.test.js b/src/api/helpPost.test.js
new file mode 100644
index 0000000..e163090
--- /dev/null
+++ b/src/api/helpPost.test.js
@@ -0,0 +1,60 @@
+import MockAdapter from 'axios-mock-adapter';
+import { api } from './auth'; // 添加api导入
+import { createPost, getPosts, getPostDetail, likePost, addPostComment } from './helpPost';
+
+describe('求助帖API', () => {
+ let mockAxios;
+
+ beforeEach(() => {
+ mockAxios = new MockAdapter(api);
+ });
+
+ afterEach(() => {
+ mockAxios.restore();
+ });
+
+ describe('createPost - 创建求助帖', () => {
+ it('应该正确发送帖子数据', async () => {
+ const postData = {
+ title: '测试标题',
+ content: '测试内容',
+ authorId: 'user123'
+ };
+ mockAxios.onPost('/help/posts', postData).reply(201, { code: 201 });
+
+ const response = await createPost(postData.title, postData.content, postData.authorId);
+ expect(response.status).toBe(201);
+ });
+ });
+
+ describe('getPosts - 获取求助帖列表', () => {
+ it('应该支持分页参数', async () => {
+ const page = 2, size = 10;
+ mockAxios.onGet('/help/posts', { params: { page, size } }).reply(200, {
+ code: 200,
+ data: []
+ });
+
+ const response = await getPosts(page, size);
+ expect(response.status).toBe(200);
+ });
+ });
+
+ describe('likePost - 点赞求助帖', () => {
+ it('应该正确发送点赞请求', async () => {
+ mockAxios.onPost('/help/posts/post123/like').reply(200, { code: 200 });
+ const response = await likePost('post123');
+ expect(response.status).toBe(200);
+ });
+ });
+
+ describe('addPostComment - 添加帖子评论', () => {
+ it('应该正确发送评论数据', async () => {
+ const comment = { content: '测试评论', author: 'user1' };
+ mockAxios.onPost('/help/posts/post456/comments', comment).reply(200, { code: 200 });
+
+ const response = await addPostComment('post456', comment);
+ expect(response.status).toBe(200);
+ });
+ });
+});
\ No newline at end of file