Skip to content

Commit 3f4fc15

Browse files
author
andela-nmartin
committed
Code and test coverage issues
1 parent b22f367 commit 3f4fc15

File tree

5 files changed

+69
-9
lines changed

5 files changed

+69
-9
lines changed

server/controllers/documents.js

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -56,7 +56,7 @@
5656
});
5757
} else {
5858
if (!document) {
59-
res.send({
59+
res.status(404).send({
6060
message: 'No document found.'
6161
});
6262
} else {
@@ -103,7 +103,7 @@
103103
});
104104
} else {
105105
if (!document) {
106-
res.send({
106+
res.status(404).send({
107107
message: 'No document found.'
108108
});
109109
} else {
@@ -116,12 +116,12 @@
116116
// delete or update
117117
Document.findOneAndRemove({
118118
_id: req.params.id
119-
}).exec(function(err, documents) {
119+
}).exec(function(err, document) {
120120
if (err) {
121121
return err;
122122
} else {
123123
res.status(200).json({
124-
message: documents
124+
message: document
125125
});
126126
}
127127
});

server/controllers/roles.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,7 @@
2323
});
2424
role.save(function(err) {
2525
if (err) {
26-
res.send(err);
26+
res.status(409).send(err);
2727
return;
2828
}
2929
res.json({

tests/documents.spec.js

Lines changed: 43 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -228,6 +228,48 @@ describe('Administrator Documents', function() {
228228
}
229229
});
230230
});
231+
232+
it('validates that any users document can be updated by an ' +
233+
'Administrator (PUT /api/documents)/:id',
234+
function(done) {
235+
request
236+
.put(url + '/api/documents/' + doc1id)
237+
.set('x-access-token', authToken)
238+
.send({
239+
title: 'Frodo',
240+
content: 'A character in LOTR.'
241+
})
242+
.end(function(err, res) {
243+
if (err) {
244+
expect(err.status).not.toEqual(200);
245+
} else {
246+
expect(res.status).toBe(200);
247+
expect(typeof res.body).toEqual('object');
248+
expect(res.body.success).toBe(true);
249+
expect(res.body.message).toBe('Successfully updated Document!');
250+
}
251+
done();
252+
});
253+
});
254+
255+
it('validates that any users document can be deleted by an ' +
256+
'Administrator (DELETE /api/documents)/:id',
257+
function(done) {
258+
request
259+
.del(url + '/api/documents/' + doc2id)
260+
.set('x-access-token', authToken)
261+
.end(function(err, res) {
262+
if (err) {
263+
expect(err.status).not.toEqual(200);
264+
} else {
265+
expect(res.status).toEqual(200);
266+
expect(typeof res.body).toBe('object');
267+
expect(res.body.message.title).toBe(document2.title);
268+
expect(res.body.message.content).toBe(document2.content);
269+
}
270+
done();
271+
});
272+
});
231273
});
232274
// tests for manipulating documents access
233275
describe('Document tests requiring authentication', function() {
@@ -283,7 +325,7 @@ describe('Document tests requiring authentication', function() {
283325
'Administrator (DELETE /api/documents)/:id',
284326
function(done) {
285327
request
286-
.del(url + '/api/documents/' + doc2id)
328+
.del(url + '/api/documents/' + doc1id)
287329
.set('x-access-token', authToken)
288330
.end(function(err, res) {
289331
if (err) {

tests/roles.spec.js

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -32,12 +32,12 @@ describe('Roles', function() {
3232
if (err) {
3333
expect(err.status).not.toEqual(200);
3434
} else {
35-
expect(res.status).toEqual(200);
35+
expect(res.status).toEqual(409);
3636
expect(res.body.code).toEqual(11000);
3737
expect(res.body.index).toEqual(0);
3838
expect(res.body.errmsg).toContain('E11000 duplicate key error index');
39-
done();
4039
}
40+
done();
4141
});
4242
});
4343
});

tests/users.spec.js

Lines changed: 19 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -87,7 +87,7 @@ describe('Users', function() {
8787
});
8888
});
8989

90-
it('validates that a user can be logged in', function(done) {
90+
it('validates that a valid user can be logged in', function(done) {
9191
request
9292
.post(url + '/api/users/login')
9393
.send({
@@ -106,4 +106,22 @@ describe('Users', function() {
106106
}
107107
});
108108
});
109+
110+
it('validates that an invalid user cannot be logged in', function(done) {
111+
request
112+
.post(url + '/api/users/login')
113+
.send({
114+
username: 'rupertm',
115+
password: '67891'
116+
})
117+
.end(function(err, res) {
118+
if (err) {
119+
expect(err.status).not.toEqual(200);
120+
} else {
121+
expect(res.status).toEqual(500);
122+
expect(res.body.message).toBe('User doesnt exist');
123+
}
124+
done();
125+
});
126+
});
109127
});

0 commit comments

Comments
 (0)