[New Edit Mode] #636 Modified EditAndCompose action to rely on a slightly refactored EditActionPolicy to remove folder specific logic

This commit is contained in:
Henry
2016-05-20 10:23:05 -07:00
parent 54a0de4a08
commit 601bc03ba2
3 changed files with 28 additions and 17 deletions

View File

@@ -32,6 +32,7 @@ define(
mockComposition,
mockPersistence,
mockActionCapability,
mockEditAction,
mockType,
actionContext,
model,
@@ -69,7 +70,8 @@ define(
mockComposition = jasmine.createSpyObj("composition", [ "invoke", "add" ]);
mockPersistence = jasmine.createSpyObj("persistence", [ "persist" ]);
mockType = jasmine.createSpyObj("type", [ "hasFeature", "getKey" ]);
mockActionCapability = jasmine.createSpyObj("actionCapability", [ "perform"]);
mockActionCapability = jasmine.createSpyObj("actionCapability", [ "getActions"]);
mockEditAction = jasmine.createSpyObj("editAction", ["perform"]);
mockDomainObject.getId.andReturn("test");
mockDomainObject.getCapability.andReturn(mockContext);
@@ -78,6 +80,7 @@ define(
mockType.getKey.andReturn("layout");
mockComposition.invoke.andReturn(mockPromise(true));
mockComposition.add.andReturn(mockPromise(true));
mockActionCapability.getActions.andReturn([]);
capabilities = {
composition: mockComposition,
@@ -109,9 +112,19 @@ define(
expect(mockPersistence.persist).toHaveBeenCalled();
});
it("enables edit mode", function () {
it("enables edit mode for objects that have an edit action", function () {
mockActionCapability.getActions.andReturn([mockEditAction]);
action.perform();
expect(mockActionCapability.perform).toHaveBeenCalledWith("edit");
expect(mockEditAction.perform).toHaveBeenCalled();
});
it("Does not enable edit mode for objects that do not have an" +
" edit action", function () {
mockActionCapability.getActions.andReturn([]);
action.perform();
expect(mockEditAction.perform).not.toHaveBeenCalled();
expect(mockComposition.add)
.toHaveBeenCalledWith(mockDomainObject);
});
});