From 4743833f7c9c0e19a8b3734abcc04a054e6c4697 Mon Sep 17 00:00:00 2001 From: Victor Woeltjen Date: Tue, 22 Sep 2015 15:49:22 -0700 Subject: [PATCH] [Entanglement] Verify revalidation Verify that move/copy/link revalidate when performed and throw errors when moving/copying/linking would be invalid. nasa/openmctweb#98 --- .../entanglement/test/services/CopyServiceSpec.js | 14 ++++++++++++++ .../entanglement/test/services/LinkServiceSpec.js | 11 +++++++++++ .../entanglement/test/services/MoveServiceSpec.js | 11 +++++++++++ 3 files changed, 36 insertions(+) diff --git a/platform/entanglement/test/services/CopyServiceSpec.js b/platform/entanglement/test/services/CopyServiceSpec.js index 31c8dbccf4..0df6663bd7 100644 --- a/platform/entanglement/test/services/CopyServiceSpec.js +++ b/platform/entanglement/test/services/CopyServiceSpec.js @@ -285,6 +285,20 @@ define( }); }); + it("throws an expection when performed on invalid inputs", function () { + var copyService = + new CopyService(mockQ, creationService, policyService); + + function perform() { + copyService.perform(object, newParent); + } + + policyService.allow.andReturn(true); + expect(perform).not.toThrow(); + policyService.allow.andReturn(false); // Cause validate to fail + expect(perform).toThrow(); + }); + }); }); } diff --git a/platform/entanglement/test/services/LinkServiceSpec.js b/platform/entanglement/test/services/LinkServiceSpec.js index 5a92119e81..37e58c97d8 100644 --- a/platform/entanglement/test/services/LinkServiceSpec.js +++ b/platform/entanglement/test/services/LinkServiceSpec.js @@ -220,6 +220,17 @@ define( compositionPromise.resolve([linkedObject]); expect(whenComplete).toHaveBeenCalledWith(linkedObject); }); + + it("throws an expection when performed on invalid inputs", function () { + function perform() { + linkService.perform(object, parentObject); + } + + mockPolicyService.allow.andReturn(true); + expect(perform).not.toThrow(); + mockPolicyService.allow.andReturn(false); // Cause validate to fail + expect(perform).toThrow(); + }); }); }); } diff --git a/platform/entanglement/test/services/MoveServiceSpec.js b/platform/entanglement/test/services/MoveServiceSpec.js index 16eaa9dcbf..7bf7d0372f 100644 --- a/platform/entanglement/test/services/MoveServiceSpec.js +++ b/platform/entanglement/test/services/MoveServiceSpec.js @@ -196,6 +196,17 @@ define( .toHaveBeenCalledWith(jasmine.any(Function)); }); + it("throws an expection when performed on invalid inputs", function () { + function perform() { + moveService.perform(object, newParent); + } + + policyService.allow.andReturn(true); + expect(perform).not.toThrow(); + policyService.allow.andReturn(false); // Cause validate to fail + expect(perform).toThrow(); + }); + describe("when moving an original", function () { beforeEach(function () { locationCapability.getContextualLocation