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
			| 
											3 years ago
										 | "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); | ||
|  |     }); | ||
|  |   }); | ||
|  | }); |