import { angularViewArrayFactory } from './angular-view-array'; import { ViewArrayImpl } from './view-array.impl'; describe("Service: AngularViewArray", () => { var angularViewArray: any; var $interval: ng.IIntervalService; beforeEach(inject(($injector: ng.auto.IInjectorService) => { $interval = $injector.get('$interval'); angularViewArray = angularViewArrayFactory($interval); })); describe("create", () => { it("sanity", () => { expect(angularViewArrayFactory).toBeDefined(); }); // it("returns a ViewArray object", () => { // var viewArray: ViewArrayImpl = angularViewArray.create(); // // expect(viewArray).toBeDefined(); // }); // describe("returned ViewArray object", () => { // var viewArray: ViewArrayImpl; // // beforeEach(() => { // viewArray = angularViewArray.create(); // }); // // describe("constructor", () => { // // TODO // }); // // describe("length", () => { // // it("returns the number of entries", () => { // viewArray.entries = [{}, {}, {}]; // // expect(viewArray.length()).toEqual(viewArray.entries.length); // }); // }); // // describe("get", () => { // // it("returns the entry at a given index", () => { // var index: number = 8; // viewArray.entries = new Array(10); // viewArray.entries[index] = 3; // // expect(viewArray.get(index)).toEqual(viewArray.entries[index]); // }); // }); // // describe("push", () => { // // it("adds given element to the end of entries", () => { // var element: number = 3; // var originalLength: number = viewArray.length(); // viewArray.push(element); // // expect(viewArray.entries.length).toEqual(originalLength + 1); // expect(viewArray.get(originalLength)).toEqual(element); // }); // // it("sets 'hasEntries' to true", () => { // viewArray.push(2); // // expect(viewArray.hasEntries).toBe(true); // }); // // it("starts timer if 'isVisible' is true", () => { // spyOn(viewArray, "startTimer_").and.returnValue(null); // viewArray.isVisible = true; // viewArray.push(2); // // expect(viewArray.startTimer_).toHaveBeenCalled(); // }); // // it("does not start timer if 'isVisible' is false", () => { // spyOn(viewArray, "startTimer_").and.returnValue(null); // viewArray.isVisible = false; // viewArray.push(2); // // expect(viewArray.startTimer_).not.toHaveBeenCalled(); // }); // }); // // describe("toggle", () => { // // it("sets 'isVisible' to false if currently true", () => { // viewArray.isVisible = true; // viewArray.toggle(); // // expect(viewArray.isVisible).toBe(false); // }); // // it("sets 'isVisible' to true if currently false", () => { // viewArray.isVisible = false; // viewArray.toggle(); // // expect(viewArray.isVisible).toBe(true); // }); // }); // // describe("setVisible", () => { // // it("sets 'isVisible' to false if given false", () => { // viewArray.setVisible(false); // // expect(viewArray.isVisible).toBe(false); // }); // // it("sets 'visibleEntries' to empty array if given false", () => { // viewArray.setVisible(false); // // expect(viewArray.visibleEntries.length).toEqual(0); // }); // // it("shows additional entries if given true", () => { // spyOn(viewArray, "showAdditionalEntries_").and.returnValue(null); // viewArray.setVisible(true); // // expect(viewArray.showAdditionalEntries_).toHaveBeenCalled(); // }); // // it("does not show additional entries if given false", () => { // spyOn(viewArray, "showAdditionalEntries_").and.returnValue(null); // viewArray.setVisible(false); // // expect(viewArray.showAdditionalEntries_).not.toHaveBeenCalled(); // }); // // it("starts timer if given true", () => { // spyOn(viewArray, "startTimer_").and.returnValue(null); // viewArray.setVisible(true); // // expect(viewArray.startTimer_).toHaveBeenCalled(); // }); // // it("stops timer if given false", () => { // spyOn(viewArray, "stopTimer_").and.returnValue(null); // viewArray.setVisible(true); // // expect(viewArray.stopTimer_).toHaveBeenCalled(); // }); // }); // }); }); });