summaryrefslogtreecommitdiff
path: root/spec/support/shared_examples/features/wiki/user_deletes_wiki_page_shared_examples.rb
blob: 55c89977a99a63543ed784699e83a84588d0cd6f (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
# frozen_string_literal: true

# Requires a context containing:
#   wiki
#   user

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

  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 }

    it_behaves_like 'deletes a wiki page'
  end
end