Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Complete feature #25

Open
wants to merge 2 commits into
base: master
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
14 changes: 14 additions & 0 deletions Gemfile.lock
Original file line number Diff line number Diff line change
Expand Up @@ -40,10 +40,19 @@ GEM
rack
rack-test (0.6.2)
rack (>= 1.0)
rspec (3.1.0)
rspec-core (~> 3.1.0)
rspec-expectations (~> 3.1.0)
rspec-mocks (~> 3.1.0)
rspec-core (3.1.7)
rspec-support (~> 3.1.0)
rspec-expectations (3.1.2)
diff-lcs (>= 1.2.0, < 2.0)
rspec-support (~> 3.1.0)
rspec-mocks (3.1.3)
rspec-support (~> 3.1.0)
rspec-support (3.1.2)
sass (3.4.22)
sinatra (1.4.5)
rack (~> 1.4)
rack-protection (~> 1.4)
Expand All @@ -66,5 +75,10 @@ DEPENDENCIES
cucumber-sinatra
haml
pry
rspec
rspec-expectations
sass
sinatra

BUNDLED WITH
1.12.5
6 changes: 5 additions & 1 deletion features/login.feature
Original file line number Diff line number Diff line change
Expand Up @@ -7,4 +7,8 @@ Feature: Login Page
Given the login page
When I log in with proper credentials
Then I should see the secret page


Scenario: Bad Credentals
Given the login page
When I log in with incorrect credentials
Then I should see the error page
11 changes: 10 additions & 1 deletion features/logout.feature
Original file line number Diff line number Diff line change
@@ -1 +1,10 @@
#Add your codez here
Feature: Logout Page
As a user
After I have correctly logged in
I want to have to logout

Scenario: Logout
Given the login page
When I log in with proper credentials
When I logout
Then I should see the logout page
14 changes: 5 additions & 9 deletions features/step_definitions/login_steps.rb
Original file line number Diff line number Diff line change
@@ -1,14 +1,10 @@
Given(/^the login page$/) do
#put your code here
pending
visit '/'
end

When(/^I log in with proper credentials$/) do
#put your code here
pending
end
When(/^I log in with (proper|incorrect) credentials$/) do |_situation|
fill_in 'username', with: 'test'

Then(/^I should see the secret page$/) do
#put your code here
pending
fill_in 'password', with: _situation == 'proper' ? 'test' : 'bad'
click_button 'Login'
end
4 changes: 3 additions & 1 deletion features/step_definitions/logout_steps.rb
Original file line number Diff line number Diff line change
@@ -1 +1,3 @@
#Add your codez here
When(/^I logout$/) do
click_link 'Logout'
end
15 changes: 15 additions & 0 deletions features/step_definitions/step_helper.rb
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
SECRET_PAGE = 'secret'.freeze
ERROR_PAGE = 'error'.freeze
LOGOUT_PAGE = 'logout'.freeze
SECRET_PAGE_TEXT = 'This is the secret page'.freeze
ERROR_PAGE_TEXT = 'Your username & password did not match'.freeze
LOGOUT_PAGE_TEXT = 'You have been logged out'.freeze

Then(/^I should see the (#{SECRET_PAGE}|#{ERROR_PAGE}|#{LOGOUT_PAGE}) page$/) do |_situation|
case _situation
when -> (s) { s == SECRET_PAGE } then expected_display_text = SECRET_PAGE_TEXT
when -> (s) { s == ERROR_PAGE } then expected_display_text = ERROR_PAGE_TEXT
when -> (s) { s == LOGOUT_PAGE } then expected_display_text = LOGOUT_PAGE_TEXT
end
expect(page).to have_content expected_display_text
end