Sha256: adf3e30aade41d17bc8c32a09d6ef8176087b5dad31caed0bf2599a242ae9fa9

Contents?: true

Size: 1.29 KB

Versions: 11

Compression:

Stored size: 1.29 KB

Contents

# -*- encoding : utf-8 -*-
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 dashboard page/
        '/admin'

      when /the sign in page/
        '/users/sign_in'

      when /edit profile page/
        "/admin/users/#{@me.id}/edit"

      when /new admin product page/
        '/admin/products/new'

      when /edit admin product page/
        "/admin/products/#{@product.id}/edit"

      when /the admin product page/
        "/admin/products/#{@product.id}"

      when /the collection products page/
        "/admin/collections/#{@collection.id}/products"

      when /the edit admin settings page/
        '/admin/settings/edit'

      when /the admin locators page/
        '/admin/locators'

      when /admin (\w+) page/
        "/admin/#{$1}"

      else
        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)

Version data entries

11 entries across 11 versions & 1 rubygems

Version Path
ab_admin-0.3.6 features/support/paths.rb
ab_admin-0.3.5 features/support/paths.rb
ab_admin-0.3.4 features/support/paths.rb
ab_admin-0.3.3 features/support/paths.rb
ab_admin-0.3.2 features/support/paths.rb
ab_admin-0.3.1 features/support/paths.rb
ab_admin-0.3.0 features/support/paths.rb
ab_admin-0.2.3 features/support/paths.rb
ab_admin-0.2.2 features/support/paths.rb
ab_admin-0.2.1 features/support/paths.rb
ab_admin-0.2.0 features/support/paths.rb