Skip to content

Commit

Permalink
Fixed an issue with using assert.elementPresent/elementNotPresent in …
Browse files Browse the repository at this point in the history
…geckodriver
beatfactor committed May 22, 2019

Verified

This commit was created on GitHub.com and signed with GitHub’s verified signature.
1 parent 3d384fd commit 18c3e04
Showing 4 changed files with 48 additions and 5 deletions.
2 changes: 1 addition & 1 deletion lib/api/assertions/elementNotPresent.js
Original file line number Diff line number Diff line change
@@ -26,7 +26,7 @@ exports.assertion = function(selector, msg) {
};

this.value = function(result) {
return (result.status !== 0 || result.value.length === 0) ? 'not present' : 'present';
return result.value.length === 0 ? 'not present' : 'present';
};

this.command = function(callback) {
2 changes: 1 addition & 1 deletion lib/api/assertions/elementPresent.js
Original file line number Diff line number Diff line change
@@ -25,7 +25,7 @@ exports.assertion = function(selector, msg) {
};

this.value = function(result) {
return (result.status !== 0 || result.value.length === 0) ? 'not present' : 'present';
return result.value.length === 0 ? 'not present' : 'present';
};

this.command = function(callback) {
21 changes: 21 additions & 0 deletions test/src/api/assertions/testElementNotPresent.js
Original file line number Diff line number Diff line change
@@ -24,6 +24,27 @@ describe('assert.elementNotPresent', function () {
}, done);
});

it('elementPresent assertion passed - with W3C Webdriver', function(done) {
Globals.assertionTest({
assertionName: 'elementNotPresent',
args: ['.test_element'],
api: {
elements(using, selector, callback) {
assert.equal(selector, '.test_element');
assert.equal(using, 'css selector');
callback({
value: []
});
}
},
assertion(passed, value, calleeFn, message) {
assert.strictEqual(passed, true);
assert.equal(value, 'not present');
assert.ok(message.startsWith('Testing if element <.test_element> is not present'));
}
}, done);
});

it('elementNotPresent assertion passed when exceptions are passed', function (done) {
Globals.assertionTest({
assertionName: 'elementNotPresent',
28 changes: 25 additions & 3 deletions test/src/api/assertions/testElementPresent.js
Original file line number Diff line number Diff line change
@@ -19,7 +19,29 @@ describe('assert.elementPresent', function() {
}
},
assertion(passed, value, calleeFn, message) {
assert.equal(passed, true);
assert.strictEqual(passed, true);
assert.equal(value, 'present');
assert.ok(message.startsWith('Testing if element <.test_element> is present'));
}
}, done);
});

it('elementPresent assertion passed - with W3C Webdriver', function(done) {
Globals.assertionTest({
assertionName: 'elementPresent',
args: ['.test_element'],
api: {
elements(using, selector, callback) {
assert.equal(selector, '.test_element');
assert.equal(using, 'css selector');
callback({
value:
[{'element-6066-11e4-a52e-4f735466cecf': 'b8461b6b-7c4b-ac46-8b1a-7071c3b111f1'}]
});
}
},
assertion(passed, value, calleeFn, message) {
assert.strictEqual(passed, true);
assert.equal(value, 'present');
assert.ok(message.startsWith('Testing if element <.test_element> is present'));
}
@@ -41,10 +63,10 @@ describe('assert.elementPresent', function() {
}
},
assertion(passed, value, calleeFn, message) {
assert.equal(passed, false);
assert.strictEqual(passed, false);
assert.equal(value, 'not present');
assert.ok(message.startsWith('Testing if element <.test_element> is present'));
}
}, done);
});
});
});

0 comments on commit 18c3e04

Please sign in to comment.