X-Git-Url: https://pwan.org/git/?p=tech-radar.git;a=blobdiff_plain;f=test%2Fgraphing%2Fradar-spec.js;h=5c7d3b5f0d1f7fd881b7fd56499a660161bd7c46;hp=76089888052f9fccb5080272512c5908edc31835;hb=2c6e76ea65109b83d80ca1d51088cbb040960711;hpb=d38f0a110aedcad816a2c74397d4eb65edb4da30 diff --git a/test/graphing/radar-spec.js b/test/graphing/radar-spec.js index 7608988..5c7d3b5 100644 --- a/test/graphing/radar-spec.js +++ b/test/graphing/radar-spec.js @@ -1,13 +1,20 @@ describe('tr.graphing.Radar', function () { + var radar; + function buildSvg() { return d3.select("body").append("svg"); } + beforeEach(function () { + radar = new tr.models.Radar(); + spyOn(radar, 'cycles').andReturn([]); + }); + it('sets the size', function () { var svg = buildSvg(); spyOn(svg, 'attr').andReturn(svg); - var radarGraph = new tr.graphing.Radar(svg, 500); + var radarGraph = new tr.graphing.Radar(svg, 500, radar); expect(svg.attr).toHaveBeenCalledWith('width', 500); expect(svg.attr).toHaveBeenCalledWith('height', 500); @@ -19,7 +26,7 @@ describe('tr.graphing.Radar', function () { spyOn(svg, 'append').andReturn(svg); spyOn(svg, 'attr').andReturn(svg); - var radarGraph = new tr.graphing.Radar(svg, 500); + var radarGraph = new tr.graphing.Radar(svg, 500, radar); radarGraph.plot(); @@ -36,7 +43,7 @@ describe('tr.graphing.Radar', function () { spyOn(svg, 'append').andReturn(svg); spyOn(svg, 'attr').andReturn(svg); - var radarGraph = new tr.graphing.Radar(svg, 500); + var radarGraph = new tr.graphing.Radar(svg, 500, radar); radarGraph.plot(); @@ -47,5 +54,38 @@ describe('tr.graphing.Radar', function () { expect(svg.attr).toHaveBeenCalledWith('y2', 500 / 2); expect(svg.attr).toHaveBeenCalledWith('stroke-width', 5); }); - }) + }); + + describe('circles', function () { + var svg, radarGraph; + + beforeEach(function () { + var radar; + + svg = buildSvg(); + spyOn(svg, 'append').andReturn(svg); + spyOn(svg, 'attr').andReturn(svg); + + radar = new tr.models.Radar(); + spyOn(radar, 'cycles').andReturn([ + new tr.models.Cycle('Adopt'), + new tr.models.Cycle('Hold') + ]); + radarGraph = new tr.graphing.Radar(svg, 500, radar); + }); + + it('plots the circles for the cicles', function () { + radarGraph.plot(); + + expect(svg.append).toHaveBeenCalledWith('circle'); + expect(svg.attr).toHaveBeenCalledWith('cx', 500 / 2); + expect(svg.attr).toHaveBeenCalledWith('cy', 500 / 2); + expect(svg.attr).toHaveBeenCalledWith('r', Math.round(250 / 2)); + + expect(svg.append).toHaveBeenCalledWith('circle'); + expect(svg.attr).toHaveBeenCalledWith('cx', 500 / 2); + expect(svg.attr).toHaveBeenCalledWith('cy', 500 / 2); + expect(svg.attr).toHaveBeenCalledWith('r', 250); + }); + }); });