summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--features/dashboard/group.feature (renamed from features/profile/group.feature)16
-rw-r--r--features/steps/dashboard/group.rb (renamed from features/steps/profile/group.rb)2
-rw-r--r--features/steps/shared/paths.rb16
-rw-r--r--spec/features/security/dashboard_access_spec.rb8
-rw-r--r--spec/features/security/profile_access_spec.rb107
5 files changed, 73 insertions, 76 deletions
diff --git a/features/profile/group.feature b/features/dashboard/group.feature
index e2fbfde77be..0e4acb325b7 100644
--- a/features/profile/group.feature
+++ b/features/dashboard/group.feature
@@ -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
diff --git a/features/steps/profile/group.rb b/features/steps/dashboard/group.rb
index 0a10e04e219..09d7717b67b 100644
--- a/features/steps/profile/group.rb
+++ b/features/steps/dashboard/group.rb
@@ -1,4 +1,4 @@
-class Spinach::Features::ProfileGroup < Spinach::FeatureSteps
+class Spinach::Features::DashboardGroup < Spinach::FeatureSteps
include SharedAuthentication
include SharedGroup
include SharedPaths
diff --git a/features/steps/shared/paths.rb b/features/steps/shared/paths.rb
index 835b644e6c7..db6417bf951 100644
--- a/features/steps/shared/paths.rb
+++ b/features/steps/shared/paths.rb
@@ -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
# ----------------------------------------
diff --git a/spec/features/security/dashboard_access_spec.rb b/spec/features/security/dashboard_access_spec.rb
index d1f00a3dd82..3d2d8a3502c 100644
--- a/spec/features/security/dashboard_access_spec.rb
+++ b/spec/features/security/dashboard_access_spec.rb
@@ -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
diff --git a/spec/features/security/profile_access_spec.rb b/spec/features/security/profile_access_spec.rb
index 5f254c42e58..2512a9c0e3d 100644
--- a/spec/features/security/profile_access_spec.rb
+++ b/spec/features/security/profile_access_spec.rb
@@ -1,76 +1,65 @@
require 'spec_helper'
-describe "Users Security", feature: true do
- describe "Project" 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 /profile/keys" do
- subject { profile_keys_path }
+describe "Profile access", feature: true do
+ before do
+ @u1 = create(:user)
+ 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 /login" do
+ it { expect(new_user_session_path).not_to be_404_for :visitor }
+ end
- describe "GET /profile" do
- subject { profile_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/account" do
- subject { profile_account_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/design" do
- subject { design_profile_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/history" do
- subject { history_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/notifications" do
- subject { profile_notifications_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/groups" do
- subject { profile_groups_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
+ 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