Files
cgm-remote-monitor/tests/client.renderer.test.js
T
Jeremy CunninghamandGitHub 7c5a69dd9a Fix d3 portrait to landscape brush failure (#5638)
* fix d3 portrait to landscape brush failure

* fix client.renderer.test for highlighBrushPoints function prototype change

* fix highlightBrush

* move brush reset inside check for valid brush
2020-05-05 22:13:21 +03:00

76 lines
2.3 KiB
JavaScript

'use strict';
require('should');
let _ = require('lodash');
let renderer = require('../lib/client/renderer');
describe('renderer', () => {
describe('bubbleScale', () => {
const MAX_DELTA = 0.0001;
const PREV_CHART_WIDTHS = [
{ width: 400, expectedScale: 3.5 }
, { width: 500, expectedScale: 2.625 }
, { width: 900, expectedScale: 1.75 }
];
_.forEach(PREV_CHART_WIDTHS, (prev) => {
describe(`prevChartWidth < ${prev.width}`, () => {
let mockClient = {
utils: true
, chart: { prevChartWidth: prev.width }
, focusRangeMS: true
};
it('scales correctly', () => {
renderer(mockClient, {}).bubbleScale().should.be.approximately(prev.expectedScale, MAX_DELTA);
});
});
});
});
describe('highlightBrushPoints', () => {
const BRUSH_EXTENTS = [
{ mills: 100, times: [200, 300], expectedOpacity: 0.5, expectation: 'Uses default opacity' }
, { mills: 300, times: [100, 200], expectedOpacity: 0.5, expectation: 'Uses default opacity' }
, { mills: 200, times: [100, 300], expectedOpacity: 1, expectation: 'Calculates opacity' }
];
_.forEach(BRUSH_EXTENTS, (extent) => {
let mockData = {
mills: extent.mills
};
let mockClient = {
chart: {
brush: {
extent: () => {
let extents = [];
for (let time of extent.times) {
extents.push({ getTime: () => {
return time;
}});
}
return extents;
}
}
, futureOpacity: (millsDifference) => { return 1; }
, createAdjustedRange: () => { return [
{ getTime: () => { return extent.times[0]}},
{ getTime: () => { return extent.times[1]}}
] }
}
, latestSGV: { mills: 120 }
};
describe(`data.mills ${extent.mills} and chart().brush.extent() times ${extent.times}`, () => {
it(extent.expectation, () => {
var selectedRange = mockClient.chart.createAdjustedRange();
var from = selectedRange[0].getTime();
var to = selectedRange[1].getTime();
renderer(mockClient, {}).highlightBrushPoints(mockData, from, to).should.equal(extent.expectedOpacity);
});
});
});
});
});