diff --git a/tests/backend/rename.test.js b/tests/backend/rename.test.js new file mode 100644 index 0000000..1bc5225 --- /dev/null +++ b/tests/backend/rename.test.js @@ -0,0 +1,42 @@ +// 文件重命名 API 测试 +const request = require('supertest'); +const app = require('../../backend/src/index'); + +describe('Rename API', () => { + let token; + + beforeAll(async () => { + const loginRes = await request(app) + .post('/api/auth/login') + .send({ username: 'testuser', password: 'test123' }); + token = loginRes.body.token; + }); + + describe('PUT /api/rename/:id', () => { + it('should rename file', async () => { + const response = await request(app) + .put('/api/rename/1') + .set('Authorization', `Bearer ${token}`) + .send({ name: 'new-filename.pdf' }); + + expect([200, 404]).toContain(response.status); + }); + + it('should reject empty name', async () => { + const response = await request(app) + .put('/api/rename/1') + .set('Authorization', `Bearer ${token}`) + .send({ name: '' }); + + expect(response.status).toBe(400); + }); + + it('should reject without token', async () => { + const response = await request(app) + .put('/api/rename/1') + .send({ name: 'test.pdf' }); + + expect(response.status).toBe(401); + }); + }); +});