loopback/test/e2e/replication.e2e.js

63 lines
1.9 KiB
JavaScript
Raw Normal View History

2014-04-16 14:33:17 +00:00
var path = require('path');
var loopback = require('../../');
var models = require('../fixtures/e2e/models');
var TestModel = models.TestModel;
var LocalTestModel = TestModel.extend('LocalTestModel');
var assert = require('assert');
describe('ReplicationModel', function () {
it('ReplicationModel.enableChangeTracking()', function (done) {
var TestReplicationModel = loopback.DataModel.extend('TestReplicationModel');
var remote = loopback.createDataSource({
url: 'http://localhost:3000/api',
connector: loopback.Remote
});
var testApp = loopback();
testApp.model(TestReplicationModel);
TestReplicationModel.attachTo(remote);
// chicken-egg condition
// getChangeModel() requires it to be attached to an app
// attaching to the app requires getChangeModel()
var Change = TestReplicationModel.getChangeModel();
testApp.model(Change);
Change.attachTo(remote);
TestReplicationModel.enableChangeTracking();
});
});
describe.skip('Replication', function() {
beforeEach(function() {
// setup the remote connector
var localApp = loopback();
var ds = loopback.createDataSource({
url: 'http://localhost:3000/api',
connector: loopback.Remote
});
localApp.model(TestModel);
localApp.model(LocalTestModel);
TestModel.attachTo(ds);
var memory = loopback.memory();
LocalTestModel.attachTo(memory);
// TODO(ritch) this should be internal...
LocalTestModel.getChangeModel().attachTo(memory);
LocalTestModel.enableChangeTracking();
// failing because change model is not properly attached
TestModel.enableChangeTracking();
});
it('should replicate local data to the remote', function (done) {
LocalTestModel.create({
foo: 'bar'
}, function() {
LocalTestModel.replicate(0, TestModel, function() {
console.log('replicated');
done();
});
});
});
});