From 0b0753df311bf5ad797ced1d5e809e824bcbc5f6 Mon Sep 17 00:00:00 2001 From: Victor Woeltjen Date: Tue, 31 Mar 2015 15:58:13 -0700 Subject: [PATCH] [Edit] Add test cases Add test cases for EditController to account for changes to support warning dialog when unsaved changes are present, WTD-1035. --- .../test/controllers/EditControllerSpec.js | 27 +++++++++++++++---- 1 file changed, 22 insertions(+), 5 deletions(-) diff --git a/platform/commonUI/edit/test/controllers/EditControllerSpec.js b/platform/commonUI/edit/test/controllers/EditControllerSpec.js index f945c499b8..b66a7fb52d 100644 --- a/platform/commonUI/edit/test/controllers/EditControllerSpec.js +++ b/platform/commonUI/edit/test/controllers/EditControllerSpec.js @@ -41,17 +41,17 @@ define( ); }); - it("places the currently-navigated object in scope", function () { - expect(mockScope.navigatedObject).toBeDefined(); - expect(mockScope.navigatedObject.getId()).toEqual("test"); + it("exposes the currently-navigated object", function () { + expect(controller.navigatedObject()).toBeDefined(); + expect(controller.navigatedObject().getId()).toEqual("test"); }); it("adds an editor capability to the navigated object", function () { // Should provide an editor capability... - expect(mockScope.navigatedObject.getCapability("editor")) + expect(controller.navigatedObject().getCapability("editor")) .toBeDefined(); // Shouldn't have been the mock capability we provided - expect(mockScope.navigatedObject.getCapability("editor")) + expect(controller.navigatedObject().getCapability("editor")) .not.toEqual(mockCapability); }); @@ -76,6 +76,23 @@ define( .toHaveBeenCalledWith(navCallback); }); + it("exposes a warning message for unload", function () { + var obj = controller.navigatedObject(), + mockEditor = jasmine.createSpyObj('editor', ['dirty']); + + // Normally, should be undefined + expect(controller.getUnloadWarning()).toBeUndefined(); + + // Override the object's editor capability, make it look + // like there are unsaved changes. + obj.getCapability = jasmine.createSpy(); + obj.getCapability.andReturn(mockEditor); + mockEditor.dirty.andReturn(true); + + // Should have some warning message here now + expect(controller.getUnloadWarning()).toEqual(jasmine.any(String)); + }); + }); } ); \ No newline at end of file