40 lines
1.1 KiB
Ruby
40 lines
1.1 KiB
Ruby
include Warden::Test::Helpers
|
|
Warden.test_mode!
|
|
|
|
# Feature: User profile page
|
|
# As a user
|
|
# I want to visit my user profile page
|
|
# So I can see my personal account data
|
|
feature 'User profile page', :devise do
|
|
|
|
after(:each) do
|
|
Warden.test_reset!
|
|
end
|
|
|
|
# Scenario: User sees own profile
|
|
# Given I am signed in
|
|
# When I visit the user profile page
|
|
# Then I see my own email address
|
|
scenario 'user sees own profile' do
|
|
user = FactoryGirl.create(:user)
|
|
login_as(user, :scope => :user)
|
|
visit user_path(user)
|
|
expect(page).to have_content 'User'
|
|
expect(page).to have_content user.email
|
|
end
|
|
|
|
# Scenario: User cannot see another user's profile
|
|
# Given I am signed in
|
|
# When I visit another user's profile
|
|
# Then I see an 'access denied' message
|
|
scenario "user cannot see another user's profile" do
|
|
me = FactoryGirl.create(:user)
|
|
other = FactoryGirl.create(:user, email: 'other@example.com')
|
|
login_as(me, :scope => :user)
|
|
Capybara.current_session.driver.header 'Referer', root_path
|
|
visit user_path(other)
|
|
expect(page).to have_content 'Access denied.'
|
|
end
|
|
|
|
end
|