From 1bfeb2751bf07cdc81ea9344ec941e671cb216a8 Mon Sep 17 00:00:00 2001 From: Aldrik Ramaekers Date: Sun, 19 Oct 2025 16:11:09 +0200 Subject: update tests for new tax rates --- tests/administration_rw_tests.cpp | 52 ++++++++++++++++++++++----------------- 1 file changed, 29 insertions(+), 23 deletions(-) (limited to 'tests/administration_rw_tests.cpp') diff --git a/tests/administration_rw_tests.cpp b/tests/administration_rw_tests.cpp index 36353f7..224a689 100644 --- a/tests/administration_rw_tests.cpp +++ b/tests/administration_rw_tests.cpp @@ -26,9 +26,11 @@ TEST _administration_rw_taxrate(void) administration::create_empty(test_file_path); { pw = administration::tax_rate_create_empty(); - strops::copy(pw.country_code, "NL", sizeof(pw.country_code)); pw.rate = 10.0f; + pw.type = tax_rate_type::TAX_RATE_OUTGOING_INVOICE; + strops::copy(pw.internal_code, "NL/21", sizeof(pw.internal_code)); strops::copy(pw.category_code, "S", sizeof(pw.category_code)); + strops::copy(pw.tax_sections[pw.tax_section_count++], "NL/1a", MAX_LEN_SHORT_DESC); count = administration::tax_rate_count(); administration::tax_rate_add(pw); @@ -39,7 +41,7 @@ TEST _administration_rw_taxrate(void) administration_reader::open_existing(test_file_path); { ASSERT_EQ(count+1, administration::tax_rate_count()); - ASSERT_EQ(A_ERR_SUCCESS, administration::tax_rate_get_by_id(&pr, pw.id)); + ASSERT_EQ(A_ERR_SUCCESS, administration::tax_rate_get_by_internal_code(&pr, pw.internal_code)); ASSERT_MEM_EQ(&pw, &pr, sizeof(tax_rate)); } @@ -202,7 +204,7 @@ TEST _assert_invoices_are_equal(invoice inv, invoice invr) ASSERT_EQ(b1->allowance, b2->allowance); ASSERT_EQ(b1->net, b2->net); ASSERT_STR_EQ(b1->currency, b2->currency); - ASSERT_STR_EQ(b1->tax_rate_id, b2->tax_rate_id); + ASSERT_STR_EQ(b1->tax_internal_code, b2->tax_internal_code); ASSERT_EQ(b1->tax, b2->tax); ASSERT_EQ(b1->total, b2->total); } @@ -236,9 +238,10 @@ TEST _administration_rw_b2b_invoice(void) invoice invr; administration_writer::create(); - + administration::create_default(test_file_path); { + add_default_nl_tax_rates(); contact pw1 = _create_nl_business(); contact pw2 = _create_nl_business(); @@ -251,10 +254,10 @@ TEST _administration_rw_b2b_invoice(void) inv.delivered_at = inv.issued_at; inv.expires_at = inv.issued_at + 1000; - administration::billing_item_add_to_invoice(&inv, _create_bi3(&inv)); - administration::billing_item_add_to_invoice(&inv, _create_bi4(&inv)); - administration::billing_item_add_to_invoice(&inv, _create_bi5(&inv)); - administration::billing_item_add_to_invoice(&inv, _create_bi6(&inv)); + administration::billing_item_add_to_invoice(&inv, _create_bi3()); + administration::billing_item_add_to_invoice(&inv, _create_bi4()); + administration::billing_item_add_to_invoice(&inv, _create_bi5()); + administration::billing_item_add_to_invoice(&inv, _create_bi6()); count = administration::invoice_count(); ASSERT_EQ(administration::invoice_add(&inv), A_ERR_SUCCESS); @@ -279,9 +282,10 @@ TEST _administration_rw_b2c_invoice(void) invoice invr; administration_writer::create(); - + administration::create_default(test_file_path); { + add_default_nl_tax_rates(); contact pw1 = _create_nl_business(); contact pw2 = _create_nl_consumer(); @@ -294,10 +298,10 @@ TEST _administration_rw_b2c_invoice(void) inv.delivered_at = inv.issued_at; inv.expires_at = inv.issued_at + 1000; - administration::billing_item_add_to_invoice(&inv, _create_bi3(&inv)); - administration::billing_item_add_to_invoice(&inv, _create_bi4(&inv)); - administration::billing_item_add_to_invoice(&inv, _create_bi5(&inv)); - administration::billing_item_add_to_invoice(&inv, _create_bi6(&inv)); + administration::billing_item_add_to_invoice(&inv, _create_bi3()); + administration::billing_item_add_to_invoice(&inv, _create_bi4()); + administration::billing_item_add_to_invoice(&inv, _create_bi5()); + administration::billing_item_add_to_invoice(&inv, _create_bi6()); count = administration::invoice_count(); ASSERT_EQ(administration::invoice_add(&inv), A_ERR_SUCCESS); @@ -322,9 +326,10 @@ TEST _administration_rw_b2b2c_invoice(void) invoice invr; administration_writer::create(); - + administration::create_default(test_file_path); { + add_default_nl_tax_rates(); inv = administration::invoice_create_empty(); inv.supplier = _create_nl_business(); inv.customer = _create_nl_business(); @@ -337,10 +342,10 @@ TEST _administration_rw_b2b2c_invoice(void) inv.delivered_at = inv.issued_at; inv.expires_at = inv.issued_at + 1000; - administration::billing_item_add_to_invoice(&inv, _create_bi3(&inv)); - administration::billing_item_add_to_invoice(&inv, _create_bi4(&inv)); - administration::billing_item_add_to_invoice(&inv, _create_bi5(&inv)); - administration::billing_item_add_to_invoice(&inv, _create_bi6(&inv)); + administration::billing_item_add_to_invoice(&inv, _create_bi3()); + administration::billing_item_add_to_invoice(&inv, _create_bi4()); + administration::billing_item_add_to_invoice(&inv, _create_bi5()); + administration::billing_item_add_to_invoice(&inv, _create_bi6()); count = administration::invoice_count(); ASSERT_EQ(administration::invoice_add(&inv), A_ERR_SUCCESS); @@ -365,9 +370,10 @@ TEST _administration_rw_b2c_2currency_invoice(void) invoice invr; administration_writer::create(); - + administration::create_default(test_file_path); { + add_default_nl_tax_rates(); contact pw1 = _create_nl_business(); contact pw2 = _create_nl_consumer(); @@ -382,10 +388,10 @@ TEST _administration_rw_b2c_2currency_invoice(void) administration::invoice_set_currency(&inv, "USD"); - administration::billing_item_add_to_invoice(&inv, _create_bi3(&inv)); - administration::billing_item_add_to_invoice(&inv, _create_bi4(&inv)); - administration::billing_item_add_to_invoice(&inv, _create_bi5(&inv)); - administration::billing_item_add_to_invoice(&inv, _create_bi6(&inv)); + administration::billing_item_add_to_invoice(&inv, _create_bi3()); + administration::billing_item_add_to_invoice(&inv, _create_bi4()); + administration::billing_item_add_to_invoice(&inv, _create_bi5()); + administration::billing_item_add_to_invoice(&inv, _create_bi6()); // Finals are set manually for multi currency invoices. inv.total = 20.0f; -- cgit v1.2.3-70-g09d2