levels test... not sure if its working tho

This commit is contained in:
Peter Cottle 2015-03-23 11:27:32 -07:00
parent 27ec708cc2
commit 4b5eb3d54d
4 changed files with 140 additions and 24 deletions

View file

@ -0,0 +1,53 @@
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)
.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'))
.then(CasperUtils.waits.idsVisible(
levelIconIDsForPages(5, numLevelSequences)
))
.then(CasperUtils.testDone);
}).run();