summaryrefslogtreecommitdiff
path: root/spec/features/projects
diff options
context:
space:
mode:
Diffstat (limited to 'spec/features/projects')
-rw-r--r--spec/features/projects/members/master_manages_access_requests_spec.rb14
-rw-r--r--spec/features/projects/members/user_requests_access_spec.rb32
2 files changed, 21 insertions, 25 deletions
diff --git a/spec/features/projects/members/master_manages_access_requests_spec.rb b/spec/features/projects/members/master_manages_access_requests_spec.rb
index 1b5490ba97f..5fe4caa12f0 100644
--- a/spec/features/projects/members/master_manages_access_requests_spec.rb
+++ b/spec/features/projects/members/master_manages_access_requests_spec.rb
@@ -22,12 +22,10 @@ feature 'Projects > Members > Master manages access requests', feature: true do
expect_visible_access_request(project, user)
- perform_enqueued_jobs do
- click_on 'Grant access'
- end
+ perform_enqueued_jobs { click_on 'Grant access' }
expect(ActionMailer::Base.deliveries.last.to).to eq [user.notification_email]
- expect(ActionMailer::Base.deliveries.last.subject).to match /Access to #{project.name_with_namespace} project was granted/
+ expect(ActionMailer::Base.deliveries.last.subject).to match "Access to the #{project.name_with_namespace} project was granted"
end
scenario 'master can deny access' do
@@ -35,16 +33,14 @@ feature 'Projects > Members > Master manages access requests', feature: true do
expect_visible_access_request(project, user)
- perform_enqueued_jobs do
- click_on 'Deny access'
- end
+ perform_enqueued_jobs { click_on 'Deny access' }
expect(ActionMailer::Base.deliveries.last.to).to eq [user.notification_email]
- expect(ActionMailer::Base.deliveries.last.subject).to match /Access to #{project.name_with_namespace} project was denied/
+ expect(ActionMailer::Base.deliveries.last.subject).to match "Access to the #{project.name_with_namespace} project was denied"
end
def expect_visible_access_request(project, user)
- expect(project.access_requested?(user)).to be_truthy
+ expect(project.members.request.exists?(user_id: user)).to be_truthy
expect(page).to have_content "#{project.name} access requests (1)"
expect(page).to have_content user.name
end
diff --git a/spec/features/projects/members/user_requests_access_spec.rb b/spec/features/projects/members/user_requests_access_spec.rb
index 58a7ec1880d..fd92a3a2f0c 100644
--- a/spec/features/projects/members/user_requests_access_spec.rb
+++ b/spec/features/projects/members/user_requests_access_spec.rb
@@ -8,30 +8,27 @@ feature 'Projects > Members > User requests access', feature: true do
background do
project.team << [master, :master]
login_as(user)
+ visit namespace_project_path(project.namespace, project)
end
scenario 'user can request access to a project' do
- visit namespace_project_path(project.namespace, project)
-
- perform_enqueued_jobs do
- click_link 'Request Access'
- end
+ perform_enqueued_jobs { click_link 'Request Access' }
expect(ActionMailer::Base.deliveries.last.to).to eq [master.notification_email]
- expect(ActionMailer::Base.deliveries.last.subject).to match /Request to join #{project.name_with_namespace} project/
+ expect(ActionMailer::Base.deliveries.last.subject).to eq "Request to join the #{project.name_with_namespace} project"
- expect(project.access_requested?(user)).to be_truthy
+ expect(project.members.request.exists?(user_id: user)).to be_truthy
expect(page).to have_content 'Your request for access has been queued for review.'
- expect(page).to have_content 'Withdraw Request'
+
+ expect(page).to have_content 'Withdraw Access Request'
end
scenario 'user is not listed in the project members page' do
- visit namespace_project_path(project.namespace, project)
-
click_link 'Request Access'
- expect(project.access_requested?(user)).to be_truthy
+ expect(project.members.request.exists?(user_id: user)).to be_truthy
+ open_project_settings_menu
click_link 'Members'
visit namespace_project_project_members_path(project.namespace, project)
@@ -41,14 +38,17 @@ feature 'Projects > Members > User requests access', feature: true do
end
scenario 'user can withdraw its request for access' do
- visit namespace_project_path(project.namespace, project)
click_link 'Request Access'
- expect(project.access_requested?(user)).to be_truthy
+ expect(project.members.request.exists?(user_id: user)).to be_truthy
- click_link 'Withdraw Request'
+ click_link 'Withdraw Access Request'
+
+ expect(project.members.request.exists?(user_id: user)).to be_falsey
+ expect(page).to have_content 'Your access request to the project has been withdrawn.'
+ end
- expect(project.access_requested?(user)).to be_falsey
- expect(page).to have_content 'You withdrawn your access request to the project.'
+ def open_project_settings_menu
+ find('#project-settings-button').click
end
end