From 27ec708cc281d5742bc835565e34b4a86d01b72c Mon Sep 17 00:00:00 2001 From: Peter Cottle Date: Mon, 23 Mar 2015 09:36:39 -0700 Subject: [PATCH] more test DSL --- src/__tests__/casperjs/casperUtils.js | 38 +++++++++++++++++++++++++ src/__tests__/casperjs/pageload_test.js | 32 +++++++++------------ 2 files changed, 52 insertions(+), 18 deletions(-) diff --git a/src/__tests__/casperjs/casperUtils.js b/src/__tests__/casperjs/casperUtils.js index f198b64a..77b59bd6 100644 --- a/src/__tests__/casperjs/casperUtils.js +++ b/src/__tests__/casperjs/casperUtils.js @@ -15,6 +15,44 @@ var CasperUtils = { return this.getUrl() + '&command=' + commands.join(';'); }, + testDone: function() { + this.test.done(); + }, + + multiAssert: function() { + // Copy the args into a variable we can reference inside + // our closure. + var asserts = []; + for (var i = 0; i < arguments.length; i++) { + asserts.push(arguments[i]); + } + + return function then() { + for (var i = 0; i < asserts.length; i++) { + var assert = asserts[i]; + assert.bind(this)(); + } + }; + }, + + asserts: { + visibleIDs: function(visibleIDs) { + return function then() { + visibleIDs.forEach(function(id) { + this.test.assertVisible('#' + id); + }.bind(this)); + }; + }, + + visibleSelectors: function(selectors) { + return function then() { + selectors.forEach(function(selector) { + this.test.assertExists(selector); + }.bind(this)); + }; + }, + }, + waits: { jsMount: function() { return this.evaluate(function() { diff --git a/src/__tests__/casperjs/pageload_test.js b/src/__tests__/casperjs/pageload_test.js index 562b5dfb..a6493c76 100644 --- a/src/__tests__/casperjs/pageload_test.js +++ b/src/__tests__/casperjs/pageload_test.js @@ -24,25 +24,21 @@ casper.start( function() { this.test.assertTitle('Learn Git Branching'); - casper.waitFor(CasperUtils.waits.jsMount, function then() { - visibleIDs.forEach(function(id) { - this.test.assertVisible('#' + id); - }.bind(this)); + casper.waitFor( + CasperUtils.waits.jsMount + ) - selectors.forEach(function(selector) { - this.test.assertExists(selector); - }.bind(this)); + .then(CasperUtils.multiAssert( + CasperUtils.asserts.visibleIDs(visibleIDs), + CasperUtils.asserts.visibleSelectors(selectors) + )) - }) - .waitFor(CasperUtils.waits.allCommandsFinished, function then() { - doneSelectors.forEach(function(selector) { - this.test.assertExists(selector); - }.bind(this)); - }) - .then(function() { - this.test.done(); - }); + .waitFor(CasperUtils.waits.allCommandsFinished) -}); + .then( + CasperUtils.asserts.visibleSelectors(doneSelectors) + ) -casper.run(); + .then(CasperUtils.testDone); + +}).run();