From 3242fb1da08179ab73cd479a5e7c0b4dbf495ff9 Mon Sep 17 00:00:00 2001 From: olegphenomenon Date: Wed, 2 Feb 2022 14:34:33 +0200 Subject: [PATCH] updated tests --- test/models/invoice_test.rb | 27 ++++++++----- test/models/registrar_test.rb | 24 ++++++++++++ test/system/admin_area/bank_statement_test.rb | 16 +++----- test/tasks/invoices/process_payments_test.rb | 39 +++++++++++++++++++ test/tasks/registrars/reload_balance_test.rb | 36 +++++++++++++++++ 5 files changed, 122 insertions(+), 20 deletions(-) diff --git a/test/models/invoice_test.rb b/test/models/invoice_test.rb index 4a44ab319..2beb29ecf 100644 --- a/test/models/invoice_test.rb +++ b/test/models/invoice_test.rb @@ -123,16 +123,11 @@ class InvoiceTest < ActiveSupport::TestCase transaction.sum = 250 invoice_n = Invoice.order(number: :desc).last.number - stub_request(:post, "http://eis_billing_system:3000/api/v1/invoice_generator/invoice_number_generator"). - with( - headers: { - 'Accept'=>'Bearer WA9UvDmzR9UcE5rLqpWravPQtdS8eDMAIynzGdSOTw==--9ZShwwij3qmLeuMJ--NE96w2PnfpfyIuuNzDJTGw==', - 'Accept-Encoding'=>'gzip;q=1.0,deflate;q=0.6,identity;q=0.3', - 'Authorization'=>'Bearer foobar', - 'Content-Type'=>'application/json', - 'User-Agent'=>'Ruby' - }). - to_return(status: 200, body: "{\"invoice_number\":\"#{invoice_n + 3}\"}", headers: {}) + stub_request(:post, "http://eis_billing_system:3000/api/v1/invoice_generator/invoice_number_generator") + .to_return(status: 200, body: "{\"invoice_number\":\"#{invoice_n + 3}\"}", headers: {}) + + stub_request(:post, "http://eis_billing_system:3000/api/v1/invoice_generator/invoice_generator") + .to_return(status: 200, body: "", headers: {}) invoice = Invoice.create_from_transaction!(transaction) assert_equal 250, invoice.total @@ -171,6 +166,18 @@ class InvoiceTest < ActiveSupport::TestCase end def test_emails_invoice_after_creating_topup_invoice + stub_request(:post, "http://eis_billing_system:3000/api/v1/invoice_generator/invoice_generator"). + with( + body: "{\"transaction_amount\":\"250.0\",\"order_reference\":4,\"customer_name\":\"Best Names\",\"customer_email\":\"info@bestnames.test\",\"custom_field_1\":\"Direct top-up via bank transfer\",\"custom_field_2\":\"registry\",\"invoice_number\":4}", + headers: { + 'Accept'=>'Bearer WA9UvDmzR9UcE5rLqpWravPQtdS8eDMAIynzGdSOTw==--9ZShwwij3qmLeuMJ--NE96w2PnfpfyIuuNzDJTGw==', + 'Accept-Encoding'=>'gzip;q=1.0,deflate;q=0.6,identity;q=0.3', + 'Authorization'=>'Bearer foobar', + 'Content-Type'=>'application/json', + 'User-Agent'=>'Ruby' + }). + to_return(status: 200, body: "", headers: {}) + registrar = registrars(:bestnames) transaction = bank_transactions(:one).dup transaction.reference_no = registrar.reference_no diff --git a/test/models/registrar_test.rb b/test/models/registrar_test.rb index 45df6dffd..972f3e4f4 100644 --- a/test/models/registrar_test.rb +++ b/test/models/registrar_test.rb @@ -144,6 +144,18 @@ class RegistrarTest < ActiveJob::TestCase end def test_issues_new_invoice + stub_request(:post, "http://eis_billing_system:3000/api/v1/invoice_generator/invoice_generator"). + with( + body: "{\"transaction_amount\":\"120.0\",\"order_reference\":4,\"customer_name\":\"Best Names\",\"customer_email\":\"info@bestnames.test\",\"custom_field_1\":null,\"custom_field_2\":\"registry\",\"invoice_number\":4}", + headers: { + 'Accept'=>'Bearer WA9UvDmzR9UcE5rLqpWravPQtdS8eDMAIynzGdSOTw==--9ZShwwij3qmLeuMJ--NE96w2PnfpfyIuuNzDJTGw==', + 'Accept-Encoding'=>'gzip;q=1.0,deflate;q=0.6,identity;q=0.3', + 'Authorization'=>'Bearer foobar', + 'Content-Type'=>'application/json', + 'User-Agent'=>'Ruby' + }). + to_return(status: 200, body: "", headers: {}) + invoice_n = Invoice.order(number: :desc).last.number stub_request(:post, "http://eis_billing_system:3000/api/v1/invoice_generator/invoice_number_generator"). with( @@ -166,6 +178,18 @@ class RegistrarTest < ActiveJob::TestCase end def test_issues_e_invoice_along_with_invoice + stub_request(:post, "http://eis_billing_system:3000/api/v1/invoice_generator/invoice_generator"). + with( + body: "{\"transaction_amount\":\"120.0\",\"order_reference\":4,\"customer_name\":\"Best Names\",\"customer_email\":\"info@bestnames.test\",\"custom_field_1\":null,\"custom_field_2\":\"registry\",\"invoice_number\":4}", + headers: { + 'Accept'=>'Bearer WA9UvDmzR9UcE5rLqpWravPQtdS8eDMAIynzGdSOTw==--9ZShwwij3qmLeuMJ--NE96w2PnfpfyIuuNzDJTGw==', + 'Accept-Encoding'=>'gzip;q=1.0,deflate;q=0.6,identity;q=0.3', + 'Authorization'=>'Bearer foobar', + 'Content-Type'=>'application/json', + 'User-Agent'=>'Ruby' + }). + to_return(status: 200, body: "", headers: {}) + invoice_n = Invoice.order(number: :desc).last.number stub_request(:post, "http://eis_billing_system:3000/api/v1/invoice_generator/invoice_number_generator"). with( diff --git a/test/system/admin_area/bank_statement_test.rb b/test/system/admin_area/bank_statement_test.rb index 4f17862ed..2e0db2c4c 100644 --- a/test/system/admin_area/bank_statement_test.rb +++ b/test/system/admin_area/bank_statement_test.rb @@ -55,17 +55,13 @@ class AdminAreaBankStatementTest < ApplicationSystemTestCase def test_can_bind_statement_transactions invoice_n = Invoice.order(number: :desc).last.number - stub_request(:post, "http://eis_billing_system:3000/api/v1/invoice_generator/invoice_number_generator"). - with( - headers: { - 'Accept'=>'Bearer WA9UvDmzR9UcE5rLqpWravPQtdS8eDMAIynzGdSOTw==--9ZShwwij3qmLeuMJ--NE96w2PnfpfyIuuNzDJTGw==', - 'Accept-Encoding'=>'gzip;q=1.0,deflate;q=0.6,identity;q=0.3', - 'Authorization'=>'Bearer foobar', - 'Content-Type'=>'application/json', - 'User-Agent'=>'Ruby' - }). - to_return(status: 200, body: "{\"invoice_number\":\"#{invoice_n + 3}\"}", headers: {}) + stub_request(:post, "http://eis_billing_system:3000/api/v1/invoice_generator/invoice_number_generator") + .to_return(status: 200, body: "{\"invoice_number\":\"#{invoice_n + 3}\"}", headers: {}) registrar = registrars(:bestnames) + + stub_request(:post, "http://eis_billing_system:3000/api/v1/invoice_generator/invoice_generator") + .to_return(status: 200, body: "", headers: {}) + registrar.issue_prepayment_invoice(500) invoice = registrar.invoices.last diff --git a/test/tasks/invoices/process_payments_test.rb b/test/tasks/invoices/process_payments_test.rb index 500e072b8..aeb54d792 100644 --- a/test/tasks/invoices/process_payments_test.rb +++ b/test/tasks/invoices/process_payments_test.rb @@ -88,6 +88,19 @@ class ProcessPaymentsTaskTest < ActiveJob::TestCase 'User-Agent'=>'Ruby' }). to_return(status: 200, body: "{\"invoice_number\":\"#{invoice_n + 3}\"}", headers: {}) + + stub_request(:post, "http://eis_billing_system:3000/api/v1/invoice_generator/invoice_generator"). + with( + body: "{\"transaction_amount\":\"0.1\",\"order_reference\":5,\"customer_name\":\"Best Names\",\"customer_email\":\"info@bestnames.test\",\"custom_field_1\":\"Direct top-up via bank transfer\",\"custom_field_2\":\"registry\",\"invoice_number\":5}", + headers: { + 'Accept'=>'Bearer WA9UvDmzR9UcE5rLqpWravPQtdS8eDMAIynzGdSOTw==--9ZShwwij3qmLeuMJ--NE96w2PnfpfyIuuNzDJTGw==', + 'Accept-Encoding'=>'gzip;q=1.0,deflate;q=0.6,identity;q=0.3', + 'Authorization'=>'Bearer foobar', + 'Content-Type'=>'application/json', + 'User-Agent'=>'Ruby' + }). + to_return(status: 200, body: "", headers: {}) + assert_not @invoice.paid? @account_activity.update(activity_type: "add_credit", bank_transaction: nil, created_at: Time.zone.today - 3.days, creator_str: 'AdminUser') @@ -166,6 +179,19 @@ class ProcessPaymentsTaskTest < ActiveJob::TestCase 'User-Agent'=>'Ruby' }). to_return(status: 200, body: "{\"invoice_number\":\"#{invoice_n + 3}\"}", headers: {}) + + stub_request(:post, "http://eis_billing_system:3000/api/v1/invoice_generator/invoice_generator"). + with( + body: "{\"transaction_amount\":\"0.1\",\"order_reference\":5,\"customer_name\":\"Best Names\",\"customer_email\":\"info@bestnames.test\",\"custom_field_1\":\"Direct top-up via bank transfer\",\"custom_field_2\":\"registry\",\"invoice_number\":5}", + headers: { + 'Accept'=>'Bearer WA9UvDmzR9UcE5rLqpWravPQtdS8eDMAIynzGdSOTw==--9ZShwwij3qmLeuMJ--NE96w2PnfpfyIuuNzDJTGw==', + 'Accept-Encoding'=>'gzip;q=1.0,deflate;q=0.6,identity;q=0.3', + 'Authorization'=>'Bearer foobar', + 'Content-Type'=>'application/json', + 'User-Agent'=>'Ruby' + }). + to_return(status: 200, body: "", headers: {}) + registrar = registrars(:bestnames) assert_changes -> { registrar.accounts.first.balance } do @@ -196,6 +222,19 @@ class ProcessPaymentsTaskTest < ActiveJob::TestCase 'User-Agent'=>'Ruby' }). to_return(status: 200, body: "{\"invoice_number\":\"#{invoice_n + 3}\"}", headers: {}) + + stub_request(:post, "http://eis_billing_system:3000/api/v1/invoice_generator/invoice_generator"). + with( + body: "{\"transaction_amount\":\"0.1\",\"order_reference\":5,\"customer_name\":\"Best Names\",\"customer_email\":\"info@bestnames.test\",\"custom_field_1\":\"Direct top-up via bank transfer\",\"custom_field_2\":\"registry\",\"invoice_number\":5}", + headers: { + 'Accept'=>'Bearer WA9UvDmzR9UcE5rLqpWravPQtdS8eDMAIynzGdSOTw==--9ZShwwij3qmLeuMJ--NE96w2PnfpfyIuuNzDJTGw==', + 'Accept-Encoding'=>'gzip;q=1.0,deflate;q=0.6,identity;q=0.3', + 'Authorization'=>'Bearer foobar', + 'Content-Type'=>'application/json', + 'User-Agent'=>'Ruby' + }). + to_return(status: 200, body: "", headers: {}) + registrar = registrars(:bestnames) @invoice.payment_orders.destroy_all @invoice.destroy diff --git a/test/tasks/registrars/reload_balance_test.rb b/test/tasks/registrars/reload_balance_test.rb index 296574a21..be1b89b74 100644 --- a/test/tasks/registrars/reload_balance_test.rb +++ b/test/tasks/registrars/reload_balance_test.rb @@ -20,6 +20,18 @@ class ReloadBalanceTaskTest < ActiveSupport::TestCase end def test_issues_invoice_when_auto_reload_is_enabled_and_threshold_reached + stub_request(:post, "http://eis_billing_system:3000/api/v1/invoice_generator/invoice_generator"). + with( + body: "{\"transaction_amount\":\"120.0\",\"order_reference\":4,\"customer_name\":\"Best Names\",\"customer_email\":\"info@bestnames.test\",\"custom_field_1\":null,\"custom_field_2\":\"registry\",\"invoice_number\":4}", + headers: { + 'Accept'=>'Bearer WA9UvDmzR9UcE5rLqpWravPQtdS8eDMAIynzGdSOTw==--9ZShwwij3qmLeuMJ--NE96w2PnfpfyIuuNzDJTGw==', + 'Accept-Encoding'=>'gzip;q=1.0,deflate;q=0.6,identity;q=0.3', + 'Authorization'=>'Bearer foobar', + 'Content-Type'=>'application/json', + 'User-Agent'=>'Ruby' + }). + to_return(status: 200, body: "", headers: {}) + invoice_n = Invoice.order(number: :desc).last.number stub_request(:post, "http://eis_billing_system:3000/api/v1/invoice_generator/invoice_number_generator"). with( @@ -61,6 +73,18 @@ class ReloadBalanceTaskTest < ActiveSupport::TestCase end def test_marks_registrar_as_pending_balance_reload + stub_request(:post, "http://eis_billing_system:3000/api/v1/invoice_generator/invoice_generator"). + with( + body: "{\"transaction_amount\":\"120.0\",\"order_reference\":4,\"customer_name\":\"Best Names\",\"customer_email\":\"info@bestnames.test\",\"custom_field_1\":null,\"custom_field_2\":\"registry\",\"invoice_number\":4}", + headers: { + 'Accept'=>'Bearer WA9UvDmzR9UcE5rLqpWravPQtdS8eDMAIynzGdSOTw==--9ZShwwij3qmLeuMJ--NE96w2PnfpfyIuuNzDJTGw==', + 'Accept-Encoding'=>'gzip;q=1.0,deflate;q=0.6,identity;q=0.3', + 'Authorization'=>'Bearer foobar', + 'Content-Type'=>'application/json', + 'User-Agent'=>'Ruby' + }). + to_return(status: 200, body: "", headers: {}) + invoice_n = Invoice.order(number: :desc).last.number stub_request(:post, "http://eis_billing_system:3000/api/v1/invoice_generator/invoice_number_generator"). with( @@ -81,6 +105,18 @@ class ReloadBalanceTaskTest < ActiveSupport::TestCase end def test_output + stub_request(:post, "http://eis_billing_system:3000/api/v1/invoice_generator/invoice_generator"). + with( + body: "{\"transaction_amount\":\"120.0\",\"order_reference\":4,\"customer_name\":\"Best Names\",\"customer_email\":\"info@bestnames.test\",\"custom_field_1\":null,\"custom_field_2\":\"registry\",\"invoice_number\":4}", + headers: { + 'Accept'=>'Bearer WA9UvDmzR9UcE5rLqpWravPQtdS8eDMAIynzGdSOTw==--9ZShwwij3qmLeuMJ--NE96w2PnfpfyIuuNzDJTGw==', + 'Accept-Encoding'=>'gzip;q=1.0,deflate;q=0.6,identity;q=0.3', + 'Authorization'=>'Bearer foobar', + 'Content-Type'=>'application/json', + 'User-Agent'=>'Ruby' + }). + to_return(status: 200, body: "", headers: {}) + invoice_n = Invoice.order(number: :desc).last.number stub_request(:post, "http://eis_billing_system:3000/api/v1/invoice_generator/invoice_number_generator"). with(