@netdata/charts
Version:
Netdata frontend SDK and chart utilities
64 lines • 1.57 kB
JavaScript
import limitRange from "./index";
describe("limitRange", function () {
it("keeps range when duration exceeds minimum", function () {
var range = {
after: 100,
before: 200
};
var result = limitRange(range);
expect(result).toEqual({
fixedAfter: 100,
fixedBefore: 200
});
});
it("expands range when duration is less than minimum", function () {
var range = {
after: 100,
before: 130
};
var result = limitRange(range);
expect(result.fixedBefore - result.fixedAfter).toBe(60);
expect(result.fixedAfter).toBeLessThan(100);
expect(result.fixedBefore).toBeGreaterThan(130);
});
it("handles even duration expansion", function () {
var range = {
after: 100,
before: 150
};
var result = limitRange(range);
expect(result).toEqual({
fixedAfter: 95,
fixedBefore: 155
});
});
it("handles odd duration expansion", function () {
var range = {
after: 100,
before: 149
};
var result = limitRange(range);
expect(result).toEqual({
fixedAfter: 93.5,
fixedBefore: 154.5
});
});
it("uses default before value of 0", function () {
var range = {
after: -30
};
var result = limitRange(range);
expect(result.fixedBefore - result.fixedAfter).toBe(60);
});
it("handles minimum duration exactly", function () {
var range = {
after: 0,
before: 60
};
var result = limitRange(range);
expect(result).toEqual({
fixedAfter: 0,
fixedBefore: 60
});
});
});