mirror of
https://github.com/EGroupware/egroupware.git
synced 2024-10-08 19:12:29 +02:00
40 lines
1.3 KiB
JavaScript
40 lines
1.3 KiB
JavaScript
let expect = require('chai').expect;
|
|
const { JSDOM } = require('jsdom'),
|
|
|
|
// the file I will be loading
|
|
uri = 'https://boulder.egroupware.org/egroupware/login.php',
|
|
|
|
// the options that I will be giving to jsdom
|
|
options = {
|
|
runScripts: 'dangerously', // 'outside-only' does NOT work for scripts in the loaded page!
|
|
resources: 'usable'
|
|
};
|
|
|
|
// load from an external file
|
|
describe('EGroupware login-page', function() {
|
|
it('Should load egw object', function() {
|
|
debugger
|
|
return JSDOM.fromURL(uri, options).then(function (dom) {
|
|
let window = dom.window,
|
|
document = window.document;
|
|
expect(document.querySelectorAll('form')).key(0);
|
|
expect(document.querySelectorAll('form')[0].action).to.be.a('string').and.satisfy(msg => msg.startsWith(uri));
|
|
return new Promise((resolve, reject) => {
|
|
window.onload = resolve;
|
|
}).then(function() {
|
|
console.log('Window loaded :)');
|
|
return new Promise((resolve, reject) => {
|
|
window.egw_LAB.wait(function() {
|
|
console.log('Async script-loading / egw_LAB done :)')
|
|
resolve(window.egw);
|
|
});
|
|
})
|
|
});
|
|
}).then(function(egw) {
|
|
expect(egw.webserverUrl).equal('/egroupware', 'egw.webserverURL !== "/egroupware"');
|
|
expect(egw.lang('Test12345 %1', 'success')).to.equal('Test12345 success');
|
|
egw.window.close();
|
|
})
|
|
})
|
|
})
|