mirror of
https://github.com/LaCasemate/fab-manager.git
synced 2024-12-01 12:24:28 +01:00
149 lines
5.1 KiB
Ruby
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
|