diff --git a/src/api/torrent.test.js b/src/api/torrent.test.js
new file mode 100644
index 0000000..c4de6c5
--- /dev/null
+++ b/src/api/torrent.test.js
@@ -0,0 +1,58 @@
+import MockAdapter from 'axios-mock-adapter';
+import { api } from './auth'; // 添加api导入
+import { createTorrent, getTorrents, getTorrentDetail, likeTorrent, addTorrentComment } from './torrent';
+
+describe('种子资源API', () => {
+  let mockAxios;
+
+  beforeEach(() => {
+    mockAxios = new MockAdapter(api);
+  });
+
+  afterEach(() => {
+    mockAxios.restore();
+  });
+
+  describe('createTorrent - 创建种子', () => {
+    it('应该发送完整的种子数据', async () => {
+      const torrentData = {
+        torrentName: '测试种子',
+        description: '描述内容',
+        username: 'user1',
+        category: '电影',
+        region: '美国',
+        resolution: '1080p',
+        subtitle: '中文字幕',
+        filePath: '/path/to/file'
+      };
+      mockAxios.onPost('/torrent', torrentData).reply(201, { code: 201 });
+
+      const response = await createTorrent(...Object.values(torrentData));
+      expect(response.status).toBe(201);
+    });
+  });
+
+  describe('getTorrentDetail - 获取种子详情', () => {
+    it('应该规范化返回的数据结构', async () => {
+      const mockData = {
+        data: {
+          post: { id: '123', name: '测试种子' },
+          comments: [{ id: '1', content: '评论1' }]
+        }
+      };
+      mockAxios.onGet('/torrent/123').reply(200, mockData);
+
+      const response = await getTorrentDetail('123');
+      expect(response.data.data.torrent.name).toBe('测试种子');
+      expect(response.data.data.comments).toHaveLength(1);
+    });
+  });
+
+  describe('likeTorrent - 点赞种子', () => {
+    it('应该成功发送点赞请求', async () => {
+      mockAxios.onPost('/torrent/t123/like').reply(200, { code: 200 });
+      const response = await likeTorrent('t123');
+      expect(response.status).toBe(200);
+    });
+  });
+});
\ No newline at end of file
