Revision d7c10cbac3dc5208661a12289b33d626321a502e authored by Valeri Karpov on 23 December 2015, 21:58:19 UTC, committed by Valeri Karpov on 23 December 2015, 21:58:19 UTC
1 parent 1b44616
Raw File
schema.documentarray.test.js

/**
 * Module dependencies.
 */

var start = require('./common')
  , mongoose = start.mongoose
  , assert = require('assert')
  , Schema = mongoose.Schema;

/**
 * Test.
 */

describe('schema.documentarray', function() {
  it('defaults should be preserved', function(done) {
    var child = new Schema({ title: String });

    var schema1 = new Schema({ x: { type: [child], default: [{ title: 'Prometheus'}] }});
    var schema2 = new Schema({ x: { type: [child], default: { title: 'Prometheus'} }});
    var schema3 = new Schema({ x: { type: [child], default: function() { return [{ title: 'Prometheus'}];} }});

    var M = mongoose.model('DefaultDocArrays1', schema1);
    var N = mongoose.model('DefaultDocArrays2', schema2);
    var O = mongoose.model('DefaultDocArrays3', schema3);

    [M,N,O].forEach(function(M) {
      var m = new M;
      assert.ok(Array.isArray(m.x));
      assert.equal(1, m.x.length);
      assert.equal('Prometheus', m.x[0].title);
    });
    done();
  });
});
back to top