Skip to content

Commit e9be679

Browse files
author
Donnie Tognazzini
committed
Call Capybara node.find() directly in Node
find() is defined by Collection and may be defined by other subclasses. Calling node.find() directly avoids subclasses messing up load ensuring.
1 parent 950eb9b commit e9be679

File tree

2 files changed

+4
-4
lines changed

2 files changed

+4
-4
lines changed

lib/ae_page_objects/node.rb

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -89,7 +89,7 @@ def loaded_locator
8989

9090
def ensure_loaded!
9191
if locator = loaded_locator
92-
find(*eval_locator(locator))
92+
node.find(*eval_locator(locator))
9393
end
9494

9595
self

test/unit/document_test.rb

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -64,14 +64,14 @@ def loaded_locator
6464
end
6565
some_document_class.expects(:can_load_from_current_url?).returns(true)
6666

67-
element_error = LoadingElementFailed.new("Twas an error")
68-
some_document_class.any_instance.expects(:find).with("#hello").raises(element_error)
67+
capybara_error = Capybara::ElementNotFound.new("Twas an error")
68+
capybara_stub.session.expects(:find).with("#hello").raises(capybara_error)
6969

7070
raised = assert_raises LoadingPageFailed do
7171
some_document_class.new
7272
end
7373

74-
assert_equal element_error.message, raised.message
74+
assert_equal capybara_error.message, raised.message
7575
end
7676

7777
def test_stale

0 commit comments

Comments
 (0)