summaryrefslogtreecommitdiff
path: root/spec/support/shared_examples/features/wiki/user_deletes_wiki_page_shared_examples.rb
diff options
context:
space:
mode:
Diffstat (limited to 'spec/support/shared_examples/features/wiki/user_deletes_wiki_page_shared_examples.rb')
-rw-r--r--spec/support/shared_examples/features/wiki/user_deletes_wiki_page_shared_examples.rb26
1 files changed, 21 insertions, 5 deletions
diff --git a/spec/support/shared_examples/features/wiki/user_deletes_wiki_page_shared_examples.rb b/spec/support/shared_examples/features/wiki/user_deletes_wiki_page_shared_examples.rb
index ee0261771f9..55c89977a99 100644
--- a/spec/support/shared_examples/features/wiki/user_deletes_wiki_page_shared_examples.rb
+++ b/spec/support/shared_examples/features/wiki/user_deletes_wiki_page_shared_examples.rb
@@ -7,18 +7,34 @@
RSpec.shared_examples 'User deletes wiki page' do
include WikiHelpers
+ let_it_be(:developer) { create(:user) }
+
let(:wiki_page) { create(:wiki_page, wiki: wiki) }
before do
+ wiki.container.add_developer(developer)
+
sign_in(user)
visit wiki_page_path(wiki, wiki_page)
end
- it 'deletes a page', :js do
- click_on('Edit')
- click_on('Delete')
- find('[data-testid="confirm_deletion_button"]').click
+ shared_examples 'deletes a wiki page' do
+ specify 'deletes a page', :js do
+ click_on('Edit')
+ click_on('Delete')
+ find('[data-testid="confirm_deletion_button"]').click
+
+ expect(page).to have_content('Wiki page was successfully deleted.')
+ end
+ end
+
+ context 'when user is the owner or maintainer' do
+ it_behaves_like 'deletes a wiki page'
+ end
+
+ context 'when user is a developer' do
+ let(:user) { developer }
- expect(page).to have_content('Wiki page was successfully deleted.')
+ it_behaves_like 'deletes a wiki page'
end
end