Move Profile groups tests to Dashboard group tests
This commit is contained in:
parent
9b3e156e43
commit
7e4258777f
5 changed files with 73 additions and 76 deletions
|
@ -1,4 +1,4 @@
|
|||
@profile
|
||||
@dashboard
|
||||
Feature: Profile Group
|
||||
Background:
|
||||
Given I sign in as "John Doe"
|
||||
|
@ -10,18 +10,18 @@ Feature: Profile Group
|
|||
@javascript
|
||||
Scenario: Owner should be able to leave from group if he is not the last owner
|
||||
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 "Guest" in group list
|
||||
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 see group "Guest" in group list
|
||||
|
||||
@javascript
|
||||
Scenario: Owner should not be able to leave from group if he is the last owner
|
||||
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 "Guest" in group list
|
||||
Then I should not see the "Leave" button for group "Owned"
|
||||
|
@ -29,20 +29,20 @@ Feature: Profile Group
|
|||
@javascript
|
||||
Scenario: Guest should be able to leave from group
|
||||
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 "Guest" in group list
|
||||
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 not see group "Guest" in group list
|
||||
|
||||
@javascript
|
||||
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 "Guest" in group list
|
||||
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 not see group "Guest" in group list
|
|
@ -1,4 +1,4 @@
|
|||
class Spinach::Features::ProfileGroup < Spinach::FeatureSteps
|
||||
class Spinach::Features::DashboardGroup < Spinach::FeatureSteps
|
||||
include SharedAuthentication
|
||||
include SharedGroup
|
||||
include SharedPaths
|
|
@ -87,6 +87,14 @@ module SharedPaths
|
|||
visit help_path
|
||||
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
|
||||
# ----------------------------------------
|
||||
|
@ -119,14 +127,6 @@ module SharedPaths
|
|||
visit history_profile_path
|
||||
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
|
||||
# ----------------------------------------
|
||||
|
|
|
@ -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_denied_for :visitor }
|
||||
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
|
||||
|
|
|
@ -1,76 +1,65 @@
|
|||
require 'spec_helper'
|
||||
|
||||
describe "Users Security", feature: true do
|
||||
describe "Project" do
|
||||
before do
|
||||
@u1 = create(:user)
|
||||
end
|
||||
describe "Profile access", feature: true do
|
||||
before do
|
||||
@u1 = create(:user)
|
||||
end
|
||||
|
||||
describe "GET /login" do
|
||||
it { expect(new_user_session_path).not_to be_404_for :visitor }
|
||||
end
|
||||
describe "GET /login" do
|
||||
it { expect(new_user_session_path).not_to be_404_for :visitor }
|
||||
end
|
||||
|
||||
describe "GET /profile/keys" do
|
||||
subject { profile_keys_path }
|
||||
describe "GET /profile/keys" do
|
||||
subject { profile_keys_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
|
||||
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
|
||||
|
||||
describe "GET /profile" do
|
||||
subject { profile_path }
|
||||
describe "GET /profile" do
|
||||
subject { profile_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
|
||||
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
|
||||
|
||||
describe "GET /profile/account" do
|
||||
subject { profile_account_path }
|
||||
describe "GET /profile/account" do
|
||||
subject { profile_account_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
|
||||
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
|
||||
|
||||
describe "GET /profile/design" do
|
||||
subject { design_profile_path }
|
||||
describe "GET /profile/design" do
|
||||
subject { design_profile_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
|
||||
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
|
||||
|
||||
describe "GET /profile/history" do
|
||||
subject { history_profile_path }
|
||||
describe "GET /profile/history" do
|
||||
subject { history_profile_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
|
||||
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
|
||||
|
||||
describe "GET /profile/notifications" do
|
||||
subject { profile_notifications_path }
|
||||
describe "GET /profile/notifications" do
|
||||
subject { profile_notifications_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
|
||||
|
||||
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
|
||||
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
|
||||
|
|
Loading…
Reference in a new issue