engine/features/step_definitions/admin_steps.rb

66 lines
1.8 KiB
Ruby
Raw Normal View History

### Authentication
Given /^I am not authenticated$/ do
visit('/admin/sign_out')
end
Given /^I am an authenticated "([^"]*)"$/ do |role|
2011-08-25 21:28:56 +00:00
@member = Site.first.memberships.where(:role => role.downcase).first || FactoryGirl.create(role.downcase.to_sym, :site => Site.first)
step %{I go to login}
step %{I fill in "Email" with "#{@member.account.email}"}
step %{I fill in "Password" with "easyone"}
step %{I press "Log in"}
end
Given /^I am an authenticated user$/ do
step %{I am an authenticated "admin"}
end
Then /^I should see the access denied message$/ do
step %{I should see "You are not authorized to access this page"}
end
Then /^I am redirected to "([^\"]*)"$/ do |url|
assert [301, 302].include?(@integration_session.status), "Expected status to be 301 or 302, got #{@integration_session.status}"
location = @integration_session.headers["Location"]
assert_equal url, location
visit location
end
Given /^I have an admin account$/ do
@member = Site.first.memberships.where(:role => 'admin').first || FactoryGirl.create(:admin, :site => Site.first, :password => 'easyone')
@email = @member.account.email
@password = 'easyone'
end
Given /^I attempt to access an admin page when not logged in$/ do
@admin_path = edit_admin_current_site_path
visit @admin_path
end
When /^I login with my admin account$/ do
fill_in 'Email', :with => @email
fill_in 'Password', :with => @password
click_button 'Log in'
end
Then /^I should be redirected the the admin page I was attempting to access$/ do
save_and_open_page
current_path.should == edit_admin_current_site_path
end
### Cross-domain authentication
When /^I forget to press the button on the cross-domain notice page$/ do
@admin.updated_at = 2.minutes.ago
Mongoid::Persistence::Update.new(@admin).send(:update)
end
### Common
Then /^I debug$/ do
debugger
0
end