From f83588d980a1aaf30d342e18fb6fd0a61b9c3e2a Mon Sep 17 00:00:00 2001 From: Victor Woeltjen Date: Fri, 4 Sep 2015 10:32:01 -0700 Subject: [PATCH] [Time Controller] Begin adding test cases WTD-1515 --- .../conductor/test/ConductorServiceSpec.js | 24 ++++++++++++++++- .../conductor/test/TimeConductorSpec.js | 27 +++++++++++++++++++ 2 files changed, 50 insertions(+), 1 deletion(-) diff --git a/platform/features/conductor/test/ConductorServiceSpec.js b/platform/features/conductor/test/ConductorServiceSpec.js index 152faa462a..5146ca5f42 100644 --- a/platform/features/conductor/test/ConductorServiceSpec.js +++ b/platform/features/conductor/test/ConductorServiceSpec.js @@ -29,8 +29,30 @@ define( function (ConductorService) { "use strict"; - describe("ConductorService", function () { + var TEST_NOW = 1020304050; + describe("ConductorService", function () { + var mockNow, + conductorService; + + beforeEach(function () { + mockNow = jasmine.createSpy('now'); + mockNow.andReturn(TEST_NOW); + conductorService = new ConductorService(mockNow); + }); + + it("initializes a time conductor around the current time", function () { + var conductor = conductorService.getConductor(); + expect(conductor.queryStart() <= TEST_NOW).toBeTruthy(); + expect(conductor.queryEnd() >= TEST_NOW).toBeTruthy(); + expect(conductor.queryEnd() > conductor.queryStart()) + .toBeTruthy(); + }); + + it("provides a single shared time conductor instance", function () { + expect(conductorService.getConductor()) + .toBe(conductorService.getConductor()); + }); }); } ); diff --git a/platform/features/conductor/test/TimeConductorSpec.js b/platform/features/conductor/test/TimeConductorSpec.js index 8e95f6f798..558322329e 100644 --- a/platform/features/conductor/test/TimeConductorSpec.js +++ b/platform/features/conductor/test/TimeConductorSpec.js @@ -30,6 +30,33 @@ define( "use strict"; describe("TimeConductor", function () { + var testStart, + testEnd, + conductor; + + beforeEach(function () { + testStart = 42; + testEnd = 12321; + conductor = new TimeConductor(testStart, testEnd); + }); + + it("provides accessors for query/display start/end times", function () { + expect(conductor.queryStart()).toEqual(testStart); + expect(conductor.queryEnd()).toEqual(testEnd); + expect(conductor.displayStart()).toEqual(testStart); + expect(conductor.displayEnd()).toEqual(testEnd); + }); + + it("provides setters for query/display start/end times", function () { + expect(conductor.queryStart(1)).toEqual(1); + expect(conductor.queryEnd(2)).toEqual(2); + expect(conductor.displayStart(3)).toEqual(3); + expect(conductor.displayEnd(4)).toEqual(4); + expect(conductor.queryStart()).toEqual(1); + expect(conductor.queryEnd()).toEqual(2); + expect(conductor.displayStart()).toEqual(3); + expect(conductor.displayEnd()).toEqual(4); + }); }); }