From 58079c6955aaef35d21fc87a7be50c76db8df6a9 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Karl=20Erik=20=C3=95unapuu?= Date: Thu, 10 Sep 2020 13:00:05 +0300 Subject: [PATCH] Improve topup tests --- app/models/registrar.rb | 3 ++- test/models/invoice_test.rb | 33 ++++++++++++++++++++++++++------- 2 files changed, 28 insertions(+), 8 deletions(-) diff --git a/app/models/registrar.rb b/app/models/registrar.rb index 4d3d9f926..e5020d83f 100644 --- a/app/models/registrar.rb +++ b/app/models/registrar.rb @@ -99,12 +99,13 @@ class Registrar < ApplicationRecord } ] ) - SendEInvoiceJob.enqueue(invoice.id, payable: payable) unless payable InvoiceMailer.invoice_email(invoice: invoice, recipient: billing_email).deliver_now end + SendEInvoiceJob.enqueue(invoice.id, payable: payable) + invoice end diff --git a/test/models/invoice_test.rb b/test/models/invoice_test.rb index 6ee2dc85c..300de3a58 100644 --- a/test/models/invoice_test.rb +++ b/test/models/invoice_test.rb @@ -1,6 +1,8 @@ require 'test_helper' class InvoiceTest < ActiveSupport::TestCase + include ActionMailer::TestHelper + setup do @invoice = invoices(:one) end @@ -110,15 +112,32 @@ class InvoiceTest < ActiveSupport::TestCase assert_equal 'street, city, state', invoice.seller_address end - def test_assumes_correct_sum_amount_when_created_by_transaction + def test_creates_invoice_with_bank_transaction_total registrar = registrars(:bestnames) + transaction = bank_transactions(:one).dup + transaction.reference_no = registrar.reference_no + transaction.sum = 250 - bank_transaction = bank_transactions(:one).dup - bank_transaction.reference_no = registrar.reference_no - bank_transaction.sum = 5 - bank_transaction.save + invoice = Invoice.create_from_transaction!(transaction) + assert_equal 250, invoice.total - invoice = Invoice.create_from_transaction!(bank_transaction) - assert_equal 5, invoice.total + transaction.sum = 146.88 + invoice = Invoice.create_from_transaction!(transaction) + assert_equal 146.88, invoice.total + + transaction.sum = 0.99 + invoice = Invoice.create_from_transaction!(transaction) + assert_equal 0.99, invoice.total + end + + def test_emails_invoice_after_creating_topup_invoice + registrar = registrars(:bestnames) + transaction = bank_transactions(:one).dup + transaction.reference_no = registrar.reference_no + transaction.sum = 250 + + Invoice.create_from_transaction!(transaction) + + assert_emails 1 end end