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