Spaces:
Runtime error
Runtime error
File size: 3,892 Bytes
56b6519 |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 |
/*
At the end
1 Audit: {name: "Audit 1", language: "en", auditType: "Web"}
*/
module.exports = function (request, app) {
describe('Audit Suite Tests', () => {
var userToken = '';
var audit1Id = '';
var audit2Id = '';
beforeAll(async () => {
var response = await request(app)
.post('/api/users/token')
.send({ username: 'admin', password: 'Admin123' });
userToken = response.body.datas.token;
});
describe('Audit CRUD operations', () => {
it('Get Audits (no existing audit in db)', async () => {
var response = await request(app)
.get('/api/audits')
.set('Cookie', [`token=JWT ${userToken}`]);
expect(response.status).toBe(200);
expect(response.body.datas).toHaveLength(0);
});
it('Create audit with partial information', async () => {
var audit = { name: 'Audit 1' };
var response = await request(app)
.post('/api/audits')
.set('Cookie', [`token=JWT ${userToken}`])
.send(audit);
expect(response.status).toBe(422);
});
it('Create audit with invalid audit type', async () => {
var audit = {
name: 'Audit 1',
language: 'en',
auditType: 'Internal Test',
};
var response = await request(app)
.post('/api/audits')
.set('Cookie', [`token=JWT ${userToken}`])
.send(audit);
expect(response.status).toBe(404);
});
it('Create audit', async () => {
var audit = { name: 'Audit 1', language: 'en', auditType: 'Web' };
var response = await request(app)
.post('/api/audits')
.set('Cookie', [`token=JWT ${userToken}`])
.send(audit);
expect(response.status).toBe(201);
audit1Id = response.body.datas.audit._id;
});
it('Create second audit', async () => {
var audit = { name: 'Audit 2', language: 'fr', auditType: 'Web' };
var response = await request(app)
.post('/api/audits')
.set('Cookie', [`token=JWT ${userToken}`])
.send(audit);
expect(response.status).toBe(201);
audit2Id = response.body.datas.audit._id;
});
it('Delete audit', async () => {
var response = await request(app)
.delete(`/api/audits/${audit2Id}`)
.set('Cookie', [`token=JWT ${userToken}`]);
expect(response.status).toBe(200);
response = await request(app)
.get('/api/audits')
.set('Cookie', [`token=JWT ${userToken}`]);
expect(response.body.datas).toHaveLength(1);
});
it('Update audit general info', async () => {
var auditGeneralInfo = {
_id: audit1Id,
scope: ['Scope Item 1', 'Scope Item 2'],
};
var response = await request(app)
.put(`/api/audits/${audit1Id}/general`)
.set('Cookie', [`token=JWT ${userToken}`])
.send(auditGeneralInfo);
expect(response.status).toBe(200);
});
it('Get audit general info', async () => {
var response = await request(app)
.get(`/api/audits/${audit1Id}/general`)
.set('Cookie', [`token=JWT ${userToken}`]);
expect(response.status).toBe(200);
expect(response.body.datas.name).toBe('Audit 1');
expect(response.body.datas.auditType).toBe('Web');
expect(response.body.datas.language).toBe('en');
expect(response.body.datas.collaborators).toHaveLength(0);
expect(response.body.datas.reviewers).toHaveLength(0);
expect(response.body.datas.customFields).toHaveLength(0);
expect(response.body.datas.scope).toHaveLength(2);
expect(response.body.datas.scope[0]).toBe('Scope Item 1');
expect(response.body.datas.scope[1]).toBe('Scope Item 2');
});
});
});
};
|