hardlounge/test/client/js/constantsTest.js

46 lines
1.2 KiB
JavaScript
Raw Normal View History

2017-11-29 05:31:03 +00:00
"use strict";
const expect = require("chai").expect;
2019-11-21 09:11:06 +00:00
const constants = require("../../../client/js/constants").default;
2017-11-29 05:31:03 +00:00
describe("client-side constants", function() {
describe(".colorCodeMap", function() {
it("should be a non-empty array", function() {
2019-07-17 09:33:59 +00:00
expect(constants.colorCodeMap)
.to.be.an("array")
.of.length(16);
2017-11-29 05:31:03 +00:00
});
it("should be made of pairs of strings", function() {
2019-07-17 09:33:59 +00:00
constants.colorCodeMap.forEach((tuple) => {
// TODO: In Node v6+, use `[code, name]`
expect(tuple[0])
.to.be.a("string")
.that.match(/[0-9]{2}/);
2017-11-29 05:31:03 +00:00
expect(tuple[1]).to.be.a("string");
});
});
});
describe(".condensedTypes", function() {
it("should be a non-empty array", function() {
expect(constants.condensedTypes).to.be.an("array").that.is.not.empty;
});
it("should only contain ASCII strings", function() {
constants.condensedTypes.forEach((type) => {
2019-07-17 09:33:59 +00:00
expect(type)
.to.be.a("string")
.that.does.match(/^\w+$/);
});
2017-11-29 05:31:03 +00:00
});
});
describe(".timeFormats", function() {
it("should be objects of strings", function() {
expect(constants.timeFormats.msgDefault).to.be.an("string").that.is.not.empty;
expect(constants.timeFormats.msgWithSeconds).to.be.an("string").that.is.not.empty;
});
});
});