Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP
Browse files

Removed web_steps.rb references from step definitions

  • Loading branch information...
commit 2db97cf2277f7ca8a54027eac0a71d589dfeacb4 1 parent f92752f
Rhys Powell authored
View
1  Gemfile
@@ -49,6 +49,7 @@ group :production do
end
group :test do
+ gem "capybara"
gem "mocha"
gem "database_cleaner"
end
View
1  Gemfile.lock
@@ -234,6 +234,7 @@ PLATFORMS
DEPENDENCIES
bson_ext
cancan
+ capybara
coffee-rails (~> 3.1.0)
cucumber-rails
database_cleaner
View
32 features/step_definitions/user_steps.rb
@@ -16,13 +16,13 @@
Given /^I am signed up as "(.*)\/(.*)"$/ do |username, password|
step %{I am not logged in}
- step %{I go to the sign up page}
- step %{I fill in "Username" with "#{username}"}
- step %{I fill in "Email" with "#{username}@example.com"}
- step %{I fill in "Password" with "#{password}"}
- step %{I fill in "Password confirmation" with "#{password}"}
- step %{I press "Sign up"}
- step %{I should see "You have signed up successfully. If enabled, a confirmation was sent to your e-mail."}
+ visit(signup_path)
+ fill_in("Username", :with => username)
+ fill_in("Email", :with => "#{username}@example.com")
+ fill_in("Password", :with => password)
+ fill_in("Password confirmation", :with => password)
+ click_button("Sign up")
+ BROWSER.html.should include('signed up succesfully')
step %{I am logout}
end
@@ -40,22 +40,22 @@
When /^I sign in as "(.*)\/(.*)"$/ do |username, password|
step %{I am not logged in}
- step %{I go to the sign in page}
- step %{I fill in "Username" with "#{username}"}
- step %{I fill in "Password" with "#{password}"}
- step %{I press "Sign in"}
+ visit(login_path)
+ fill_in("Username", :with => username)
+ fill_in("Password", :with => password)
+ click_button("Sign in")
end
Then /^I should be signed in$/ do
- step %{I should see "Signed in successfully."}
+ BROWSER.html.should include("Signed in")
end
When /^I return next time$/ do
- step %{I go to the home page}
+ visit(root)
end
Then /^I should be signed out$/ do
- step %{I should see "Sign up"}
- step %{I should see "Login"}
- step %{I should not see "Logout"}
+ BROWSER.html.should include("Sign up")
+ BROWSER.html.should include("Login")
+ BROWSER.html.should_not include("Logout")
end
View
211 features/step_definitions/web_steps.rb
@@ -1,211 +0,0 @@
-# TL;DR: YOU SHOULD DELETE THIS FILE
-#
-# This file was generated by Cucumber-Rails and is only here to get you a head start
-# These step definitions are thin wrappers around the Capybara/Webrat API that lets you
-# visit pages, interact with widgets and make assertions about page content.
-#
-# If you use these step definitions as basis for your features you will quickly end up
-# with features that are:
-#
-# * Hard to maintain
-# * Verbose to read
-#
-# A much better approach is to write your own higher level step definitions, following
-# the advice in the following blog posts:
-#
-# * http://benmabey.com/2008/05/19/imperative-vs-declarative-scenarios-in-user-stories.html
-# * http://dannorth.net/2011/01/31/whose-domain-is-it-anyway/
-# * http://elabs.se/blog/15-you-re-cuking-it-wrong
-#
-
-
-require 'uri'
-require 'cgi'
-require File.expand_path(File.join(File.dirname(__FILE__), "..", "support", "paths"))
-require File.expand_path(File.join(File.dirname(__FILE__), "..", "support", "selectors"))
-
-module WithinHelpers
- def with_scope(locator)
- locator ? within(*selector_for(locator)) { yield } : yield
- end
-end
-World(WithinHelpers)
-
-# Single-line step scoper
-When /^(.*) within (.*[^:])$/ do |step, parent|
- with_scope(parent) { When step }
-end
-
-# Multi-line step scoper
-When /^(.*) within (.*[^:]):$/ do |step, parent, table_or_string|
- with_scope(parent) { When "#{step}:", table_or_string }
-end
-
-Given /^(?:|I )am on (.+)$/ do |page_name|
- visit path_to(page_name)
-end
-
-When /^(?:|I )go to (.+)$/ do |page_name|
- visit path_to(page_name)
-end
-
-When /^(?:|I )press "([^"]*)"$/ do |button|
- click_button(button)
-end
-
-When /^(?:|I )follow "([^"]*)"$/ do |link|
- click_link(link)
-end
-
-When /^(?:|I )fill in "([^"]*)" with "([^"]*)"$/ do |field, value|
- fill_in(field, :with => value)
-end
-
-When /^(?:|I )fill in "([^"]*)" for "([^"]*)"$/ do |value, field|
- fill_in(field, :with => value)
-end
-
-# Use this to fill in an entire form with data from a table. Example:
-#
-# When I fill in the following:
-# | Account Number | 5002 |
-# | Expiry date | 2009-11-01 |
-# | Note | Nice guy |
-# | Wants Email? | |
-#
-# TODO: Add support for checkbox, select og option
-# based on naming conventions.
-#
-When /^(?:|I )fill in the following:$/ do |fields|
- fields.rows_hash.each do |name, value|
- When %{I fill in "#{name}" with "#{value}"}
- end
-end
-
-When /^(?:|I )select "([^"]*)" from "([^"]*)"$/ do |value, field|
- select(value, :from => field)
-end
-
-When /^(?:|I )check "([^"]*)"$/ do |field|
- check(field)
-end
-
-When /^(?:|I )uncheck "([^"]*)"$/ do |field|
- uncheck(field)
-end
-
-When /^(?:|I )choose "([^"]*)"$/ do |field|
- choose(field)
-end
-
-When /^(?:|I )attach the file "([^"]*)" to "([^"]*)"$/ do |path, field|
- attach_file(field, File.expand_path(path))
-end
-
-Then /^(?:|I )should see "([^"]*)"$/ do |text|
- if page.respond_to? :should
- page.should have_content(text)
- else
- assert page.has_content?(text)
- end
-end
-
-Then /^(?:|I )should see \/([^\/]*)\/$/ do |regexp|
- regexp = Regexp.new(regexp)
-
- if page.respond_to? :should
- page.should have_xpath('//*', :text => regexp)
- else
- assert page.has_xpath?('//*', :text => regexp)
- end
-end
-
-Then /^(?:|I )should not see "([^"]*)"$/ do |text|
- if page.respond_to? :should
- page.should have_no_content(text)
- else
- assert page.has_no_content?(text)
- end
-end
-
-Then /^(?:|I )should not see \/([^\/]*)\/$/ do |regexp|
- regexp = Regexp.new(regexp)
-
- if page.respond_to? :should
- page.should have_no_xpath('//*', :text => regexp)
- else
- assert page.has_no_xpath?('//*', :text => regexp)
- end
-end
-
-Then /^the "([^"]*)" field(?: within (.*))? should contain "([^"]*)"$/ do |field, parent, value|
- with_scope(parent) do
- field = find_field(field)
- field_value = (field.tag_name == 'textarea') ? field.text : field.value
- if field_value.respond_to? :should
- field_value.should =~ /#{value}/
- else
- assert_match(/#{value}/, field_value)
- end
- end
-end
-
-Then /^the "([^"]*)" field(?: within (.*))? should not contain "([^"]*)"$/ do |field, parent, value|
- with_scope(parent) do
- field = find_field(field)
- field_value = (field.tag_name == 'textarea') ? field.text : field.value
- if field_value.respond_to? :should_not
- field_value.should_not =~ /#{value}/
- else
- assert_no_match(/#{value}/, field_value)
- end
- end
-end
-
-Then /^the "([^"]*)" checkbox(?: within (.*))? should be checked$/ do |label, parent|
- with_scope(parent) do
- field_checked = find_field(label)['checked']
- if field_checked.respond_to? :should
- field_checked.should be_true
- else
- assert field_checked
- end
- end
-end
-
-Then /^the "([^"]*)" checkbox(?: within (.*))? should not be checked$/ do |label, parent|
- with_scope(parent) do
- field_checked = find_field(label)['checked']
- if field_checked.respond_to? :should
- field_checked.should be_false
- else
- assert !field_checked
- end
- end
-end
-
-Then /^(?:|I )should be on (.+)$/ do |page_name|
- current_path = URI.parse(current_url).path
- if current_path.respond_to? :should
- current_path.should == path_to(page_name)
- else
- assert_equal path_to(page_name), current_path
- end
-end
-
-Then /^(?:|I )should have the following query string:$/ do |expected_pairs|
- query = URI.parse(current_url).query
- actual_params = query ? CGI.parse(query) : {}
- expected_params = {}
- expected_pairs.rows_hash.each_pair{|k,v| expected_params[k] = v.split(',')}
-
- if actual_params.respond_to? :should
- actual_params.should == expected_params
- else
- assert_equal expected_params, actual_params
- end
-end
-
-Then /^show me the page$/ do
- save_and_open_page
-end
Please sign in to comment.
Something went wrong with that request. Please try again.