before(function () {
      factory = new Factory();
      factory.setAdapter(adapter);

      factory.define('author', Author);
      factory.define('book', Book, {
        author_id: factory.assoc('author', 'id')
      });
    });
    before(function() {
      factory = new Factory();
      factory.setAdapter(adapter);

      Parent = Model.extend({
        tableName: 'test',
        children: function() {
          return this.hasMany(Child, 'parent_id');
        }
      });
      Child = Model.extend({
        tableName: 'children',
        parent: function() {
          return this.belongsTo(Parent, 'parent_id');
        }
      });

      factory.define('parent', Parent);
      factory.define('child', Child, {
        parent_id: factory.assoc('parent', 'id')
      });
    });
Example #3
0
const chance = new Chance()

BookshelfAdapter.prototype.build = (Model, props) => {
  return new Model(props)
}

BookshelfAdapter.prototype.save = (doc, Model, cb) => {
  const options = {method: 'insert'}
  return doc.save({}, options).nodeify(cb)
}

BookshelfAdapter.prototype.destroy = (doc, Model, cb) => {
  if (!doc.id) {
    return process.nextTick(cb)
  }
  return doc.destroy().nodeify(cb)
}

const factory = new Factory()

factory.setAdapter(new BookshelfAdapter())
factory.chance = chance
state(factory)
toggle(factory)
group(factory)
login(factory)
user(factory)

module.exports = factory.promisify(Promise)