51 lines
1.6 KiB
JavaScript
51 lines
1.6 KiB
JavaScript
import { api } from "../../api.mjs";
|
|
|
|
export function barGraphTests(quench) {
|
|
quench.registerBatch(
|
|
`${__ID__}.barGraphSchema`,
|
|
(ctx) => {
|
|
const { describe, it, expect } = ctx;
|
|
|
|
describe(`the bar graph schema`, () => {
|
|
it(`should default any additional properties left out`, () => {
|
|
const { value, error } = api.schemas.graphs.bar.validate(
|
|
{ type: `bar` },
|
|
);
|
|
expect(value).to.have.keys(`type`, `stacked`, `showEmptyBuckets`);
|
|
expect(error).to.be.undefined;
|
|
});
|
|
|
|
it(`should allow stacked to be provided specifically`, () => {
|
|
const { value, error } = api.schemas.graphs.bar.validate(
|
|
{ type: `bar`, stacked: true },
|
|
);
|
|
expect(value).to.have.keys(`type`, `stacked`, `showEmptyBuckets`);
|
|
expect(error).to.be.undefined;
|
|
});
|
|
|
|
it(`should allow showEmptyBuckets to be provided specifically`, () => {
|
|
const { value, error } = api.schemas.graphs.bar.validate(
|
|
{ type: `bar`, showEmptyBuckets: true },
|
|
);
|
|
expect(value).to.have.keys(`type`, `stacked`, `showEmptyBuckets`);
|
|
expect(error).to.be.undefined;
|
|
});
|
|
|
|
it(`should only allow showEmptyBuckets to be a boolean`, () => {
|
|
const { value, error } = api.schemas.graphs.bar.validate(
|
|
{ type: `bar`, showEmptyBuckets: `a potato` },
|
|
);
|
|
expect(value).to.have.keys(`type`, `stacked`, `showEmptyBuckets`);
|
|
expect(error).not.to.be.undefined;
|
|
});
|
|
|
|
it(`should only allow stacked to be a boolean`, () => {
|
|
const { error } = api.schemas.graphs.bar.validate(
|
|
{ type: `bar`, stacked: `a potato` },
|
|
);
|
|
expect(error).not.to.be.undefined;
|
|
});
|
|
});
|
|
},
|
|
);
|
|
};
|