Merge remote-tracking branch 'github-open/open139-1' into open-master

This commit is contained in:
Pete Richards
2015-09-23 13:51:55 -07:00
3 changed files with 15 additions and 2 deletions

View File

@ -154,7 +154,7 @@
"provides": "creationService", "provides": "creationService",
"type": "provider", "type": "provider",
"implementation": "creation/CreationService.js", "implementation": "creation/CreationService.js",
"depends": [ "persistenceService", "$q", "$log" ] "depends": [ "persistenceService", "now", "$q", "$log" ]
} }
], ],
"runs": [ "runs": [

View File

@ -42,10 +42,11 @@ define(
* @memberof platform/commonUI/browse * @memberof platform/commonUI/browse
* @constructor * @constructor
*/ */
function CreationService(persistenceService, $q, $log) { function CreationService(persistenceService, now, $q, $log) {
this.persistenceService = persistenceService; this.persistenceService = persistenceService;
this.$q = $q; this.$q = $q;
this.$log = $log; this.$log = $log;
this.now = now;
} }
/** /**
@ -114,6 +115,7 @@ define(
// 2. Create a model with that ID in the persistence space // 2. Create a model with that ID in the persistence space
// 3. Add that ID to // 3. Add that ID to
return self.$q.when(uuid()).then(function (id) { return self.$q.when(uuid()).then(function (id) {
model.persisted = self.now();
return doPersist(persistence.getSpace(), id, model); return doPersist(persistence.getSpace(), id, model);
}).then(function (id) { }).then(function (id) {
return addToComposition(id, parent, persistence); return addToComposition(id, parent, persistence);

View File

@ -31,6 +31,7 @@ define(
describe("The creation service", function () { describe("The creation service", function () {
var mockPersistenceService, var mockPersistenceService,
mockNow,
mockQ, mockQ,
mockLog, mockLog,
mockParentObject, mockParentObject,
@ -63,6 +64,7 @@ define(
"persistenceService", "persistenceService",
[ "createObject" ] [ "createObject" ]
); );
mockNow = jasmine.createSpy('now');
mockQ = { when: mockPromise, reject: mockReject }; mockQ = { when: mockPromise, reject: mockReject };
mockLog = jasmine.createSpyObj( mockLog = jasmine.createSpyObj(
"$log", "$log",
@ -103,6 +105,8 @@ define(
mockPromise(true) mockPromise(true)
); );
mockNow.andReturn(12321);
mockParentObject.getCapability.andCallFake(function (key) { mockParentObject.getCapability.andCallFake(function (key) {
return mockCapabilities[key]; return mockCapabilities[key];
}); });
@ -124,6 +128,7 @@ define(
creationService = new CreationService( creationService = new CreationService(
mockPersistenceService, mockPersistenceService,
mockNow,
mockQ, mockQ,
mockLog mockLog
); );
@ -202,6 +207,12 @@ define(
expect(mockLog.error).toHaveBeenCalled(); expect(mockLog.error).toHaveBeenCalled();
}); });
it("attaches a 'persisted' timestamp", function () {
var model = { someKey: "some value" };
creationService.createObject(model, mockParentObject);
expect(model.persisted).toEqual(mockNow());
});
}); });
} }
); );