You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
70 lines
2.3 KiB
70 lines
2.3 KiB
"use strict";
|
|
|
|
var _chai = require("chai");
|
|
|
|
var _layoutTemplate = _interopRequireDefault(require("./layout-template"));
|
|
|
|
var _adminjs = _interopRequireDefault(require("../adminjs"));
|
|
|
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
|
|
describe('layoutTemplate', function () {
|
|
context('AdminJS with branding options set as a function', function () {
|
|
const companyName = 'Dynamic Company';
|
|
let html;
|
|
beforeEach(async function () {
|
|
const adminJs = new _adminjs.default({
|
|
branding: async () => ({
|
|
companyName
|
|
})
|
|
});
|
|
html = await (0, _layoutTemplate.default)(adminJs, undefined, '/');
|
|
});
|
|
it('renders default company name', function () {
|
|
(0, _chai.expect)(html).to.contain(companyName);
|
|
});
|
|
it('links to global bundle', async function () {
|
|
(0, _chai.expect)(html).to.contain('global.bundle.js');
|
|
});
|
|
});
|
|
describe('AdminJS with branding options given', function () {
|
|
const branding = {
|
|
withMadeWithLove: false,
|
|
companyName: 'Other name',
|
|
favicon: '/someImage.png'
|
|
};
|
|
let html;
|
|
beforeEach(async function () {
|
|
const adminJs = new _adminjs.default({
|
|
branding
|
|
});
|
|
html = await (0, _layoutTemplate.default)(adminJs, undefined, '/');
|
|
});
|
|
it('renders company name', function () {
|
|
(0, _chai.expect)(html).to.contain(branding.companyName);
|
|
});
|
|
it('renders favicon', function () {
|
|
(0, _chai.expect)(html).to.contain(`<link rel="shortcut icon" type="image/png" href="${branding.favicon}" />`);
|
|
});
|
|
});
|
|
context('custom styles and scripts were defined in AdminJS options', function () {
|
|
let html;
|
|
const scriptUrl = 'http://somescript.com';
|
|
const styleUrl = 'http://somestyle.com';
|
|
beforeEach(async function () {
|
|
const adminJs = new _adminjs.default({
|
|
assets: {
|
|
styles: [styleUrl],
|
|
scripts: [scriptUrl]
|
|
}
|
|
});
|
|
html = await (0, _layoutTemplate.default)(adminJs, undefined, '/');
|
|
});
|
|
it('adds styles to the head section', function () {
|
|
(0, _chai.expect)(html).to.contain(styleUrl);
|
|
});
|
|
it('adds scripts to the body', function () {
|
|
(0, _chai.expect)(html).to.contain(scriptUrl);
|
|
});
|
|
});
|
|
}); |