Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP
Browse files

Added datatypes tests

  • Loading branch information...
commit 9fc4e5e887f6cd7e714696de41f4c529d6ea4360 1 parent 67d186e
@1602 authored
Showing with 59 additions and 0 deletions.
  1. +1 −0  test/common.batch.js
  2. +58 −0 test/datatype.test.js
View
1  test/common.batch.js
@@ -1,3 +1,4 @@
+require('./datatype.test.js');
require('./basic-querying.test.js');
require('./hooks.test.js');
require('./relations.test.js');
View
58 test/datatype.test.js
@@ -0,0 +1,58 @@
+var db, Model;
+var should = require('should');
+
+describe.only('datatypes', function() {
+
+ before(function(done){
+ db = getSchema();
+ Model = db.define('Model', {
+ str: String,
+ date: Date,
+ num: Number,
+ bool: Boolean,
+ list: {type: []},
+ });
+ db.automigrate(function() {
+ Model.destroyAll(done);
+ });
+ });
+
+ it('should keep types when get read data from db', function(done) {
+ var d = new Date, id;
+ Model.create({
+ str: 'hello', date: d, num: 3, bool: true, list: ['test']
+ }, function(err, m) {
+ should.not.exist(err);
+ should.exist(m && m.id);
+ id = m.id;
+ testFind(testAll);
+ });
+
+ function testFind(next) {
+ Model.find(id, function(err, m) {
+ should.not.exist(err);
+ should.exist(m);
+ m.str.should.be.a('string');
+ m.num.should.be.a('number');
+ m.bool.should.be.a('boolean');
+ m.date.should.be.an.instanceOf(Date);
+ m.date.toString().should.equal(d.toString(), 'Time must match');
+ next();
+ });
+ }
+
+ function testAll() {
+ Model.findOne(function(err, m) {
+ should.not.exist(err);
+ should.exist(m);
+ m.str.should.be.a('string');
+ m.num.should.be.a('number');
+ m.bool.should.be.a('boolean');
+ m.date.should.be.an.instanceOf(Date);
+ m.date.toString().should.equal(d.toString(), 'Time must match');
+ done();
+ });
+ }
+ });
+
+});
Please sign in to comment.
Something went wrong with that request. Please try again.