Skip to content

Commit c75e185

Browse files
committed
Implemented unit tests
1 parent 62368a9 commit c75e185

File tree

7 files changed

+7536
-1555
lines changed

7 files changed

+7536
-1555
lines changed

package-lock.json

Lines changed: 7457 additions & 1550 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

package.json

Lines changed: 7 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@
44
"description": "API for videoodyssee frontend",
55
"main": "server.js",
66
"scripts": {
7-
"test": "echo \"Error: no test specified\" && exit 1"
7+
"test": "jest --silent"
88
},
99
"repository": {
1010
"type": "git",
@@ -24,6 +24,11 @@
2424
"express": "^4.18.1",
2525
"morgan": "^1.10.0",
2626
"sequelize": "^6.21.3",
27-
"sqlite3": "^5.0.11"
27+
"sqlite3": "^5.0.11",
28+
"supertest": "^6.2.4"
29+
},
30+
"devDependencies": {
31+
"axios-mock-adapter": "^1.21.2",
32+
"jest": "^28.1.3"
2833
}
2934
}

routes/pipeline.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,7 @@ router.post('/trigger', async (req, res, next) => {
2424

2525
if (!title || !event || !language || !date || !url || !name || !email)
2626
throw { err_message: "Missing some required fields !", err_code: 406 }
27-
27+
req.body.status = "pending";
2828
video = await db.Video.create(req.body);
2929
const response = await funcs.triggerPipeline(video.dataValues);
3030
if (response.status != 202)

server.js

Lines changed: 7 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -24,6 +24,11 @@ app.use((err, req, res, next) => {
2424
else return funcs.sendError(res, err.err_message || err, err.err_code);
2525
});
2626

27-
app.listen(process.env.PORT,()=>{
27+
const server = app.listen(process.env.PORT,()=>{
2828
console.log(`Listening at port ${process.env.PORT}`);
29-
})
29+
})
30+
31+
module.exports = {
32+
app,
33+
server,
34+
}

tests/funcs.test.js

Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,22 @@
1+
require('dotenv').config()
2+
const { triggerPipeline, instance } = require('../utils/funcs');
3+
const MockAdapter = require("axios-mock-adapter");
4+
const mock = new MockAdapter(instance);
5+
mock.onPost().reply(209, {
6+
message: 'Request to schedule pipeline processing-pipeline accepted'
7+
});
8+
9+
10+
11+
it("triggerPipeline function", async () => {
12+
const data = {
13+
id: 1,
14+
title: 'title',
15+
subtitle: 'subtile',
16+
url: 'http://techslides.com/demos/sample-videos/small.mp4',
17+
name: 'vijay',
18+
19+
}
20+
const response = await triggerPipeline(data);
21+
expect(response.data.message).toContain('accepted');
22+
});

tests/routes.test.js

Lines changed: 41 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,41 @@
1+
const { app, server } = require('../server');
2+
const request = require('supertest');
3+
require('dotenv').config()
4+
const { instance } = require('../utils/funcs');
5+
const MockAdapter = require("axios-mock-adapter");
6+
const { response } = require('express');
7+
const mock = new MockAdapter(instance);
8+
mock.onPost().reply(209, {
9+
message: 'Request to schedule pipeline processing-pipeline accepted'
10+
});
11+
12+
13+
14+
describe('API routes', function () {
15+
afterAll(done => {
16+
server.close();
17+
done();
18+
});
19+
20+
it('triggers pipeline', async function () {
21+
const res = await request(app)
22+
.post('/pipeline/trigger')
23+
.set('Accept', 'application/json')
24+
.set('Content-Type', 'application/json')
25+
.send({
26+
title: 'title',
27+
event:'Freifunk summit',
28+
date:'21-01-2022',
29+
language:'German',
30+
subtitle: 'subtile',
31+
url: 'http://techslides.com/demos/sample-videos/small.mp4',
32+
name: 'vijay',
33+
34+
});
35+
expect(res.body.message).toContain('accepted');
36+
37+
});
38+
39+
40+
41+
});

utils/funcs.js

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -61,4 +61,5 @@ module.exports ={
6161
sendError,
6262
sendSuccess,
6363
triggerPipeline,
64+
instance,
6465
}

0 commit comments

Comments
 (0)