From f12d0ab313d374f2394d445ef58428dd0eab60ed Mon Sep 17 00:00:00 2001 From: Victor Woeltjen Date: Wed, 21 Jan 2015 16:24:13 -0800 Subject: [PATCH] [Create] Test creation filtering Test that only types which indicate they should be createable appear in the Create menu. WTD-705. --- .../test/creation/CreateActionProviderSpec.js | 23 +++++++++++++++---- 1 file changed, 19 insertions(+), 4 deletions(-) diff --git a/platform/commonUI/browse/test/creation/CreateActionProviderSpec.js b/platform/commonUI/browse/test/creation/CreateActionProviderSpec.js index b93405afa6..6df86b7bfa 100644 --- a/platform/commonUI/browse/test/creation/CreateActionProviderSpec.js +++ b/platform/commonUI/browse/test/creation/CreateActionProviderSpec.js @@ -12,6 +12,7 @@ define( var mockTypeService, mockDialogService, mockCreationService, + mockTypes, provider; function createMockType(name) { @@ -23,9 +24,11 @@ define( "getName", "getDescription", "getProperties", - "getInitialModel" + "getInitialModel", + "hasFeature" ] ); + mockType.hasFeature.andReturn(true); mockType.getName.andReturn(name); return mockType; } @@ -43,10 +46,9 @@ define( "creationService", [ "createObject" ] ); + mockTypes = [ "A", "B", "C" ].map(createMockType); - mockTypeService.listTypes.andReturn( - [ "A", "B", "C" ].map(createMockType) - ); + mockTypeService.listTypes.andReturn(mockTypes); provider = new CreateActionProvider( mockTypeService, @@ -68,6 +70,19 @@ define( domainObject: {} }).length).toEqual(0); }); + + it("does not expose non-creatable types", function () { + // One of the types won't have the creation feature... + mockTypes[1].hasFeature.andReturn(false); + // ...so it should have been filtered out. + expect(provider.getActions({ + key: "create", + domainObject: {} + }).length).toEqual(2); + // Make sure it was creation which was used to check + expect(mockTypes[1].hasFeature) + .toHaveBeenCalledWith("creation"); + }); }); } ); \ No newline at end of file