From afa7c2d69fcd6fbf5a5a6b09c6c1d093ed76a9e3 Mon Sep 17 00:00:00 2001 From: kialam Date: Fri, 30 Nov 2018 13:58:13 -0500 Subject: [PATCH] Update unit tests. --- awx/ui/test/unit/components/stream.unit.js | 168 ++++++++++----------- 1 file changed, 82 insertions(+), 86 deletions(-) diff --git a/awx/ui/test/unit/components/stream.unit.js b/awx/ui/test/unit/components/stream.unit.js index e51b2ef9da..c4343d59b7 100644 --- a/awx/ui/test/unit/components/stream.unit.js +++ b/awx/ui/test/unit/components/stream.unit.js @@ -1,101 +1,97 @@ import StreamService from '~features/output/stream.service'; describe('Output | StreamService', () => { - angular.module('test', []).service('StreamService', StreamService); - let stream; + angular.module('test', []).service('StreamService', StreamService); + let stream; - beforeEach(() => { - angular.mock.module('test'); - }); - - beforeEach(angular.mock.inject(($injector) => { - stream = $injector.get('StreamService'); - - const onFrames = angular.noop; - const onFrameRate = angular.noop; - - stream.init({ onFrames, onFrameRate }); - })); - - describe('calcFactors', () => { - it('returns the expected values', () => { - const params = [ - [-1, [1]], - [0, [1]], - [1, [1]], - [1.0, [1]], - [1.1, [1]], - [2, [1, 2]], - ['1', [1]], - [{}, [1]], - [null, [1]], - [undefined, [1]], - [250, [1, 2, 5, 10, 25, 50, 125, 250]] - ]; - - params.forEach(([size, expected]) => expect(stream.calcFactors(size)).toEqual(expected)); - }); - }); - - describe('setMissingCounterThreshold', () => { - it('returns the correct counter threshold', () => { - const gt = 2; - stream.setMissingCounterThreshold(gt); - expect(stream.counters.min).toEqual(gt); - - const lt = -1; - stream.setMissingCounterThreshold(lt); - expect(stream.counters.min).toEqual(gt); - }); - }); - - describe('isReadyToRender', () => { - it('returns false', () => { - const res = stream.isReadyToRender(); - expect(res).toBe(false); + beforeEach(() => { + angular.mock.module('test'); }); - it('returns true', () => { - stream.counters.min = 1; - stream.counters.ready = 2; - stream.state.ending = true; - let res = stream.isReadyToRender(); - expect(res).toBe(true); + beforeEach(angular.mock.inject(($injector) => { + stream = $injector.get('StreamService'); - stream.counters.total = 1; - stream.framesPerRender = 1; + const onFrames = angular.noop; + const onFrameRate = angular.noop; - res = stream.isReadyToRender(); - expect(res).toBe(true); + stream.init({ onFrames, onFrameRate }); + })); + + describe('calcFactors', () => { + it('returns the expected values', () => { + const params = [ + [-1, [1]], + [0, [1]], + [1, [1]], + [1.0, [1]], + [1.1, [1]], + [2, [1, 2]], + ['1', [1]], + [{}, [1]], + [null, [1]], + [undefined, [1]], + [250, [1, 2, 5, 10, 25, 50, 125, 250]] + ]; + + params.forEach(([size, expected]) => + expect(stream.calcFactors(size)).toEqual(expected)); + }); }); - }); - describe('getMaxCounter', () => { - it('returns the same value as max counter', () => { - const res = stream.getMaxCounter(); - expect(res).toEqual(stream.counters.max); - }); - }); + describe('setMissingCounterThreshold', () => { + it('returns the correct counter threshold', () => { + const gt = 2; + stream.setMissingCounterThreshold(gt); + expect(stream.counters.min).toEqual(gt); - describe('getReadyCount', () => { - it('references min and max counters', () => { - expect(stream.getReadyCount()).toEqual(stream.counters.max - stream.counters.min + 1); + const lt = -1; + stream.setMissingCounterThreshold(lt); + expect(stream.counters.min).toEqual(gt); + }); }); - it('returns expected values if min or max value is a non-integer', () => { - const params = [ - [null, 1, 0], - [undefined, 1, NaN], - ['1', 1, 1], - [-1, -3, 3], - [0, 0, 1], - [6, 5, 2] - ]; - params.forEach(([x, y, z]) => { - stream.counters.ready = x; - stream.counters.min = y; - expect(stream.getReadyCount()).toEqual(z); - }); + describe('isReadyToRender', () => { + it("it's never ready to render unless the result of getReadyCount is greater than 0", () => { + const params = [ + [-1, false], + [0, false], + [1, true] + ]; + const spy = spyOn(stream, 'getReadyCount'); + + params.forEach(([readyCount, expected]) => { + spy.and.returnValue(readyCount); + expect(stream.isReadyToRender()).toEqual(expected); + }); + }); + }); + + describe('getMaxCounter', () => { + it('returns the same value as max counter', () => { + const res = stream.getMaxCounter(); + expect(res).toEqual(stream.counters.max); + }); + }); + + describe('getReadyCount', () => { + it('references min and max counters', () => { + expect(stream.getReadyCount()).toEqual(stream.counters.max - stream.counters.min + 1); + }); + it('returns expected values if min or max value is a non-integer', () => { + const params = [ + [null, 1, 0], + [undefined, 1, NaN], + ['1', 1, 1], + [-1, -3, 3], + [0, 0, 1], + [6, 5, 2] + ]; + + params.forEach(([max, min, expected]) => { + stream.counters.ready = max; + stream.counters.min = min; + expect(stream.getReadyCount()).toEqual(expected); + }); + }); }); - }); });