extend dont_find to Capybara::Element
This commit is contained in:
parent
d2fac8e685
commit
b9e14eac0c
|
@ -89,5 +89,9 @@ Sometimes the absence of a thing is just as important as the presence of a thing
|
||||||
# selector's not there
|
# selector's not there
|
||||||
|
|
||||||
dont_find('#user')
|
dont_find('#user')
|
||||||
|
|
||||||
|
# ...after you've already found something...
|
||||||
|
|
||||||
|
find('.node').dont_find('.something_inside')
|
||||||
```
|
```
|
||||||
|
|
||||||
|
|
|
@ -62,6 +62,26 @@ def find_object_action(object, action)
|
||||||
find("[data-type='#{object}'][data-action='#{action}']")
|
find("[data-type='#{object}'][data-action='#{action}']")
|
||||||
end
|
end
|
||||||
|
|
||||||
|
module DontFindable
|
||||||
|
def dont_find_wrap(search)
|
||||||
|
yield
|
||||||
|
|
||||||
|
sleep Capybara.default_wait_time
|
||||||
|
|
||||||
|
yield
|
||||||
|
|
||||||
|
raise Capybara::ElementFound.new(search)
|
||||||
|
rescue Capybara::ElementNotFound
|
||||||
|
true
|
||||||
|
end
|
||||||
|
|
||||||
|
def dont_find(search)
|
||||||
|
dont_find_wrap(search) do
|
||||||
|
find(search)
|
||||||
|
end
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
module Capybara
|
module Capybara
|
||||||
class ElementFound < StandardError
|
class ElementFound < StandardError
|
||||||
def initialize(search)
|
def initialize(search)
|
||||||
|
@ -72,26 +92,14 @@ module Capybara
|
||||||
@search
|
@search
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
end
|
|
||||||
|
|
||||||
def dont_find_wrap(search)
|
class Node::Element
|
||||||
yield
|
include DontFindable
|
||||||
|
|
||||||
sleep Capybara.default_wait_time
|
|
||||||
|
|
||||||
yield
|
|
||||||
|
|
||||||
raise Capybara::ElementFound.new(search)
|
|
||||||
rescue Capybara::ElementNotFound
|
|
||||||
true
|
|
||||||
end
|
|
||||||
|
|
||||||
def dont_find(search)
|
|
||||||
dont_find_wrap(search) do
|
|
||||||
find(search)
|
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
|
include DontFindable
|
||||||
|
|
||||||
def dont_find_object(object)
|
def dont_find_object(object)
|
||||||
case object
|
case object
|
||||||
when Class
|
when Class
|
||||||
|
|
Loading…
Reference in New Issue