Ability to delete geozones from admin dashboard

This commit is contained in:
Alberto Miedes Garcés
2016-12-08 13:16:42 +01:00
parent 4a58c786c8
commit 93e79228a7
5 changed files with 95 additions and 0 deletions

View File

@@ -73,5 +73,63 @@ feature 'Admin geozones' do
click_button 'Save changes'
expect(proposal.geozone.name).to eq('New geozone name')
scenario 'Delete geozone with no associated elements' do
target_geozone = create(:geozone, name: 'Delete me!')
visit admin_geozones_path
within("#geozone_#{target_geozone.id}") { click_link 'Delete' }
expect(page).not_to have_content('Delete me!')
expect(Geozone.find_by_id(target_geozone.id)).to be_nil
end
scenario 'Delete geozone with associated proposal' do
target_geozone = create(:geozone, name: 'Delete me!')
proposal = create(:proposal, geozone: target_geozone)
visit admin_geozones_path
within("#geozone_#{target_geozone.id}") { click_link 'Delete' }
expect(page).to have_content('Delete me!')
expect(proposal.reload.geozone).to eq(target_geozone)
end
scenario 'Delete geozone with associated spending proposal' do
target_geozone = create(:geozone, name: 'Delete me!')
spending_proposal = create(:spending_proposal, geozone: target_geozone)
visit admin_geozones_path
within("#geozone_#{target_geozone.id}") { click_link 'Delete' }
expect(page).to have_content('Delete me!')
expect(spending_proposal.reload.geozone).to eq(target_geozone)
end
scenario 'Delete geozone with associated debate' do
target_geozone = create(:geozone, name: 'Delete me!')
debate = create(:debate, geozone: target_geozone)
visit admin_geozones_path
within("#geozone_#{target_geozone.id}") { click_link 'Delete' }
expect(page).to have_content('Delete me!')
expect(debate.reload.geozone).to eq(target_geozone)
end
scenario 'Delete geozone with associated user' do
target_geozone = create(:geozone, name: 'Delete me!')
user = create(:user, geozone: target_geozone)
visit admin_geozones_path
within("#geozone_#{target_geozone.id}") { click_link 'Delete' }
expect(page).to have_content('Delete me!')
expect(user.reload.geozone).to eq(target_geozone)
end
end