houdini/spec/controllers/nonprofits/donations_spec.rb

49 lines
No EOL
1.6 KiB
Ruby

# License: AGPL-3.0-or-later WITH Web-Template-Output-Additional-Permission-3.0-or-later
require 'rails_helper'
require 'controllers/support/shared_user_context'
require 'controllers/support/new_controller_user_context'
require 'support/contexts/shared_donation_charge_context'
describe Nonprofits::DonationsController, :type => :controller do
describe 'rejects unauthenticated users' do
describe 'index' do
include_context :shared_user_context
include_context :open_to_np_associate, :get, :index, nonprofit_id: :__our_np
end
describe 'update' do
include_context :shared_user_context
include_context :open_to_np_associate, :put, :update, nonprofit_id: :__our_np
end
end
describe 'accept all users' do
describe 'create' do
include_context :open_to_all, :get, :create, nonprofit_id: :__our_np
end
describe 'follow up' do
include_context :open_to_all, :put, :followup, nonprofit_id: :__our_np
end
end
end
describe 'Nonprofits::DonationsController::create_offsite', :type => :request do
describe 'create_offsite' do
include_context :shared_donation_charge_context
include_context :new_controller_user_context
it 'reject non-campaign editors (and np authorized folks)' do
run_authorization_tests({method: :post, action: "/nonprofits/#{nonprofit.id}/donations/create_offsite",
successful_users: roles__open_to_campaign_editor}) do |_|
{nonprofit_id: nonprofit.id,
donation: {campaign_id: campaign.id}}
end
end
#include_context :open_to_np_associate, :post, :create_offsite, nonprofit_id: :__our_np
end
end