diff options
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.rb | 26 |
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 |