Skip to content

Commit 9923b7f

Browse files
added auth testing to POST courses/
1 parent 92afb2e commit 9923b7f

3 files changed

Lines changed: 21 additions & 16 deletions

File tree

src/app.js

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -16,8 +16,6 @@ const MongoStore = require('connect-mongo')(session);
1616
const config = require('config');
1717
const dbConfig = config.get('DBHost');
1818

19-
20-
2119
const course = require('./routes/course');
2220
const user = require('./routes/user');
2321
const app = express();

src/routes/course.js

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,24 +1,24 @@
11
const express = require('express');
22
const router = express.Router();
33
const Course = require('../models/course');
4+
import {authorizeUser} from "../middleware/index";
5+
import Utils from '../utils';
46

5-
router.get('/', function(req, res, next) {
7+
router.get('/', (req, res, next) => {
68
res.send("hello!");
79
});
810

9-
10-
router.post('/', (req, res, next) => {
11+
router.post('/', authorizeUser, (req, res, next) => {
1112
if(!req.body.title || !req.body.description){
12-
const err = new Error("Bad Request");
13-
err.status = 400;
14-
return next(err);
13+
return Utils.throwError(400, "Bad Request", next );
1514
}
1615
const courseData = req.body;
1716
Course.create(courseData, (err, course) => {
1817
if(err){
1918
return next(err);
2019
}
21-
return res.status(201).json({message: "User Successfully added!", status: 201, course});
20+
let status = 201;
21+
return res.status(status).json({success: true, message: "User Successfully added!", status: status, course});
2222
});
2323
});
2424

test/course_test.js

Lines changed: 14 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -2,16 +2,20 @@
22
//During the test the env variable is set to test
33
process.env.NODE_ENV = 'test';
44

5-
const Course = require('../src/models/course');
5+
const Course = require('../src/models/course'),
6+
chai = require('chai'),
7+
chaiHttp = require('chai-http'),
8+
server = require('../src/app');
69

7-
const chai = require('chai');
8-
const chaiHttp = require('chai-http');
9-
const server = require('../src/app');
10-
const should = chai.should();
1110

11+
const should = chai.should();
12+
const courseIndexLink = '/api/courses/';
1213
chai.use(chaiHttp);
1314

14-
let courseIndexLink = '/api/courses/';
15+
const validAuth = {
16+
user: 'joe@smith.com',
17+
pass: 'password'
18+
};
1519

1620
describe('Courses', () => {
1721
beforeEach((done) => {
@@ -37,7 +41,7 @@ describe('Courses', () => {
3741
});
3842

3943
describe('/POST course', () => {
40-
it('should POST a course with proper fields', (done) => {
44+
it('should POST a course with proper fields and proper auth', (done) => {
4145
let course = {
4246
title: "My first title!",
4347
description: "My course description",
@@ -53,6 +57,7 @@ describe('Courses', () => {
5357
};
5458
chai.request(server)
5559
.post(courseIndexLink)
60+
.auth(validAuth.user, validAuth.pass)
5661
.send(course)
5762
.end((err, res) => {
5863
res.should.have.status(201);
@@ -102,8 +107,10 @@ describe('Courses', () => {
102107
function postCourse(course, done){
103108
chai.request(server)
104109
.post(courseIndexLink)
110+
.auth(validAuth.user, validAuth.pass)
105111
.send(course)
106112
.end((err, res) => {
113+
//res.body.should.have.property('message').equal("test message");
107114
res.should.have.status(400);
108115
done();
109116
});

0 commit comments

Comments
 (0)