X-Git-Url: https://pwan.org/git/?p=tech-radar.git;a=blobdiff_plain;f=test%2Fmodels%2Fradar-spec.js;h=2c4d883d371f30bd00f45956d67f81d658926872;hp=8b565c764accc38fdc9a35b7ffee3954e3ce8c17;hb=abf96ef7f9d407aa7040be4bd32239793ef93c3d;hpb=38c2d784197a50fc941dc6016f5d6fe39bb95699 diff --git a/test/models/radar-spec.js b/test/models/radar-spec.js index 8b565c7..2c4d883 100644 --- a/test/models/radar-spec.js +++ b/test/models/radar-spec.js @@ -53,12 +53,46 @@ describe('tr.models.Radar', function () { expect(radar.quadrants().IV).toEqual(quadrant); }); + describe('blip numbers', function () { + var firstQuadrant, secondQuadrant, radar, firstCycle; + + beforeEach(function () { + firstCycle = new tr.models.Cycle('Adopt', 0); + firstQuadrant = new tr.models.Quadrant('First'); + secondQuadrant = new tr.models.Quadrant('Second'); + firstQuadrant.add([ + new tr.models.Blip('A', firstCycle), + new tr.models.Blip('B', firstCycle) + ]); + secondQuadrant.add([ + new tr.models.Blip('C', firstCycle), + new tr.models.Blip('D', firstCycle) + ]); + radar = new tr.models.Radar(); + }); + + it('sets blip numbers starting on the first quadrant', function () { + radar.setFirstQuadrant(firstQuadrant); + + expect(radar.quadrants().I.blips()[0].number()).toEqual(1); + expect(radar.quadrants().I.blips()[1].number()).toEqual(2); + }); + + it('continues the number from the previous quadrant set', function () { + radar.setFirstQuadrant(firstQuadrant); + radar.setSecondQuadrant(secondQuadrant); + + expect(radar.quadrants().II.blips()[0].number()).toEqual(3); + expect(radar.quadrants().II.blips()[1].number()).toEqual(4); + }); + }); + describe('cycles', function () { var quadrant, radar, firstCycle, secondCycle; beforeEach(function () { - firstCycle = new tr.models.Cycle('Adopt'); - secondCycle = new tr.models.Cycle('Hold'); + firstCycle = new tr.models.Cycle('Adopt', 0); + secondCycle = new tr.models.Cycle('Hold', 1); quadrant = new tr.models.Quadrant('Fourth'); radar = new tr.models.Radar(); }); @@ -85,5 +119,17 @@ describe('tr.models.Radar', function () { expect(radar.cycles()).toEqual([firstCycle, secondCycle]); }); + + it('has sorts by the cycle order', function () { + quadrant.add([ + new tr.models.Blip('C', secondCycle), + new tr.models.Blip('A', firstCycle), + new tr.models.Blip('B', firstCycle) + ]); + + radar.setFirstQuadrant(quadrant); + + expect(radar.cycles()).toEqual([firstCycle, secondCycle]); + }); }); });