Skip to content

Commit

Permalink
Move assertion helpers into their own module.
Browse files Browse the repository at this point in the history
  • Loading branch information
aflatter committed Apr 1, 2012
1 parent 272641e commit 61da0c7
Show file tree
Hide file tree
Showing 3 changed files with 44 additions and 37 deletions.
39 changes: 39 additions & 0 deletions lib/assert.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,39 @@
/*global module exports*/
var chai = require('chai')
, wd = require('webdriver')
, assert = module.exports = chai.assert;

assert.oneRequest = function(client, opts) {
assert.equal(client.callCount, 1, 'Only one request was made.');
assert.request(client.lastRequest, opts);
};

assert.request = function(request, opts) {
if (opts.method) {
assert.equal(request.method, opts.method);
}

if (opts.params) {
assert.deepEqual(request.params, opts.params);
}

if (opts.resource) {
assert.equal(request.resource, opts.resource);
}

if (opts.callback) {
assert.equal(request.callback, opts.callback);
}
};

assert.calledWithError = function(err, call) {
assert.equal(call.args[0], err, 'error is passed to the callback');
assert.isNull(call.args[1], 'callback does not receive a result');
};

assert.element = function(actual, session, id) {
assert.instanceOf(actual, wd.Element, 'result is an Element');
assert.equal(actual.id, id, 'element id is read from the response');
assert.equal(actual.session, session, 'the session passes itself');
};

4 changes: 3 additions & 1 deletion lib/webdriver.js
Original file line number Diff line number Diff line change
@@ -1,9 +1,11 @@
var Client = require('./client')
var assert = require('./assert')
, Client = require('./client')
, ClientMock = require('./client_mock')
, Element = require('./element')
, Endpoint = require('./endpoint')
, Session = require('./session');

exports.assert = assert;
exports.Client = Client;
exports.ClientMock = ClientMock;
exports.Element = Element;
Expand Down
38 changes: 2 additions & 36 deletions test/session_test.js
Original file line number Diff line number Diff line change
@@ -1,45 +1,11 @@
/*global suite test setup*/

var assert = require('chai').assert
, spy = require('sinon').spy
var spy = require('sinon').spy
, wd = require('./lib')
, assert = wd.assert
, Session = wd.Session
, ClientMock = wd.ClientMock;

assert.oneRequest = function(client, opts) {
assert.equal(client.callCount, 1, 'Only one request was made.');
assert.request(client.lastRequest, opts);
};

assert.request = function(request, opts) {
if (opts.method) {
assert.equal(request.method, opts.method);
}

if (opts.params) {
assert.deepEqual(request.params, opts.params);
}

if (opts.resource) {
assert.equal(request.resource, opts.resource);
}

if (opts.callback) {
assert.equal(request.callback, opts.callback);
}
};

assert.calledWithError = function(err, call) {
assert.equal(call.args[0], err, 'error is passed to the callback');
assert.isNull(call.args[1], 'callback does not receive a result');
};

assert.element = function(actual, session, id) {
assert.instanceOf(actual, wd.Element, 'result is an Element');
assert.equal(actual.id, id, 'element id is read from the response');
assert.equal(actual.session, session, 'the session passes itself');
};

suite('Session', function() {
var id = 1
, session, client;
Expand Down

0 comments on commit 61da0c7

Please sign in to comment.