diff --git a/app/models/registrar.rb b/app/models/registrar.rb index 5c457a6ab..8a65c0b06 100644 --- a/app/models/registrar.rb +++ b/app/models/registrar.rb @@ -53,7 +53,7 @@ class Registrar < ActiveRecord::Base def issue_prepayment_invoice(amount, description = nil) vat_rate = ::Invoice::VatRateCalculator.new(registrar: self).calculate - invoices.create!( + invoice = invoices.create!( issue_date: Time.zone.today, due_date: (Time.zone.now + Setting.days_to_keep_invoices_active.days).to_date, description: description, @@ -95,6 +95,11 @@ class Registrar < ActiveRecord::Base } ] ) + + e_invoice = invoice.to_e_invoice + e_invoice.deliver + + invoice end def cash_account diff --git a/lib/tasks/registrars/reload_balance.rake b/lib/tasks/registrars/reload_balance.rake index 7f1cb2497..d08f7fee3 100644 --- a/lib/tasks/registrars/reload_balance.rake +++ b/lib/tasks/registrars/reload_balance.rake @@ -17,10 +17,7 @@ namespace :registrars do next if reload_pending || !threshold_reached Registrar.transaction do - invoice = registrar.issue_prepayment_invoice(reload_amount) - e_invoice = invoice.to_e_invoice - e_invoice.deliver - + registrar.issue_prepayment_invoice(reload_amount) registrar.settings['balance_auto_reload']['pending'] = true registrar.save! end diff --git a/test/models/registrar_test.rb b/test/models/registrar_test.rb index e8eae1f34..53967cfcc 100644 --- a/test/models/registrar_test.rb +++ b/test/models/registrar_test.rb @@ -93,6 +93,14 @@ class RegistrarTest < ActiveSupport::TestCase Setting.days_to_keep_invoices_active = @original_days_to_keep_invoices_active_setting end + def test_issues_e_invoice_along_with_invoice + EInvoice::Providers::TestProvider.deliveries.clear + + @registrar.issue_prepayment_invoice(100) + + assert_equal 1, EInvoice::Providers::TestProvider.deliveries.count + end + def test_invalid_without_address_street registrar = valid_registrar registrar.address_street = '' diff --git a/test/tasks/registrars/reload_balance_test.rb b/test/tasks/registrars/reload_balance_test.rb index 86b305dfb..d9e77a22f 100644 --- a/test/tasks/registrars/reload_balance_test.rb +++ b/test/tasks/registrars/reload_balance_test.rb @@ -5,7 +5,6 @@ class ReloadBalanceTaskTest < ActiveSupport::TestCase setup do @registrar = registrars(:bestnames) - EInvoice.provider = EInvoice::Providers::TestProvider.new end def test_issues_invoice_when_auto_reload_is_enabled_and_threshold_reached diff --git a/test/test_helper.rb b/test/test_helper.rb index dc42b3486..fba374d5b 100644 --- a/test/test_helper.rb +++ b/test/test_helper.rb @@ -26,6 +26,8 @@ end CompanyRegister::Client = CompanyRegisterClientStub +EInvoice.provider = EInvoice::Providers::TestProvider.new + class ActiveSupport::TestCase include FactoryBot::Syntax::Methods