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
|
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
|
|
@ -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
|
|
@ -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
|
||||||
# ----------------------------------------
|
# ----------------------------------------
|
||||||
|
|
|
@ -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
|
||||||
|
|
|
@ -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
|
||||||
|
|
Loading…
Reference in a new issue