tests: add more test on IngredientsController
continuous-integration/drone/push Build is failing Details

WORK-RRE
Rémi REGNAULT 1 year ago
parent c5866443c0
commit e3e444acda

@ -8,14 +8,15 @@ const ingredient_gw = new IngredientsGateway()
IngredientsController.get('/filter/:prompt', async (req, res) => {
const letter = req.params.prompt;
const prompt = req.params.prompt;
if (!letter) {
throw new Exceptions.BadRequestException('prompt is invalid!');
}
if (!prompt) {
res.status(400).send('invalid parameter or no parameter')
return
}
try {
const ingredient = await ingredient_gw.filter(letter);
const ingredient = await ingredient_gw.filter(prompt);
if (ingredient == null) {
res.status(404).send('Not found');
@ -31,9 +32,10 @@ IngredientsController.get('/filter/:prompt', async (req, res) => {
IngredientsController.get('/letter/:letter', async (req, res) => {
const letter = req.params.letter;
if (!letter) {
throw new Exceptions.BadRequestException('Letter is invalid!');
}
if (!letter) {
res.status(400).send('invalid parameter or no parameter')
return
}
try {
const ingredient = await ingredient_gw.getByLetter(letter);

@ -22,15 +22,15 @@ app.use('/ingredients', IngredientsController);
app.use('/recipes', RecipesController);
app.use('/steps', StepsController);
const port = process.env.PORT || 3000;
const port = Number(process.env.PORT) || 3000;
export const startServer = () => {
return app.listen(port, () => console.log(`App listening on PORT ${port}`));
export const startServer = (port_to_use: number) => {
return app.listen(port_to_use, () => console.log(`App listening on PORT ${port}`));
};
// Exécutez le serveur uniquement si le module est le point d'entrée principal
if (require.main === module) {
startServer();
startServer(port);
}
export default app;

@ -4,9 +4,10 @@ import { Server, IncomingMessage, ServerResponse } from 'http';
describe('GET /api/endpoint', () => {
let server: Server<typeof IncomingMessage, typeof ServerResponse>;
const port = 3000
beforeAll(() => {
server = startServer();
server = startServer(3000);
});
afterAll((done) => {

@ -5,32 +5,67 @@ import { Server, IncomingMessage, ServerResponse } from 'http';
describe('GET /ingredients', () => {
let server: Server<typeof IncomingMessage, typeof ServerResponse>;
const port = 3001
beforeAll(() => {
server = startServer();
server = startServer(3001);
});
afterAll((done) => {
server.close(done);
server.close(done);
});
it('should return a 200 status code', async () => {
const response = await request(app).get('/ingredients/');
expect(response.status).toBe(200);
});
it('should return a 200 status code', async () => {
const response = await request(app).get('/ingredients/1');
expect(response.status).toBe(200);
});
// /ingredients/
it('should return a 200 status code', async () => {
const response = await request(app).get('/ingredients/');
expect(response.status).toBe(200);
});
// /ingredients/:id
it('should return a 200 status code', async () => {
const response = await request(app).get('/ingredients/1');
expect(response.status).toBe(200);
});
it('should return a 400 status code', async () => {
const response = await request(app).get('/ingredients/l');
expect(response.status).toBe(400);
});
it('should return a 404 status code', async () => {
const response = await request(app).get('/ingredients/8024');
expect(response.status).toBe(404);
});
// /ingredients/letter/:letter
it('should return a 200 status code', async () => {
const response = await request(app).get('/ingredients/letter/l');
expect(response.status).toBe(200);
});
it('should return a 404 status code', async () => {
const response = await request(app).get('/ingredients/letter/oui');
expect(response.status).toBe(404);
});
it('should return a 400 status code', async () => {
const response = await request(app).get('/ingredients/letter/');
expect(response.status).toBe(400);
});
it('should return a 400 status code', async () => {
const response = await request(app).get('/ingredients/l');
expect(response.status).toBe(400);
});
// /ingredients/filter/:prompt
it('should return a 200 status code', async () => {
const response = await request(app).get('/ingredients/filter/car');
expect(response.status).toBe(200);
});
it('should return a 404 status code', async () => {
const response = await request(app).get('/ingredients/8024');
expect(response.status).toBe(404);
});
it('should return a 404 status code', async () => {
const response = await request(app).get('/ingredients/filter/slumaprottube');
expect(response.status).toBe(404);
});
it('should return a 400 status code', async () => {
const response = await request(app).get('/ingredients/filter/');
expect(response.status).toBe(400);
});
});
Loading…
Cancel
Save