mirror of
https://github.com/pcottle/learnGitBranching.git
synced 2025-07-09 22:24:26 +02:00
56 lines
1.5 KiB
JavaScript
56 lines
1.5 KiB
JavaScript
var CasperUtils = require('./casperUtils').CasperUtils;
|
|
|
|
var levels = require('../../levels');
|
|
|
|
var numLevelSequences = Object.keys(levels.levelSequences).length;
|
|
|
|
var getLevelIconIDs = function(levelID) {
|
|
var level = levels.levelSequences[levelID];
|
|
var numLevels = Object.keys(level).length;
|
|
|
|
// We index at 1 for the level icons
|
|
var result = [];
|
|
for (var i = 1; i <= numLevels; i++) {
|
|
result.push('levelIcon-' + levelID + i);
|
|
}
|
|
return result;
|
|
};
|
|
var flattenArray = function(a, b) { return a.concat(b);};
|
|
|
|
var levelIconIDsForPages = function(start, end) {
|
|
return Object.keys(levels.levelSequences).slice(start, end)
|
|
.map(getLevelIconIDs)
|
|
.reduce(flattenArray);
|
|
};
|
|
|
|
casper.start(
|
|
CasperUtils.getUrlForCommands([
|
|
'levels',
|
|
]),
|
|
function() {
|
|
|
|
casper.waitFor(CasperUtils.waits.jsMount)
|
|
.waitFor(CasperUtils.waits.commandVisible)
|
|
.wait(1000)
|
|
.then(
|
|
CasperUtils.multiAssert(
|
|
CasperUtils.asserts.visibleSelectors([
|
|
'div.levelDropdownView'
|
|
]),
|
|
CasperUtils.asserts.visibleIDs(
|
|
levelIconIDsForPages(0, 5)
|
|
)
|
|
)
|
|
)
|
|
.then(CasperUtils.screenshot.entirePage)
|
|
.then(function() {
|
|
this.mouse.click('div[data-id="remote"]');
|
|
})
|
|
.then(CasperUtils.waits.idVisible('levelIcon-remote1'))
|
|
.wait(1000)
|
|
.then(CasperUtils.asserts.visibleIDs(
|
|
levelIconIDsForPages(5, numLevelSequences)
|
|
))
|
|
.then(CasperUtils.screenshot.entirePage)
|
|
.then(CasperUtils.testDone);
|
|
}).run();
|