mirror of
https://github.com/bckelley/cgm-remote-monitor.git
synced 2026-08-24 03:14:12 -05:00
* 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
76 lines
2.3 KiB
JavaScript
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);
|
|
});
|
|
});
|
|
});
|
|
});
|
|
});
|