mirror of
https://github.com/nasa/openmct.git
synced 2025-06-22 00:57:11 +00:00
[Creation] Update CreationService spec
This commit is contained in:
@ -30,9 +30,7 @@ define(
|
|||||||
"use strict";
|
"use strict";
|
||||||
|
|
||||||
describe("The creation service", function () {
|
describe("The creation service", function () {
|
||||||
var mockPersistenceService,
|
var mockQ,
|
||||||
mockNow,
|
|
||||||
mockQ,
|
|
||||||
mockLog,
|
mockLog,
|
||||||
mockParentObject,
|
mockParentObject,
|
||||||
mockNewObject,
|
mockNewObject,
|
||||||
@ -40,7 +38,9 @@ define(
|
|||||||
mockPersistenceCapability,
|
mockPersistenceCapability,
|
||||||
mockCompositionCapability,
|
mockCompositionCapability,
|
||||||
mockContextCapability,
|
mockContextCapability,
|
||||||
|
mockCreationCapability,
|
||||||
mockCapabilities,
|
mockCapabilities,
|
||||||
|
mockNewPersistenceCapability,
|
||||||
creationService;
|
creationService;
|
||||||
|
|
||||||
function mockPromise(value) {
|
function mockPromise(value) {
|
||||||
@ -60,11 +60,6 @@ define(
|
|||||||
}
|
}
|
||||||
|
|
||||||
beforeEach(function () {
|
beforeEach(function () {
|
||||||
mockPersistenceService = jasmine.createSpyObj(
|
|
||||||
"persistenceService",
|
|
||||||
[ "createObject" ]
|
|
||||||
);
|
|
||||||
mockNow = jasmine.createSpy('now');
|
|
||||||
mockQ = { when: mockPromise, reject: mockReject };
|
mockQ = { when: mockPromise, reject: mockReject };
|
||||||
mockLog = jasmine.createSpyObj(
|
mockLog = jasmine.createSpyObj(
|
||||||
"$log",
|
"$log",
|
||||||
@ -76,7 +71,7 @@ define(
|
|||||||
);
|
);
|
||||||
mockNewObject = jasmine.createSpyObj(
|
mockNewObject = jasmine.createSpyObj(
|
||||||
"newObject",
|
"newObject",
|
||||||
[ "getId" ]
|
[ "getId", "getCapability", "useCapability" ]
|
||||||
);
|
);
|
||||||
mockMutationCapability = jasmine.createSpyObj(
|
mockMutationCapability = jasmine.createSpyObj(
|
||||||
"mutation",
|
"mutation",
|
||||||
@ -94,19 +89,22 @@ define(
|
|||||||
"context",
|
"context",
|
||||||
["getPath"]
|
["getPath"]
|
||||||
);
|
);
|
||||||
|
mockCreationCapability = jasmine.createSpyObj(
|
||||||
|
"creation",
|
||||||
|
["create", "invoke"]
|
||||||
|
);
|
||||||
mockCapabilities = {
|
mockCapabilities = {
|
||||||
mutation: mockMutationCapability,
|
mutation: mockMutationCapability,
|
||||||
persistence: mockPersistenceCapability,
|
persistence: mockPersistenceCapability,
|
||||||
composition: mockCompositionCapability,
|
composition: mockCompositionCapability,
|
||||||
context: mockContextCapability
|
context: mockContextCapability,
|
||||||
|
creation: mockCreationCapability
|
||||||
};
|
};
|
||||||
|
mockNewPersistenceCapability = jasmine.createSpyObj(
|
||||||
mockPersistenceService.createObject.andReturn(
|
"new-persistence",
|
||||||
mockPromise(true)
|
[ "persist", "getSpace" ]
|
||||||
);
|
);
|
||||||
|
|
||||||
mockNow.andReturn(12321);
|
|
||||||
|
|
||||||
mockParentObject.getCapability.andCallFake(function (key) {
|
mockParentObject.getCapability.andCallFake(function (key) {
|
||||||
return mockCapabilities[key];
|
return mockCapabilities[key];
|
||||||
});
|
});
|
||||||
@ -115,9 +113,16 @@ define(
|
|||||||
});
|
});
|
||||||
mockParentObject.getId.andReturn('parentId');
|
mockParentObject.getId.andReturn('parentId');
|
||||||
|
|
||||||
mockPersistenceCapability.persist.andReturn(
|
mockNewObject.getId.andReturn('newId');
|
||||||
mockPromise(true)
|
mockNewObject.getCapability.andCallFake(function (c) {
|
||||||
);
|
return c === 'persistence' ?
|
||||||
|
mockNewPersistenceCapability : undefined;
|
||||||
|
});
|
||||||
|
|
||||||
|
mockPersistenceCapability.persist
|
||||||
|
.andReturn(mockPromise(true));
|
||||||
|
mockNewPersistenceCapability.persist
|
||||||
|
.andReturn(mockPromise(true));
|
||||||
|
|
||||||
mockMutationCapability.invoke.andReturn(mockPromise(true));
|
mockMutationCapability.invoke.andReturn(mockPromise(true));
|
||||||
mockPersistenceCapability.getSpace.andReturn("testSpace");
|
mockPersistenceCapability.getSpace.andReturn("testSpace");
|
||||||
@ -125,10 +130,12 @@ define(
|
|||||||
mockPromise([mockNewObject])
|
mockPromise([mockNewObject])
|
||||||
);
|
);
|
||||||
mockCompositionCapability.add.andReturn(mockPromise(true));
|
mockCompositionCapability.add.andReturn(mockPromise(true));
|
||||||
|
mockCreationCapability.create.andReturn(mockNewObject);
|
||||||
|
mockCreationCapability.invoke.andCallFake(function (model) {
|
||||||
|
return mockCreationCapability.create(model);
|
||||||
|
});
|
||||||
|
|
||||||
creationService = new CreationService(
|
creationService = new CreationService(
|
||||||
mockPersistenceService,
|
|
||||||
mockNow,
|
|
||||||
mockQ,
|
mockQ,
|
||||||
mockLog
|
mockLog
|
||||||
);
|
);
|
||||||
@ -137,21 +144,18 @@ define(
|
|||||||
it("allows new objects to be created", function () {
|
it("allows new objects to be created", function () {
|
||||||
var model = { someKey: "some value" };
|
var model = { someKey: "some value" };
|
||||||
creationService.createObject(model, mockParentObject);
|
creationService.createObject(model, mockParentObject);
|
||||||
expect(mockPersistenceService.createObject).toHaveBeenCalledWith(
|
expect(mockCreationCapability.create)
|
||||||
"testSpace",
|
.toHaveBeenCalledWith(model);
|
||||||
jasmine.any(String), // the object id; generated UUID
|
|
||||||
model
|
|
||||||
);
|
|
||||||
});
|
});
|
||||||
|
|
||||||
it("adds new id's to the parent's composition", function () {
|
it("adds new objects to the parent's composition", function () {
|
||||||
var model = { someKey: "some value" },
|
var model = { someKey: "some value" },
|
||||||
parentModel = { composition: ["notAnyUUID"] };
|
parentModel = { composition: ["notAnyUUID"] };
|
||||||
creationService.createObject(model, mockParentObject);
|
creationService.createObject(model, mockParentObject);
|
||||||
|
|
||||||
// Verify that a new ID was added
|
// Verify that a new ID was added
|
||||||
expect(mockCompositionCapability.add)
|
expect(mockCompositionCapability.add)
|
||||||
.toHaveBeenCalledWith(jasmine.any(String));
|
.toHaveBeenCalledWith(mockNewObject);
|
||||||
});
|
});
|
||||||
|
|
||||||
it("provides the newly-created object", function () {
|
it("provides the newly-created object", function () {
|
||||||
@ -207,11 +211,6 @@ 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());
|
|
||||||
});
|
|
||||||
|
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
Reference in New Issue
Block a user