From b3bc8b6876339e091e1f4575e6277d22602e4664 Mon Sep 17 00:00:00 2001 From: Shivam Dave Date: Thu, 23 Jul 2015 09:28:36 -0700 Subject: [PATCH] [Mobile[ Tests Added jasmine test for QUerySerivce and adjusted the InfoGestureSpec to account for use of QueryService. --- .../general/src/services/QueryService.js | 2 +- .../general/test/services/QueryServiceSpec.js | 69 +++++++++++++++++++ .../general/test/services/UrlServiceSpec.js | 2 +- platform/commonUI/general/test/suite.json | 1 + .../inspect/test/gestures/InfoGestureSpec.js | 3 + 5 files changed, 75 insertions(+), 2 deletions(-) create mode 100644 platform/commonUI/general/test/services/QueryServiceSpec.js diff --git a/platform/commonUI/general/src/services/QueryService.js b/platform/commonUI/general/src/services/QueryService.js index 90c8aed53a..f5352c9e69 100644 --- a/platform/commonUI/general/src/services/QueryService.js +++ b/platform/commonUI/general/src/services/QueryService.js @@ -58,7 +58,7 @@ define( // Returns the orientation of the device based on the // device's window dimensions - function getOrientation(screenWidth, screenHeight) { + function getOrientation() { if ($window.outerWidth > $window.outerHeight) { return "landscape"; } else if ($window.outerWidth < $window.outerHeight) { diff --git a/platform/commonUI/general/test/services/QueryServiceSpec.js b/platform/commonUI/general/test/services/QueryServiceSpec.js new file mode 100644 index 0000000000..8469d21fe1 --- /dev/null +++ b/platform/commonUI/general/test/services/QueryServiceSpec.js @@ -0,0 +1,69 @@ +/***************************************************************************** + * 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,expect,beforeEach,waitsFor,jasmine*/ + +/** + * MCTRepresentationSpec. Created by vwoeltje on 11/6/14. + */ +define( + ["../../src/services/QueryService"], + function (QueryService) { + "use strict"; + + describe("The url service", function () { + var queryService, + mockWindow, + mockNavigator; + + beforeEach(function () { + // Creates a mockLocation, used to + // do the view search + mockWindow = jasmine.createSpyObj( + "$window", + [ "outerWidth", "outerHeight" ] + ); + + mockNavigator = jasmine.createSpyObj( + "navigator", + [ "userAgent" ] + ); + + queryService = new QueryService(mockWindow); + }); + + it("get current device user agent", function () { + queryService.isMobile(); + mockNavigator.userAgent = "Mozilla/5.0 (iPad; CPU OS 7_0 like Mac OS X) AppleWebKit/537.51.1 (KHTML, like Gecko) Version/7.0 Mobile/11A465 Safari/9537.53"; + queryService.isMobile(); + }); + + it("get orientation of the current device", function () { + mockWindow.outerWidth = 768; + mockWindow.outerHeight = 1024; + queryService.getOrientation(); + mockWindow.outerWidth = 1024; + mockWindow.outerHeight = 768; + queryService.getOrientation(); + }); + }); + } +); \ No newline at end of file diff --git a/platform/commonUI/general/test/services/UrlServiceSpec.js b/platform/commonUI/general/test/services/UrlServiceSpec.js index daff0c5448..f8526c4b5b 100644 --- a/platform/commonUI/general/test/services/UrlServiceSpec.js +++ b/platform/commonUI/general/test/services/UrlServiceSpec.js @@ -91,7 +91,7 @@ define( it("get url for a new tab using domainObject and mode", function () { urlService.urlForNewTab(mockMode, mockDomainObject); - }); + }); }); } ); \ No newline at end of file diff --git a/platform/commonUI/general/test/suite.json b/platform/commonUI/general/test/suite.json index 37fc4c4b78..08240b6044 100644 --- a/platform/commonUI/general/test/suite.json +++ b/platform/commonUI/general/test/suite.json @@ -13,6 +13,7 @@ "directives/MCTDrag", "directives/MCTResize", "directives/MCTScroll", + "services/QueryService", "services/UrlService", "StyleSheetLoader" ] \ No newline at end of file diff --git a/platform/commonUI/inspect/test/gestures/InfoGestureSpec.js b/platform/commonUI/inspect/test/gestures/InfoGestureSpec.js index 44f2b1e54b..a9a83eeb5a 100644 --- a/platform/commonUI/inspect/test/gestures/InfoGestureSpec.js +++ b/platform/commonUI/inspect/test/gestures/InfoGestureSpec.js @@ -28,6 +28,7 @@ define( describe("The info gesture", function () { var mockTimeout, + mockQueryService, mockInfoService, testDelay = 12321, mockElement, @@ -50,6 +51,7 @@ define( beforeEach(function () { mockTimeout = jasmine.createSpy('$timeout'); mockTimeout.cancel = jasmine.createSpy('cancel'); + mockQueryService = jasmine.createSpyObj('queryService', ['isMobile']); mockInfoService = jasmine.createSpyObj( 'infoService', [ 'display' ] @@ -79,6 +81,7 @@ define( gesture = new InfoGesture( mockTimeout, + mockQueryService, mockInfoService, testDelay, mockElement,