[Creation] Store location of new objects

The creation service stores the location (the full path) to
the domain object as "model.location"
This commit is contained in:
larkin
2015-06-30 10:55:23 -07:00
committed by Pete Richards
parent 2ca3c6ea93
commit 40e85b718d
2 changed files with 50 additions and 1 deletions

View File

@ -38,6 +38,7 @@ define(
mockMutationCapability,
mockPersistenceCapability,
mockCompositionCapability,
mockContextCapability,
mockCapabilities,
creationService;
@ -87,16 +88,30 @@ define(
"composition",
["invoke"]
);
mockContextCapability = jasmine.createSpyObj(
"context",
["getPath"]
);
mockCapabilities = {
mutation: mockMutationCapability,
persistence: mockPersistenceCapability,
composition: mockCompositionCapability
composition: mockCompositionCapability,
context: mockContextCapability
};
mockPersistenceService.createObject.andReturn(
mockPromise(true)
);
mockContextCapability.getPath.andReturn([
{
getId: function () { return 'root'; }
},
{
getId: function () { return 'parent'; }
}
]);
mockParentObject.getCapability.andCallFake(function (key) {
return mockCapabilities[key];
});
@ -194,6 +209,15 @@ define(
expect(mockLog.error).toHaveBeenCalled();
});
it("stores location on new domainObjects", function() {
var model = { name: "my model" };
var objectPromise = creationService.createObject(
model,
mockParentObject
);
expect(model.location).toBeDefined();
expect(model.location.indexOf('root/parent')).toBe(0);
});
});
}