From 3d1873eaf68498f3d8a6bcc30b9bc6656f204298 Mon Sep 17 00:00:00 2001 From: Dan Rocha Date: Fri, 14 Aug 2015 11:57:45 -0500 Subject: [PATCH] feat(gen:endpoint): create models spec files --- .../basename.model.spec(mongooseModels).js | 34 ++++++++++++++++++ .../basename.model.spec(sequelizeModels).js | 35 +++++++++++++++++++ test/test-file-creation.js | 1 + 3 files changed, 70 insertions(+) create mode 100644 endpoint/templates/basename.model.spec(mongooseModels).js create mode 100644 endpoint/templates/basename.model.spec(sequelizeModels).js diff --git a/endpoint/templates/basename.model.spec(mongooseModels).js b/endpoint/templates/basename.model.spec(mongooseModels).js new file mode 100644 index 000000000..58fc61165 --- /dev/null +++ b/endpoint/templates/basename.model.spec(mongooseModels).js @@ -0,0 +1,34 @@ +'use strict'; + +var app = require('../../app'); +var <%= classedName %> = require('./<%= basename %>.model'); +var <%= cameledName %>; +var gen<%= classedName %> = function() { + <%= cameledName %> = new <%= classedName %>({ + name: 'Fake <%= classedName %>', + info: 'some info', + active: true + }); + return <%= cameledName %>; +}; + +describe('<%= classedName %> Model', function() { + before(function() { + // Clear <%= basename %>s before testing + return <%= classedName %>.find({}).removeAsync(); + }); + + beforeEach(function() { + gen<%= classedName %>(); + }); + + afterEach(function() { + return <%= classedName %>.find({}).removeAsync(); + }); + + it('should begin with no <%= basename %>s', function() { + return <%= classedName %>.findAsync({}) + .should.eventually.have.length(0); + }); + +}); diff --git a/endpoint/templates/basename.model.spec(sequelizeModels).js b/endpoint/templates/basename.model.spec(sequelizeModels).js new file mode 100644 index 000000000..43d2a27ad --- /dev/null +++ b/endpoint/templates/basename.model.spec(sequelizeModels).js @@ -0,0 +1,35 @@ +'use strict'; + +var app = require('../../app'); +var <%= classedName %> = require('../../sqldb').<%= classedName %>; +var <%= cameledName %>; +var gen<%= classedName %> = function() { + <%= cameledName %> = <%= classedName %>.build({ + name: 'Fake <%= classedName %>', + info: 'some info', + active: true + }); + return <%= cameledName %>; +}; + +describe('<%= classedName %> Model', function() { + before(function() { + // Sync and clear <%= basename %>s before testing + return <%= classedName %>.sync().then(function() { + return <%= classedName %>.destroy({ where: {} }); + }); + }); + + beforeEach(function() { + gen<%= classedName %>(); + }); + + afterEach(function() { + return <%= classedName %>.destroy({ where: {} }); + }); + + it('should begin with no <%= basename %>s', function() { + return <%= classedName %>.findAll() + .should.eventually.have.length(0); + }); +}); diff --git a/test/test-file-creation.js b/test/test-file-creation.js index fb0fb2b91..4c0c4e4f5 100644 --- a/test/test-file-creation.js +++ b/test/test-file-creation.js @@ -237,6 +237,7 @@ describe('angular-fullstack generator', function () { files = files.concat([ 'server/api/thing/thing.model.js', 'server/api/thing/thing.events.js', + 'server/api/thing/thing.model.spec.js', 'server/config/seed.js' ]); }