Commit 3b80d68f authored by Marin Jankovski's avatar Marin Jankovski

Add in the tests.

parent 07b9d806
...@@ -24,3 +24,15 @@ Feature: Project Redirects ...@@ -24,3 +24,15 @@ Feature: Project Redirects
Given I sign in as a user Given I sign in as a user
When I visit project "Enterprise" page When I visit project "Enterprise" page
Then page status code should be 404 Then page status code should be 404
Scenario: I visit a public project without signing in
When I visit project "Community" page
And I should see project "Community" home page
And I click on "Sign In"
And Authenticate
Then I should be redirected to "Community" page
Scenario: I visit private project page without signing in
When I visit project "Enterprise" page
And I get redirected to signin page where I sign in
Then I should be redirected to "Enterprise" page
...@@ -31,5 +31,40 @@ class Spinach::Features::ProjectRedirects < Spinach::FeatureSteps ...@@ -31,5 +31,40 @@ class Spinach::Features::ProjectRedirects < Spinach::FeatureSteps
project = Project.find_by(name: 'Community') project = Project.find_by(name: 'Community')
visit project_path(project) + 'DoesNotExist' visit project_path(project) + 'DoesNotExist'
end end
end
step 'I click on "Sign In"' do
within '.pull-right' do
click_link "Sign in"
end
end
step 'Authenticate' do
admin = create(:admin)
project = Project.find_by(name: 'Community')
fill_in "user_login", with: admin.email
fill_in "user_password", with: admin.password
click_button "Sign in"
Thread.current[:current_user] = admin
end
step 'I should be redirected to "Community" page' do
project = Project.find_by(name: 'Community')
page.current_path.should == "/#{project.path_with_namespace}"
page.status_code.should == 200
end
step 'I get redirected to signin page where I sign in' do
admin = create(:admin)
project = Project.find_by(name: 'Enterprise')
fill_in "user_login", with: admin.email
fill_in "user_password", with: admin.password
click_button "Sign in"
Thread.current[:current_user] = admin
end
step 'I should be redirected to "Enterprise" page' do
project = Project.find_by(name: 'Enterprise')
page.current_path.should == "/#{project.path_with_namespace}"
page.status_code.should == 200
end
end
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment