Make ember route expectations smarter
This commit is contained in:
@@ -15,13 +15,26 @@ module SpecRouteHelpers
|
||||
end
|
||||
|
||||
def ember_route_should_be(route_def)
|
||||
ember_route.should == route_def
|
||||
max_wait = 4
|
||||
time = 0.0
|
||||
time_step = 0.25
|
||||
while time < max_wait && ember_route != route_def
|
||||
time += time_step
|
||||
sleep time_step
|
||||
end
|
||||
ember_route(omit_should_raise: true).should == route_def
|
||||
end
|
||||
|
||||
def ember_route
|
||||
def ember_route(omit_should_raise: nil)
|
||||
# currentRouteName does not include model information: /list/123 => currentRouteName == 'list'
|
||||
# page.evaluate_script %|App.__container__.lookup('controller:application').get('currentRouteName')|
|
||||
# page.evaluate_script %|App.__container__.lookup('router:main').location.lastSetURL| # not working for direct path supplier#/settings
|
||||
page.evaluate_script %{App.__container__ && (window.location.hash || "#/").substr(1)}
|
||||
route = page.evaluate_script %{App.__container__ && (window.location.hash || "#/").substr(1)}
|
||||
unless omit_should_raise
|
||||
def route.should(*)
|
||||
raise "Cannot call should on ember route. Use ember_route_should_be instead"
|
||||
end
|
||||
end
|
||||
route
|
||||
end
|
||||
end
|
||||
|
||||
Reference in New Issue
Block a user