import httpStatus from 'http-status'; import { ms } from '../server'; require('dotenv/config'); require('../../tests/mocks/msw/index.js'); const request = require('supertest'); jest.setTimeout(10000); describe('Affiliates API tests', () => { test('[POST] /v1/affiliates', async () => { const affiliate = { email: 'luciano.moreira@sanar.com', }; const res = await request(ms.app).post('/api/v1/affiliates').send(affiliate); expect(res.statusCode).toEqual(httpStatus.OK); expect(res.body.discount).toEqual('10%'); }); test('[POST] /v1/affiliates 20%', async () => { const affiliate = { email: 'luciano.moreira@sanar.com', discount: 20, }; const res = await request(ms.app).post('/api/v1/affiliates').send(affiliate); expect(res.statusCode).toEqual(httpStatus.OK); expect(res.body.discount).toEqual('20%'); }); test('[POST] /v1/affiliates coupon value error', async () => { const affiliate = { email: 'luciano.moreira@sanar.com', discount: 30, }; const res = await request(ms.app).post('/api/v1/affiliates').send(affiliate); expect(res.statusCode).not.toEqual(httpStatus.OK); }); test('[GET] /v1/affiliates/coupon/:coupon/usage', async () => { const coupon = 'TESTCOUPON'; const res = await request(ms.app).get(`/api/v1/affiliates/coupon/${coupon}/usage`).send(); expect(res.statusCode).toEqual(httpStatus.OK); expect(res.body.length).toBeGreaterThan(0); }); });