summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAlexandru Croitor <acroitor@gitlab.com>2019-04-03 14:41:49 +0300
committerAlexandru Croitor <acroitor@gitlab.com>2019-04-05 00:25:34 +0300
commit08e2bc390f438dc5cd28d40651e369f85b95cbc1 (patch)
tree04200801e58543162d9755b4ac91d5806dbb44f3
parent1ddd9eff6dd931b0689743d571b7bf3fccedb979 (diff)
downloadgitlab-ce-59570-remove-due-date-quick-action.tar.gz
Extract remove due date spec to shared example59570-remove-due-date-quick-action
-rw-r--r--spec/features/issues/user_uses_quick_actions_spec.rb21
-rw-r--r--spec/support/shared_examples/quick_actions/issue/remove_due_date_quick_action_shared_examples.rb40
2 files changed, 27 insertions, 34 deletions
diff --git a/spec/features/issues/user_uses_quick_actions_spec.rb b/spec/features/issues/user_uses_quick_actions_spec.rb
index 426e205b30b..6a8b5e76cda 100644
--- a/spec/features/issues/user_uses_quick_actions_spec.rb
+++ b/spec/features/issues/user_uses_quick_actions_spec.rb
@@ -43,7 +43,7 @@ describe 'Issues > User uses quick actions', :js do
describe 'issue-only commands' do
let(:user) { create(:user) }
let(:project) { create(:project, :public) }
- let(:issue) { create(:issue, project: project) }
+ let(:issue) { create(:issue, project: project, due_date: Date.new(2016, 8, 28)) }
before do
project.add_maintainer(user)
@@ -57,6 +57,7 @@ describe 'Issues > User uses quick actions', :js do
end
it_behaves_like 'confidential quick action'
+ it_behaves_like 'remove_due_date quick action'
describe 'adding a due date from note' do
let(:issue) { create(:issue, project: project) }
@@ -76,24 +77,6 @@ describe 'Issues > User uses quick actions', :js do
end
end
- describe 'removing a due date from note' do
- let(:issue) { create(:issue, project: project, due_date: Date.new(2016, 8, 28)) }
-
- it_behaves_like 'remove_due_date action available and due date can be removed'
-
- context 'when the current user cannot update the due date' do
- let(:guest) { create(:user) }
- before do
- project.add_guest(guest)
- gitlab_sign_out
- sign_in(guest)
- visit project_issue_path(project, issue)
- end
-
- it_behaves_like 'remove_due_date action not available'
- end
- end
-
describe 'toggling the WIP prefix from the title from note' do
let(:issue) { create(:issue, project: project) }
diff --git a/spec/support/shared_examples/quick_actions/issue/remove_due_date_quick_action_shared_examples.rb b/spec/support/shared_examples/quick_actions/issue/remove_due_date_quick_action_shared_examples.rb
index 5904164fcfc..dd1676a08e2 100644
--- a/spec/support/shared_examples/quick_actions/issue/remove_due_date_quick_action_shared_examples.rb
+++ b/spec/support/shared_examples/quick_actions/issue/remove_due_date_quick_action_shared_examples.rb
@@ -1,25 +1,35 @@
# frozen_string_literal: true
-shared_examples 'remove_due_date action not available' do
- it 'does not remove the due date' do
- add_note("/remove_due_date")
+shared_examples 'remove_due_date quick action' do
+ context 'remove_due_date action available and due date can be removed' do
+ it 'removes the due date accordingly' do
+ add_note('/remove_due_date')
- expect(page).not_to have_content 'Commands applied'
- expect(page).not_to have_content '/remove_due_date'
- end
-end
+ expect(page).not_to have_content '/remove_due_date'
+ expect(page).to have_content 'Commands applied'
+
+ visit project_issue_path(project, issue)
-shared_examples 'remove_due_date action available and due date can be removed' do
- it 'removes the due date accordingly' do
- add_note('/remove_due_date')
+ page.within '.due_date' do
+ expect(page).to have_content 'No due date'
+ end
+ end
+ end
- expect(page).not_to have_content '/remove_due_date'
- expect(page).to have_content 'Commands applied'
+ context 'remove_due_date action not available' do
+ let(:guest) { create(:user) }
+ before do
+ project.add_guest(guest)
+ gitlab_sign_out
+ sign_in(guest)
+ visit project_issue_path(project, issue)
+ end
- visit project_issue_path(project, issue)
+ it 'does not remove the due date' do
+ add_note("/remove_due_date")
- page.within '.due_date' do
- expect(page).to have_content 'No due date'
+ expect(page).not_to have_content 'Commands applied'
+ expect(page).not_to have_content '/remove_due_date'
end
end
end