test/rails_root/features/support/paths.rb in clearance-0.8.8 vs test/rails_root/features/support/paths.rb in clearance-0.9.0.rc1
- old
+ new
@@ -1,22 +1,44 @@
module NavigationHelpers
+ # Maps a name to a path. Used by the
+ #
+ # When /^I go to (.+)$/ do |page_name|
+ #
+ # step definition in web_steps.rb
+ #
def path_to(page_name)
case page_name
when /the home\s?page/
'/'
+
+ # Add more mappings here.
when /the sign up page/i
sign_up_path
when /the sign in page/i
sign_in_path
when /the password reset request page/i
new_password_path
+ when /the sign up page/i
+ sign_up_path
+ when /the sign in page/i
+ sign_in_path
+ when /the password reset request page/i
+ new_password_path
+ # Here is an example that pulls values out of the Regexp:
+ #
+ # when /^(.*)'s profile page$/i
+ # user_profile_path(User.find_by_login($1))
- # Add more page name => path mappings here
-
else
- raise "Can't find mapping from \"#{page_name}\" to a path.\n" +
- "Now, go and add a mapping in #{__FILE__}"
+ begin
+ page_name =~ /the (.*) page/
+ path_components = $1.split(/\s+/)
+ self.send(path_components.push('path').join('_').to_sym)
+ rescue Object => e
+ raise "Can't find mapping from \"#{page_name}\" to a path.\n" +
+ "Now, go and add a mapping in #{__FILE__}"
+ end
end
end
end
World(NavigationHelpers)