Refactor and improve invoices

- `runner 'Invoice.cancel_overdue_invoices'` in `schedule.rb` is
changed to `rake 'invoices:cancel_overdue'`.
- `invoices.payment_term` database column is removed and its value is
hardcoded in UI.
- `invoices.paid_at` is removed as unused
- `invoices.due_date` column's type is now `date`.
- `Invoice#invoice_items` renamed to `Invoice#items` and `Invoice`
interface to get a list of items is unified.
- Default date format in UI.
- Default translations are used.
- Tests improved.
- Specs converted to tests and removed along with factories.
- Database structure improved.
This commit is contained in:
Artur Beljajev 2018-10-17 12:21:04 +03:00
parent d86ec026e3
commit a97728c0f3
65 changed files with 758 additions and 341 deletions

View file

@ -1,18 +0,0 @@
FactoryBot.define do
factory :invoice do
buyer_name 'Registrar 1'
currency { 'EUR' }
due_date { Time.zone.now.to_date + 1.day }
seller_iban { '123' }
seller_name { 'EIS' }
seller_city { 'Tallinn' }
seller_street { 'Paldiski mnt. 123' }
vat_rate 0.2
buyer { FactoryBot.create(:registrar) }
sequence(:reference_no) { |n| "1234#{n}" }
after :build do |invoice|
invoice.invoice_items << FactoryBot.create_pair(:invoice_item)
end
end
end

View file

@ -1,8 +0,0 @@
FactoryBot.define do
factory :invoice_item do
description { 'add money' }
unit 1
amount 1
price 150
end
end