Manage publicities
This commit is contained in:
@@ -1,7 +1,8 @@
|
||||
require 'rails_helper'
|
||||
|
||||
feature 'Publicity' do
|
||||
let(:supporter) { create :supporter }
|
||||
let(:supporter) { create :supporter, first_name: 'Hans', last_name: 'Muster' }
|
||||
let(:admin) { create :supporter, admin: true }
|
||||
|
||||
before { sign_in(supporter) }
|
||||
|
||||
@@ -38,4 +39,37 @@ feature 'Publicity' do
|
||||
expect(page).to have_content 'Besten Dank die Daten werden überprüft.'
|
||||
expect(page).to have_content 'Die Veröffentlichung wurde noch nicht genehmigt'
|
||||
end
|
||||
|
||||
scenario 'non admin users cannot manage pending publicities' do
|
||||
visit admin_publicities_path
|
||||
expect(page.status_code).to eq 403
|
||||
end
|
||||
context 'management' do
|
||||
|
||||
|
||||
before { sign_in(admin) }
|
||||
|
||||
scenario 'an administrator approves a pending announcement' do
|
||||
create :publicity, state: :pending, supporter: supporter
|
||||
|
||||
# Already declined, so we don't list it'
|
||||
create :publicity, state: :declined, supporter: create(:supporter, first_name: 'Donald', last_name: 'Trump')
|
||||
|
||||
visit admin_publicities_path
|
||||
|
||||
expect(page).to have_content 'Hans Muster'
|
||||
expect(page).not_to have_content 'Donald Trump'
|
||||
|
||||
click_link 'Bearbeiten'
|
||||
|
||||
fill_in 'Organisation', with: 'Free Hemp Association'
|
||||
fill_in 'Statement', with: 'Marihuana ist die Heilung der Nation, Alkohol die Zerstörung.'
|
||||
attach_file('publicity_avatar', "#{Rails.root}/spec/support/fixtures/image.jpg")
|
||||
choose 'Das Statement wurde Veröffentlicht'
|
||||
|
||||
click_button 'Speichern'
|
||||
|
||||
expect(page).not_to have_content 'Hans Muster'
|
||||
end
|
||||
end
|
||||
end
|
||||
Reference in New Issue
Block a user