Spaces:
Paused
Paused
| const request = require('supertest'); | |
| class APITestHelper { | |
| constructor(app) { | |
| this.app = app; | |
| this.token = null; | |
| } | |
| async login(email, password) { | |
| const response = await request(this.app).post('/api/auth/login').send({ email, password }); | |
| this.token = response.body.accessToken; | |
| return response; | |
| } | |
| async authenticatedRequest(method, path, body = null) { | |
| const req = request(this.app)[method](path).set('Authorization', `Bearer ${this.token}`); | |
| if (body) { | |
| req.send(body); | |
| } | |
| return await req; | |
| } | |
| async get(path) { | |
| return this.authenticatedRequest('get', path); | |
| } | |
| async post(path, body) { | |
| return this.authenticatedRequest('post', path, body); | |
| } | |
| async put(path, body) { | |
| return this.authenticatedRequest('put', path, body); | |
| } | |
| async delete(path) { | |
| return this.authenticatedRequest('delete', path); | |
| } | |
| } | |
| module.exports = APITestHelper; | |