1
0
mirror of https://github.com/LaCasemate/fab-manager.git synced 2024-12-01 12:24:28 +01:00
fab-manager/test/services/invoices/number_service_test.rb

149 lines
5.1 KiB
Ruby

# frozen_string_literal: true
require 'test_helper'
class Invoices::NumberServiceTest < ActiveSupport::TestCase
test 'invoice 1 numbers' do
invoice = Invoice.find(1)
reference = Invoices::NumberService.number(invoice)
order_number = Invoices::NumberService.number(invoice, 'invoice_order-nb')
assert_equal 1, reference
assert_equal 1, order_number
periodicity = Invoices::NumberService.number_periodicity(invoice)
assert_equal 'month', periodicity
end
test 'invoice 2 numbers' do
invoice = Invoice.find(2)
reference = Invoices::NumberService.number(invoice)
order_number = Invoices::NumberService.number(invoice, 'invoice_order-nb')
assert_equal 2, reference
assert_equal 2, order_number
periodicity = Invoices::NumberService.number_periodicity(invoice, 'invoice_order-nb')
assert_equal 'global', periodicity
end
test 'invoice 3 numbers' do
invoice = Invoice.find(3)
reference = Invoices::NumberService.number(invoice)
order_number = Invoices::NumberService.number(invoice, 'invoice_order-nb')
assert_equal 1, reference
assert_equal 3, order_number
end
test 'invoice 4 numbers' do
invoice = Invoice.find(4)
reference = Invoices::NumberService.number(invoice)
order_number = Invoices::NumberService.number(invoice, 'invoice_order-nb')
assert_equal 2, reference
assert_equal 4, order_number
end
test 'invoice 5 numbers' do
invoice = Invoice.find(5)
reference = Invoices::NumberService.number(invoice)
order_number = Invoices::NumberService.number(invoice, 'invoice_order-nb')
assert_equal 31, reference
assert_equal 5, order_number
end
test 'invoice 6 numbers' do
invoice = Invoice.find(6)
reference = Invoices::NumberService.number(invoice)
order_number = Invoices::NumberService.number(invoice, 'invoice_order-nb')
assert_equal 41, reference
assert_equal 6, order_number
end
test 'payment schedule 12 numbers' do
schedule = PaymentSchedule.find(12)
reference = Invoices::NumberService.number(schedule)
order_number = Invoices::NumberService.number(schedule, 'invoice_order-nb')
assert_equal 309, reference
assert_equal 7, order_number
end
test 'payment schedule 13 numbers' do
schedule = PaymentSchedule.find(13)
reference = Invoices::NumberService.number(schedule)
order_number = Invoices::NumberService.number(schedule, 'invoice_order-nb')
assert_equal 310, reference
assert_equal 8, order_number
end
test 'invoice 5811 numbers' do
invoice = Invoice.find(5811)
reference = Invoices::NumberService.number(invoice)
order_number = Invoices::NumberService.number(invoice, 'invoice_order-nb')
assert_equal 2, reference
assert_equal 9, order_number
end
test 'invoice 5812 numbers' do
invoice = Invoice.find(5812)
reference = Invoices::NumberService.number(invoice)
order_number = Invoices::NumberService.number(invoice, 'invoice_order-nb')
assert_equal 4, reference
assert_equal 5877, order_number
end
test 'invoice 5816 numbers' do
invoice = Invoice.find(5816)
reference = Invoices::NumberService.number(invoice)
order_number = Invoices::NumberService.number(invoice, 'invoice_order-nb')
assert_equal 2, reference
assert_equal 5888, order_number
end
test 'invoice 5817 numbers' do
invoice = Invoice.find(5817)
reference = Invoices::NumberService.number(invoice)
order_number = Invoices::NumberService.number(invoice, 'invoice_order-nb')
assert_equal 4, reference
assert_equal 5890, order_number
end
test 'invoice 5818 numbers' do
invoice = Invoice.find(5818)
reference = Invoices::NumberService.number(invoice)
order_number = Invoices::NumberService.number(invoice, 'invoice_order-nb')
assert_equal 6, reference
assert_equal 5892, order_number
end
test 'invoice 5819 numbers' do
invoice = Invoice.find(5819)
reference = Invoices::NumberService.number(invoice)
order_number = Invoices::NumberService.number(invoice, 'invoice_order-nb')
assert_equal 8, reference
assert_equal 5894, order_number
end
test 'invoice 5820 numbers' do
invoice = Invoice.find(5820)
reference = Invoices::NumberService.number(invoice)
order_number = Invoices::NumberService.number(invoice, 'invoice_order-nb')
assert_equal 10, reference
assert_equal 5882, order_number
end
test 'daily periodicy' do
Setting.set('invoice_reference', 'YYMDDddddddX[/VL]R[/A]S[/E]')
invoice = sample_reservation_invoice(users(:user10), users(:user1))
periodicity = Invoices::NumberService.number_periodicity(invoice)
assert_equal 'day', periodicity
end
test 'monthly periodicy' do
Setting.set('invoice_order-nb', 'MYYYYmmmm')
invoice = sample_reservation_invoice(users(:user10), users(:user1))
periodicity = Invoices::NumberService.number_periodicity(invoice, 'invoice_order-nb')
assert_equal 'month', periodicity
end
test 'find document by number' do
invoice = Invoices::NumberService.find_by_number(1, date: Time.zone.parse('2012-03-01'))
assert_equal Invoice.first, invoice
end
end