add specs

This commit is contained in:
viehlieb 2025-05-22 12:27:25 +02:00
parent e902aa0d5a
commit 45db0575b1
46 changed files with 714 additions and 238 deletions

View file

@ -0,0 +1,44 @@
class OrderInvoicesControllerBase < ApplicationController
before_action :authenticate_finance
def select_sepa_sequence_type
@invoice = invoice_class.find(params[:id])
return unless params[:sepa_sequence_type]
@group_order = set_related_group_order(@invoice)
@multi_group_order = set_related_group_order(@invoice)
@invoice.sepa_sequence_type = params[:sepa_sequence_type]
save_and_respond(@invoice)
end
def toggle_paid
@invoice = invoice_class.find(params[:id])
@invoice.paid = !@invoice.paid
save_and_respond(@invoice)
end
def toggle_sepa_downloaded
@invoice = invoice_class.find(params[:id])
@invoice.sepa_downloaded = !@invoice.sepa_downloaded
save_and_respond(@invoice)
end
protected
def save_and_respond(record)
if record.save!
respond_to { |format| format.js }
else
respond_to { |format| format.json { render json: record.errors, status: :unprocessable_entity } }
end
end
def invoice_class
raise NotImplementedError
end
def set_related_group_order(invoice)
raise NotImplementedError
end
end