text: 'use strict';
  
  /**
   * Module dependencies.
   */
  var should = require('should'),
  	mongoose = require('mongoose'),
  	User = mongoose.model('User'),
  	Suggestion = mongoose.model('Suggestion');
  
  /**
   * Globals
   */
  var user, suggestion;
  
  /**
   * Unit tests
   */
  describe('Suggestion Model Unit Tests:', function() {
  	beforeEach(function(done) {
  		user = new User({
  			firstName: 'Full',
  			lastName: 'Name',
  			displayName: 'Full Name',
  			email: 'test@test.com',
  			username: 'username',
  			password: 'password'
  		});
  
  		user.save(function() { 
  			suggestion = new Suggestion({
  				name: 'Suggestion Name',
  				user: user
  			});
  
  			done();
  		});
  	});
  
  	describe('Method Save', function() {
  		it('should be able to save without problems', function(done) {
  			return suggestion.save(function(err) {
  				should.not.exist(err);
  				done();
  			});
  		});
  
  		it('should be able to show an error when try to save without name', function(done) { 
  			suggestion.name = '';
  
  			return suggestion.save(function(err) {
  				should.exist(err);
  				done();
  			});
  		});
  	});
  
  	afterEach(function(done) { 
  		Suggestion.remove().exec();
  		User.remove().exec();
  
  		done();
  	});
  });