1
0
mirror of https://github.com/webslides/WebSlides.git synced 2025-08-26 06:24:28 +02:00

Working testing using PhantomJS, previous ones wasn't good enough

This commit is contained in:
Luis
2017-04-23 17:24:39 +02:00
parent 129fc0064c
commit d04d53a1ec
3 changed files with 41 additions and 41 deletions

View File

@@ -32,6 +32,7 @@
"babel-cli": "^6.24.1",
"babel-core": "^6.24.1",
"babel-loader": "^6.4.1",
"babel-polyfill": "^6.23.0",
"babel-preset-env": "^1.4.0",
"babel-preset-es2015": "^6.24.1",
"babel-preset-react": "^6.24.1",
@@ -39,6 +40,7 @@
"eslint": "^3.19.0",
"eslint-loader": "^1.7.1",
"npm-run-all": "^4.0.2",
"phantom": "^4.0.2",
"rimraf": "^2.6.1",
"smart-banner-webpack-plugin": "^3.0.1",
"webpack": "^2.4.1",
@@ -50,7 +52,7 @@
"build:main": "webpack",
"build:main.min": "webpack --output-filename [name].min.js -p",
"dev": "webpack-dev-server",
"test": "ava test/*.js"
"test": "ava test/utils/*.js --verbose"
},
"babel": {
"presets": [
@@ -73,6 +75,7 @@
]
},
"require": [
"babel-regenerator-runtime",
"babel-register",
"./test/helpers/setup-browser-env.js"
]

View File

@@ -1,40 +0,0 @@
import test from 'ava';
import DOM from '../src/js/utils/dom';
test('DOM.createNode', t => {
const div = DOM.createNode('div', 'my-id');
t.is(div.tagName, 'DIV');
t.is(div.id, 'my-id');
t.is(div.innerHTML, '');
});
test('DOM.once', t => {
const div = DOM.createNode('div');
DOM.once(div, 'click', () => div.classList.toggle('ok'));
div.click();
t.is(div.className, 'ok');
div.click();
t.is(div.className, 'ok');
});
test('DOM.hide', t => {
const div = DOM.createNode('div');
DOM.hide(div);
t.is(div.style.display, 'none');
});
test('DOM.show', t => {
const div = DOM.createNode('div');
DOM.hide(div);
DOM.show(div);
t.is(div.style.display, '');
});
test('DOM.fireEvent', t => {
const div = DOM.createNode('div');
div.addEventListener('toggle-class', () => div.classList.toggle('ok'));
DOM.fireEvent(div, 'toggle-class');
t.is(div.className, 'ok');
DOM.fireEvent(div, 'toggle-class');
t.is(div.className, '');
});

37
test/utils/webslides.js Normal file
View File

@@ -0,0 +1,37 @@
let phantom = require("phantom");
import test from 'ava';
let ph_, page_, status_;
const load = async () => {
await phantom.create().then(async ph => {
ph_ = ph;
return await ph_.createPage();
}).then(page => {
page_ = page;
return page_.open('https://stackoverflow.com/');
}).then(status => {
status_ = status;
return true;
}).catch(e => console.log(e));
}
test.serial("Page loaded", async t => {
await load();
t.is(status_, 'success');
});
test.serial('#webslides exits', async t => {
await page_
.evaluate( () => document.querySelector('#webslides') )
.then( ws => { t.not(ws, null); } );
});
/**
* Last test
*/
test.serial('Closing', async t => {
await page_.close();
ph_.exit();
t.true(true);
});