tellform/app/tests/article.server.routes.test.js
2015-07-27 11:11:43 -07:00

281 lines
7.5 KiB
JavaScript
Executable file

// 'use strict';
// var should = require('should'),
// request = require('supertest'),
// app = require('../../server'),
// mongoose = require('mongoose'),
// User = mongoose.model('User'),
// Article = mongoose.model('Article'),
// agent = request.agent(app);
// /**
// * Globals
// */
// var credentials, user, article;
// /**
// * Article routes tests
// */
// describe('Article CRUD tests', function() {
// beforeEach(function(done) {
// // Create user credentials
// credentials = {
// username: 'username',
// password: 'password'
// };
// // Create a new user
// user = new User({
// firstName: 'Full',
// lastName: 'Name',
// displayName: 'Full Name',
// email: 'test@test.com',
// username: credentials.username,
// password: credentials.password,
// provider: 'local'
// });
// // Save a user to the test db and create new article
// user.save(function() {
// article = {
// title: 'Article Title',
// content: 'Article Content'
// };
// done();
// });
// });
// it('should be able to save an article if logged in', function(done) {
// agent.post('/auth/signin')
// .send(credentials)
// .expect(200)
// .end(function(signinErr, signinRes) {
// // Handle signin error
// if (signinErr) done(signinErr);
// // Get the userId
// var userId = user.id;
// // Save a new article
// agent.post('/articles')
// .send(article)
// .expect(200)
// .end(function(articleSaveErr, articleSaveRes) {
// // Handle article save error
// if (articleSaveErr) done(articleSaveErr);
// // Get a list of articles
// agent.get('/articles')
// .end(function(articlesGetErr, articlesGetRes) {
// // Handle article save error
// if (articlesGetErr) done(articlesGetErr);
// // Get articles list
// var articles = articlesGetRes.body;
// // Set assertions
// (articles[0].user._id).should.equal(userId);
// (articles[0].title).should.match('Article Title');
// // Call the assertion callback
// done();
// });
// });
// });
// });
// it('should not be able to save an article if not logged in', function(done) {
// agent.post('/articles')
// .send(article)
// .expect(401)
// .end(function(articleSaveErr, articleSaveRes) {
// // Call the assertion callback
// done(articleSaveErr);
// });
// });
// it('should not be able to save an article if no title is provided', function(done) {
// // Invalidate title field
// article.title = '';
// agent.post('/auth/signin')
// .send(credentials)
// .expect(200)
// .end(function(signinErr, signinRes) {
// // Handle signin error
// if (signinErr) done(signinErr);
// // Get the userId
// var userId = user.id;
// // Save a new article
// agent.post('/articles')
// .send(article)
// .expect(400)
// .end(function(articleSaveErr, articleSaveRes) {
// // Set message assertion
// (articleSaveRes.body.message).should.match('Title cannot be blank');
// // Handle article save error
// done(articleSaveErr);
// });
// });
// });
// it('should be able to update an article if signed in', function(done) {
// agent.post('/auth/signin')
// .send(credentials)
// .expect(200)
// .end(function(signinErr, signinRes) {
// // Handle signin error
// if (signinErr) done(signinErr);
// // Get the userId
// var userId = user.id;
// // Save a new article
// agent.post('/articles')
// .send(article)
// .expect(200)
// .end(function(articleSaveErr, articleSaveRes) {
// // Handle article save error
// if (articleSaveErr) done(articleSaveErr);
// // Update article title
// article.title = 'WHY YOU GOTTA BE SO MEAN?';
// // Update an existing article
// agent.put('/articles/' + articleSaveRes.body._id)
// .send(article)
// .expect(200)
// .end(function(articleUpdateErr, articleUpdateRes) {
// // Handle article update error
// if (articleUpdateErr) done(articleUpdateErr);
// // Set assertions
// (articleUpdateRes.body._id).should.equal(articleSaveRes.body._id);
// (articleUpdateRes.body.title).should.match('WHY YOU GOTTA BE SO MEAN?');
// // Call the assertion callback
// done();
// });
// });
// });
// });
// it('should be able to get a list of articles if not signed in', function(done) {
// // Create new article model instance
// var articleObj = new Article(article);
// // Save the article
// articleObj.save(function() {
// // Request articles
// request(app).get('/articles')
// .end(function(req, res) {
// // Set assertion
// res.body.should.be.an.Array.with.lengthOf(1);
// // Call the assertion callback
// done();
// });
// });
// });
// it('should be able to get a single article if not signed in', function(done) {
// // Create new article model instance
// var articleObj = new Article(article);
// // Save the article
// articleObj.save(function() {
// request(app).get('/articles/' + articleObj._id)
// .end(function(req, res) {
// // Set assertion
// res.body.should.be.an.Object.with.property('title', article.title);
// // Call the assertion callback
// done();
// });
// });
// });
// it('should return proper error for single article which doesnt exist, if not signed in', function(done) {
// request(app).get('/articles/test')
// .end(function(req, res) {
// // Set assertion
// res.body.should.be.an.Object.with.property('message', 'Article is invalid');
// // Call the assertion callback
// done();
// });
// });
// it('should be able to delete an article if signed in', function(done) {
// agent.post('/auth/signin')
// .send(credentials)
// .expect(200)
// .end(function(signinErr, signinRes) {
// // Handle signin error
// if (signinErr) done(signinErr);
// // Get the userId
// var userId = user.id;
// // Save a new article
// agent.post('/articles')
// .send(article)
// .expect(200)
// .end(function(articleSaveErr, articleSaveRes) {
// // Handle article save error
// if (articleSaveErr) done(articleSaveErr);
// // Delete an existing article
// agent.delete('/articles/' + articleSaveRes.body._id)
// .send(article)
// .expect(200)
// .end(function(articleDeleteErr, articleDeleteRes) {
// // Handle article error error
// if (articleDeleteErr) done(articleDeleteErr);
// // Set assertions
// (articleDeleteRes.body._id).should.equal(articleSaveRes.body._id);
// // Call the assertion callback
// done();
// });
// });
// });
// });
// it('should not be able to delete an article if not signed in', function(done) {
// // Set article user
// article.user = user;
// // Create new article model instance
// var articleObj = new Article(article);
// // Save the article
// articleObj.save(function() {
// // Try deleting article
// request(app).delete('/articles/' + articleObj._id)
// .expect(401)
// .end(function(articleDeleteErr, articleDeleteRes) {
// // Set message assertion
// (articleDeleteRes.body.message).should.match('User is not logged in');
// // Handle article error error
// done(articleDeleteErr);
// });
// });
// });
// afterEach(function(done) {
// User.remove().exec(function() {
// Article.remove().exec(done);
// });
// });
// });