80 lines
2.6 KiB
Ruby
80 lines
2.6 KiB
Ruby
# frozen_string_literal: true
|
|
|
|
# License: AGPL-3.0-or-later WITH WTO-AP-3.0-or-later
|
|
# Full license explanation at https://github.com/houdiniproject/houdini/blob/master/LICENSE
|
|
require 'rails_helper'
|
|
require 'controllers/support/shared_user_context'
|
|
|
|
describe TicketLevelsController, type: :controller do
|
|
describe 'authorization' do
|
|
include_context :shared_user_context
|
|
describe 'rejects unauthorized users' do
|
|
describe 'create' do
|
|
include_context :open_to_event_editor, :post, :create, nonprofit_id: :__our_np, event_id: :__our_event, id: '1'
|
|
end
|
|
describe 'update' do
|
|
include_context :open_to_event_editor, :put, :update, nonprofit_id: :__our_np, event_id: :__our_event, id: '1'
|
|
end
|
|
describe 'update_order' do
|
|
include_context :open_to_event_editor, :put, :update_order, nonprofit_id: :__our_np, event_id: :__our_event
|
|
end
|
|
describe 'destroy' do
|
|
include_context :open_to_event_editor, :delete, :destroy, nonprofit_id: :__our_np, event_id: :__our_event, id: '1'
|
|
end
|
|
end
|
|
|
|
describe 'open to all' do
|
|
describe 'show' do
|
|
include_context :open_to_all, :get, :show, nonprofit_id: :__our_np, event_id: :__our_event, id: '2'
|
|
end
|
|
|
|
describe 'index' do
|
|
include_context :open_to_all, :get, :index, nonprofit_id: :__our_np, event_id: :__our_event
|
|
end
|
|
end
|
|
end
|
|
|
|
describe 'verify deleted doesnt get passed through on update' do
|
|
include_context :shared_user_context
|
|
include_context :shared_donation_charge_context
|
|
let(:ticket_level_name) {"TICKET LEVEL"}
|
|
let(:order) { 3}
|
|
let(:free_amount) { 0}
|
|
let(:non_free_amount) {7500}
|
|
let(:ticket_limit) {4}
|
|
let(:description) {"Description"}
|
|
let(:ticket_level_2) {
|
|
event.ticket_levels.create(
|
|
name: ticket_level_name,
|
|
limit: nil,
|
|
admin_only: false,
|
|
order: order,
|
|
amount: non_free_amount,
|
|
description: description
|
|
)
|
|
}
|
|
it 'updates safely' do
|
|
input = {
|
|
nonprofit_id: nonprofit.id,
|
|
event_id: event.id,
|
|
id: ticket_level_2.id,
|
|
ticket_level: {
|
|
name: ticket_level_name,
|
|
limit: nil,
|
|
admin_only: false,
|
|
order: order,
|
|
amount: 0,
|
|
description: description,
|
|
deleted: true
|
|
}
|
|
}
|
|
sign_in user_as_np_admin
|
|
put :update, params: input, xhr: true
|
|
expect(response).to have_http_status :ok
|
|
|
|
ticket_level_2.reload
|
|
expect(ticket_level_2.deleted).to eq false
|
|
expect(ticket_level_2.amount).to eq 0
|
|
end
|
|
end
|
|
end
|