features/support/paths.rb in activeadmin-0.6.6 vs features/support/paths.rb in activeadmin-1.0.0.pre1
- old
+ new
@@ -4,41 +4,48 @@
# When /^I go to (.+)$/ do |page_name|
#
# step definition in web_steps.rb
#
def path_to(page_name)
- case page_name
+ params = page_name.scan(/with params "(.*?)"/).flatten[0] || ''
+ page_name.sub! /\ with params.*/, ''
+ url = case page_name
+
when /the home\s?page/
'/'
when /the dashboard/
"/admin"
when /the new post page/
"/admin/posts/new"
when /the login page/
"/admin/login"
+ when /the first post show page/
+ "/admin/posts/1"
+ when /the first post edit page/
+ "/admin/posts/1/edit"
when /the admin password reset form with token "([^"]*)"/
"/admin/password/edit?reset_password_token=#{$1}"
# the index page for posts in the root namespace
# the index page for posts in the user_admin namespace
when /^the index page for (.*) in the (.*) namespace$/
if $2 != 'root'
- send(:"#{$2}_#{$1}_path")
+ send "#{$2}_#{$1}_path"
else
- send(:"#{$1}_path")
+ send "#{$1}_path"
end
# same as above, except defaults to admin namespace
when /^the index page for (.*)$/
- send(:"admin_#{$1}_path")
+ send "admin_#{$1}_path"
when /^the last author's posts$/
admin_user_posts_path(User.last)
when /^the last author's last post page$/
- admin_user_post_path(User.last, Post.where(:author_id => User.last.id).last)
+ admin_user_post_path(User.last, Post.where(author_id: User.last.id).last)
when /^the last post's edit page$/
edit_admin_post_path(Post.last)
# Add more mappings here.
@@ -49,15 +56,16 @@
else
begin
page_name =~ /the (.*) page/
path_components = $1.split(/\s+/)
- self.send(path_components.push('path').join('_').to_sym)
+ self.send path_components.push('path').join('_')
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
+ url + params
end
end
World(NavigationHelpers)