Move Profile groups tests to Dashboard group tests

This commit is contained in:
Dmitriy Zaporozhets 2015-03-08 20:52:22 -07:00
parent 9b3e156e43
commit 7e4258777f
5 changed files with 73 additions and 76 deletions

View file

@ -1,4 +1,4 @@
@profile @dashboard
Feature: Profile Group Feature: Profile Group
Background: Background:
Given I sign in as "John Doe" Given I sign in as "John Doe"
@ -10,18 +10,18 @@ Feature: Profile Group
@javascript @javascript
Scenario: Owner should be able to leave from group if he is not the last owner Scenario: Owner should be able to leave from group if he is not the last owner
Given "Mary Jane" is owner of group "Owned" Given "Mary Jane" is owner of group "Owned"
When I visit profile groups page When I visit dashboard groups page
Then I should see group "Owned" in group list Then I should see group "Owned" in group list
Then I should see group "Guest" in group list Then I should see group "Guest" in group list
When I click on the "Leave" button for group "Owned" When I click on the "Leave" button for group "Owned"
And I visit profile groups page And I visit dashboard groups page
Then I should not see group "Owned" in group list Then I should not see group "Owned" in group list
Then I should see group "Guest" in group list Then I should see group "Guest" in group list
@javascript @javascript
Scenario: Owner should not be able to leave from group if he is the last owner Scenario: Owner should not be able to leave from group if he is the last owner
Given "Mary Jane" is guest of group "Owned" Given "Mary Jane" is guest of group "Owned"
When I visit profile groups page When I visit dashboard groups page
Then I should see group "Owned" in group list Then I should see group "Owned" in group list
Then I should see group "Guest" in group list Then I should see group "Guest" in group list
Then I should not see the "Leave" button for group "Owned" Then I should not see the "Leave" button for group "Owned"
@ -29,20 +29,20 @@ Feature: Profile Group
@javascript @javascript
Scenario: Guest should be able to leave from group Scenario: Guest should be able to leave from group
Given "Mary Jane" is guest of group "Guest" Given "Mary Jane" is guest of group "Guest"
When I visit profile groups page When I visit dashboard groups page
Then I should see group "Owned" in group list Then I should see group "Owned" in group list
Then I should see group "Guest" in group list Then I should see group "Guest" in group list
When I click on the "Leave" button for group "Guest" When I click on the "Leave" button for group "Guest"
When I visit profile groups page When I visit dashboard groups page
Then I should see group "Owned" in group list Then I should see group "Owned" in group list
Then I should not see group "Guest" in group list Then I should not see group "Guest" in group list
@javascript @javascript
Scenario: Guest should be able to leave from group even if he is the only user in the group Scenario: Guest should be able to leave from group even if he is the only user in the group
When I visit profile groups page When I visit dashboard groups page
Then I should see group "Owned" in group list Then I should see group "Owned" in group list
Then I should see group "Guest" in group list Then I should see group "Guest" in group list
When I click on the "Leave" button for group "Guest" When I click on the "Leave" button for group "Guest"
When I visit profile groups page When I visit dashboard groups page
Then I should see group "Owned" in group list Then I should see group "Owned" in group list
Then I should not see group "Guest" in group list Then I should not see group "Guest" in group list

View file

@ -1,4 +1,4 @@
class Spinach::Features::ProfileGroup < Spinach::FeatureSteps class Spinach::Features::DashboardGroup < Spinach::FeatureSteps
include SharedAuthentication include SharedAuthentication
include SharedGroup include SharedGroup
include SharedPaths include SharedPaths

View file

@ -87,6 +87,14 @@ module SharedPaths
visit help_path visit help_path
end end
step 'I visit dashboard groups page' do
visit dashboard_groups_path
end
step 'I should be redirected to the dashboard groups page' do
current_path.should == dashboard_groups_path
end
# ---------------------------------------- # ----------------------------------------
# Profile # Profile
# ---------------------------------------- # ----------------------------------------
@ -119,14 +127,6 @@ module SharedPaths
visit history_profile_path visit history_profile_path
end end
step 'I visit profile groups page' do
visit profile_groups_path
end
step 'I should be redirected to the profile groups page' do
current_path.should == profile_groups_path
end
# ---------------------------------------- # ----------------------------------------
# Admin # Admin
# ---------------------------------------- # ----------------------------------------

View file

