tellform/app/tests/form.server.model.test.js
David Baldwynn c209146aeb added tests
2015-09-03 11:21:56 -07:00

190 lines
5.2 KiB
JavaScript

// 'use strict';
// /**
// * Module dependencies.
// */
// var should = require('should'),
// mongoose = require('mongoose'),
// User = mongoose.model('User'),
// Form = mongoose.model('Form'),
// _ = require('lodash'),
// FormSubmission = mongoose.model('FormSubmission');
// /**
// * Globals
// */
// var user, myForm, mySubmission;
// /**
// * Unit tests
// */
// describe('Form 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() {
// myForm = new Form({
// title: 'Form Title',
// admin: user,
// language: 'english',
// form_fields: [
// {'fieldType':'textfield', 'title':'First Name', 'fieldValue': ''},
// {'fieldType':'checkbox', 'title':'nascar', 'fieldValue': ''},
// {'fieldType':'checkbox', 'title':'hockey', 'fieldValue': ''}
// ]
// });
// done();
// });
// });
// describe('Method Save', function() {
// it('should be able to save without problems', function(done) {
// return myForm.save(function(err) {
// should.not.exist(err);
// done();
// });
// });
// it('should be able to show an error when try to save without title', function(done) {
// var _form = myForm;
// _form.title = '';
// return _form.save(function(err) {
// should.exist(err);
// should.equal(err.errors.title.message, 'Form Title cannot be blank');
// done();
// });
// });
// });
// describe('Method Find', function(){
// beforeEach(function(done){
// myForm.save(function(err) {
// done();
// });
// });
// it('should be able to findOne my form without problems', function(done) {
// return Form.findOne({_id: myForm._id}, function(err,form) {
// should.not.exist(err);
// should.exist(form);
// should.deepEqual(form.toObject(), myForm.toObject());
// done();
// });
// });
// });
// describe('Test FormField and Submission Logic', function() {
// var new_form_fields_add1, new_form_fields_del, submission_fields, old_fields, form;
// before(function(){
// new_form_fields_add1 = _.clone(myForm.toObject().form_fields);
// new_form_fields_add1.push(
// {'fieldType':'textfield', 'title':'Last Name', 'fieldValue': ''}
// );
// new_form_fields_del = _.clone(myForm.toObject().form_fields);
// new_form_fields_del.splice(0, 1);
// submission_fields = _.clone(myForm.toObject().form_fields);
// submission_fields[0].fieldValue = 'David';
// submission_fields[1].fieldValue = true;
// submission_fields[2].fieldValue = true;
// mySubmission = new FormSubmission({
// form_fields: submission_fields,
// admin: user,
// form: myForm,
// timeElapsed: 17.55
// });
// });
// beforeEach(function(done){
// myForm.save(function(){
// mySubmission.save(function(){
// done();
// });
// });
// });
// afterEach(function(done){
// mySubmission.remove(function(){
// done();
// });
// });
// // it('should preserve deleted form_fields that have submissions without any problems', function(done) {
// // old_fields = myForm.toObject().form_fields;
// // // console.log(old_fields);
// // // var expected_fields = old_fields.slice(1,3).concat(old_fields.slice(0,1));
// // myForm.form_fields = new_form_fields_del;
// // myForm.save(function(err, _form) {
// // should.not.exist(err);
// // should.exist(_form);
// // // var actual_fields = _.map(_form.toObject().form_fields, function(o){ _.omit(o, '_id')});
// // // old_fields = _.map(old_fields, function(o){ _.omit(o, '_id')});
// // // console.log(old_fields);
// // should.deepEqual(JSON.stringify(_form.toObject().form_fields), JSON.stringify(old_fields), 'old form_fields not equal to newly saved form_fields');
// // done();
// // });
// // });
// // it('should delete \'preserved\' form_fields whose submissions have been removed without any problems', function(done) {
// // myForm.form_fields = new_form_fields_del;
// // myForm.save(function(err, form
// // should.not.exist(err);
// // (form.form_fields).should.be.eql(old_fields, 'old form_fields not equal to newly saved form_fields');
// // //Remove submission
// // mySubmission.remove(function(err){
// // myForm.submissions.should.have.length(0);
// // myForm.form_fields.should.not.containDeep(old_fields[0]);
// // });
// // });
// // });
// });
// // describe('Method generateFDFTemplate', function() {
// // var FormFDF;
// // before(function(done){
// // return myForm.save(function(err, form){
// // FormFDF = {
// // 'First Name': '',
// // 'nascar': '',
// // 'hockey': ''
// // };
// // done();
// // });
// // });
// // it('should be able to generate a FDF template without any problems', function() {
// // var fdfTemplate = myForm.generateFDFTemplate();
// // (fdfTemplate).should.be.eql(FormFDF);
// // });
// // });
// afterEach(function(done) {
// Form.remove().exec(function() {
// User.remove().exec(done);
// });
// });
// });