From 62e2114349a2c5ea9ed073f2b0dfc5f34591033f Mon Sep 17 00:00:00 2001 From: Victor Woeltjen Date: Fri, 6 Nov 2015 14:30:39 -0800 Subject: [PATCH] [Creation] Move test cases Move test cases from instantiation capability over to instantiate service. --- .../InstantiationCapabilitySpec.js | 44 ---------- .../core/test/services/InstantiateSpec.js | 84 +++++++++++++++++++ platform/core/test/suite.json | 1 + 3 files changed, 85 insertions(+), 44 deletions(-) create mode 100644 platform/core/test/services/InstantiateSpec.js diff --git a/platform/core/test/capabilities/InstantiationCapabilitySpec.js b/platform/core/test/capabilities/InstantiationCapabilitySpec.js index 3fac74d410..6712882bcc 100644 --- a/platform/core/test/capabilities/InstantiationCapabilitySpec.js +++ b/platform/core/test/capabilities/InstantiationCapabilitySpec.js @@ -65,50 +65,6 @@ define( expect(mockInstantiate).toHaveBeenCalledWith(testModel); }); - // TODO: Move to instantiate service - xdescribe("when creating an object", function () { - var mockCapabilityConstructor, - mockCapabilityInstance, - mockCapabilities, - testModel, - domainObject; - - beforeEach(function () { - mockCapabilityConstructor = jasmine.createSpy('capability'); - mockCapabilityInstance = {}; -// mockCapabilityService.getCapabilities.andReturn({ -// something: mockCapabilityConstructor -// }); - mockCapabilityConstructor.andReturn(mockCapabilityInstance); - - testModel = { someKey: "some value" }; - - domainObject = instantiation.instantiate(testModel); - }); - - it("loads capabilities from the capability service", function () { -// expect(mockCapabilityService.getCapabilities) -// .toHaveBeenCalledWith(testModel); - }); - - it("exposes loaded capabilities from the created object", function () { - expect(domainObject.getCapability('something')) - .toBe(mockCapabilityInstance); - expect(mockCapabilityConstructor) - .toHaveBeenCalledWith(domainObject); - }); - - it("exposes the provided model", function () { - expect(domainObject.getModel()).toEqual(testModel); - }); - - it("provides unique identifiers", function () { - expect(domainObject.getId()).toEqual(jasmine.any(String)); - expect(instantiation.instantiate(testModel).getId()) - .not.toEqual(domainObject.getId()); - }); - }); - }); } ); diff --git a/platform/core/test/services/InstantiateSpec.js b/platform/core/test/services/InstantiateSpec.js new file mode 100644 index 0000000000..4778e68722 --- /dev/null +++ b/platform/core/test/services/InstantiateSpec.js @@ -0,0 +1,84 @@ +/***************************************************************************** + * Open MCT Web, Copyright (c) 2014-2015, United States Government + * as represented by the Administrator of the National Aeronautics and Space + * Administration. All rights reserved. + * + * Open MCT Web is licensed under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0. + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * License for the specific language governing permissions and limitations + * under the License. + * + * Open MCT Web includes source code licensed under additional open source + * licenses. See the Open Source Licenses file (LICENSES.md) included with + * this source code distribution or the Licensing information page available + * at runtime from the About dialog for additional information. + *****************************************************************************/ +/*global define,Promise,describe,it,xdescribe,expect,beforeEach,waitsFor,jasmine*/ + +/** + * ContextCapability. Created by vwoeltje on 11/6/14. + */ +define( + ["../../src/services/Instantiate"], + function (Instantiate) { + 'use strict'; + + describe("The 'instantiate' service", function () { + + var mockCapabilityService, + mockCapabilityConstructor, + mockCapabilityInstance, + mockCapabilities, + testModel, + instantiate, + domainObject; + + beforeEach(function () { + mockCapabilityService = jasmine.createSpyObj( + 'capabilityService', + ['getCapabilities'] + ); + mockCapabilityConstructor = jasmine.createSpy('capability'); + mockCapabilityInstance = {}; + mockCapabilityService.getCapabilities.andReturn({ + something: mockCapabilityConstructor + }); + mockCapabilityConstructor.andReturn(mockCapabilityInstance); + + testModel = { someKey: "some value" }; + + instantiate = new Instantiate(mockCapabilityService); + domainObject = instantiate(testModel); + }); + + it("loads capabilities from the capability service", function () { + expect(mockCapabilityService.getCapabilities) + .toHaveBeenCalledWith(testModel); + }); + + it("exposes loaded capabilities from the created object", function () { + expect(domainObject.getCapability('something')) + .toBe(mockCapabilityInstance); + expect(mockCapabilityConstructor) + .toHaveBeenCalledWith(domainObject); + }); + + it("exposes the provided model", function () { + expect(domainObject.getModel()).toEqual(testModel); + }); + + it("provides unique identifiers", function () { + expect(domainObject.getId()).toEqual(jasmine.any(String)); + expect(instantiate(testModel).getId()) + .not.toEqual(domainObject.getId()); + }); + }); + + } +); diff --git a/platform/core/test/suite.json b/platform/core/test/suite.json index 390962f22a..d6afc373ef 100644 --- a/platform/core/test/suite.json +++ b/platform/core/test/suite.json @@ -26,6 +26,7 @@ "objects/DomainObjectProvider", "services/Contextualize", + "services/Instantiate", "services/Now", "services/Throttle", "services/Topic",