@ -52,4 +52,12 @@ describe "Dashboard access", feature: true do
it { expect(new_group_path).to be_allowed_for :user } it { expect(new_group_path).to be_allowed_for :user }
it { expect(new_group_path).to be_denied_for :visitor } it { expect(new_group_path).to be_denied_for :visitor }
end end
describe "GET /profile/groups" do
subject { dashboard_groups_path }
it { is_expected.to be_allowed_for :admin }
it { is_expected.to be_allowed_for :user }
it { is_expected.to be_denied_for :visitor }
end
end end

View file

@ -1,76 +1,65 @@
require 'spec_helper' require 'spec_helper'
describe "Users Security", feature: true do describe "Profile access", feature: true do
describe "Project" do before do
before do @u1 = create(:user)
@u1 = create(:user) end
end
describe "GET /login" do describe "GET /login" do
it { expect(new_user_session_path).not_to be_404_for :visitor } it { expect(new_user_session_path).not_to be_404_for :visitor }
end end
describe "GET /profile/keys" do describe "GET /profile/keys" do
subject { profile_keys_path } subject { profile_keys_path }
it { is_expected.to be_allowed_for @u1 } it { is_expected.to be_allowed_for @u1 }
it { is_expected.to be_allowed_for :admin } it { is_expected.to be_allowed_for :admin }
it { is_expected.to be_allowed_for :user } it { is_expected.to be_allowed_for :user }
it { is_expected.to be_denied_for :visitor } it { is_expected.to be_denied_for :visitor }
end end
describe "GET /profile" do describe "GET /profile" do
subject { profile_path } subject { profile_path }
it { is_expected.to be_allowed_for @u1 } it { is_expected.to be_allowed_for @u1 }
it { is_expected.to be_allowed_for :admin } it { is_expected.to be_allowed_for :admin }
it { is_expected.to be_allowed_for :user } it { is_expected.to be_allowed_for :user }
it { is_expected.to be_denied_for :visitor } it { is_expected.to be_denied_for :visitor }
end end
describe "GET /profile/account" do describe "GET /profile/account" do
subject { profile_account_path } subject { profile_account_path }
it { is_expected.to be_allowed_for @u1 } it { is_expected.to be_allowed_for @u1 }
it { is_expected.to be_allowed_for :admin } it { is_expected.to be_allowed_for :admin }
it { is_expected.to be_allowed_for :user } it { is_expected.to be_allowed_for :user }
it { is_expected.to be_denied_for :visitor } it { is_expected.to be_denied_for :visitor }
end end
describe "GET /profile/design" do describe "GET /profile/design" do
subject { design_profile_path } subject { design_profile_path }
it { is_expected.to be_allowed_for @u1 } it { is_expected.to be_allowed_for @u1 }
it { is_expected.to be_allowed_for :admin } it { is_expected.to be_allowed_for :admin }
it { is_expected.to be_allowed_for :user } it { is_expected.to be_allowed_for :user }
it { is_expected.to be_denied_for :visitor } it { is_expected.to be_denied_for :visitor }
end end
describe "GET /profile/history" do describe "GET /profile/history" do
subject { history_profile_path } subject { history_profile_path }
it { is_expected.to be_allowed_for @u1 } it { is_expected.to be_allowed_for @u1 }
it { is_expected.to be_allowed_for :admin } it { is_expected.to be_allowed_for :admin }
it { is_expected.to be_allowed_for :user } it { is_expected.to be_allowed_for :user }
it { is_expected.to be_denied_for :visitor } it { is_expected.to be_denied_for :visitor }
end end
describe "GET /profile/notifications" do describe "GET /profile/notifications" do
subject { profile_notifications_path } subject { profile_notifications_path }
it { is_expected.to be_allowed_for @u1 } it { is_expected.to be_allowed_for @u1 }
it { is_expected.to be_allowed_for :admin } it { is_expected.to be_allowed_for :admin }
it { is_expected.to be_allowed_for :user } it { is_expected.to be_allowed_for :user }
it { is_expected.to be_denied_for :visitor } it { is_expected.to be_denied_for :visitor }
end
describe "GET /profile/groups" do
subject { profile_groups_path }
it { is_expected.to be_allowed_for @u1 }
it { is_expected.to be_allowed_for :admin }
it { is_expected.to be_allowed_for :user }
it { is_expected.to be_denied_for :visitor }
end
end end
end end