From 400de520c64885e78348150f9235128e0924167c Mon Sep 17 00:00:00 2001 From: Weston Platter Date: Mon, 24 Feb 2014 22:58:49 -0700 Subject: [PATCH] add simple User model testing --- tests/models/User_spec.js | 41 +++++++++++++++++++++++++++++++++++++++ 1 file changed, 41 insertions(+) create mode 100644 tests/models/User_spec.js diff --git a/tests/models/User_spec.js b/tests/models/User_spec.js new file mode 100644 index 0000000000..833fcaf271 --- /dev/null +++ b/tests/models/User_spec.js @@ -0,0 +1,41 @@ +process.env.NODE_ENV = 'test'; + +var User = require('../../models/User'); + +var mocha = require('mocha') + , chai = require('chai') + , expect = chai.expect + , mongoose = require('mongoose'); + +var user; + +describe('User attributes', function() { + before(function(done){ + user = createUser(); + done(); + }); + + it('_id is a mongoDB ObjectId', function() { + expect( user._id ).to.be.an.instanceOf(mongoose.Types.ObjectId); + }); + + it('email should be a string', function() { + expect( user.email ).to.be.a( 'string' ); + }); +}) + +function createUser(){ + var user = new User({ + email: getEmail(), + password: '__password__', + }); + user.save(); + return user; +} + +// create unique email address +// +// TODO - use an implementation that guarantees string uniqueness +function getEmail(){ + return new Date().getTime() + '@example.com'; +}