summaryrefslogtreecommitdiff
path: root/tests/nl_tax_tests.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'tests/nl_tax_tests.cpp')
-rw-r--r--tests/nl_tax_tests.cpp68
1 files changed, 20 insertions, 48 deletions
diff --git a/tests/nl_tax_tests.cpp b/tests/nl_tax_tests.cpp
index 20d70c8..0fce093 100644
--- a/tests/nl_tax_tests.cpp
+++ b/tests/nl_tax_tests.cpp
@@ -4,22 +4,23 @@ TEST _nl_tax_1a(void)
{
administration::create_default(test_file_path);
administration::company_info_set(_create_nl_business());
+ add_default_nl_tax_rates();
invoice inv = _create_nl_b2b_inv_outgoing();
- administration::billing_item_add_to_invoice(&inv, _create_bi(1, 20.0f, "NL/21.00"));
- administration::billing_item_add_to_invoice(&inv, _create_bi(1, 30.0f, "NL/21.00"));
+ administration::billing_item_add_to_invoice(&inv, _create_bi(1, 20.0f, "NL/21"));
+ administration::billing_item_add_to_invoice(&inv, _create_bi(1, 30.0f, "NL/21"));
ASSERT_EQ(administration::invoice_add(&inv), A_ERR_SUCCESS);
tax_statement statement;
administration::create_tax_statement(&statement);
ASSERT_EQ(statement.report_count, 1);
- tax_line* tl = administration::get_tax_line_from_report(&statement.reports[0], "1a");
+ tax_line* tl = administration::get_tax_line_from_report(&statement.reports[0], "NL/1a");
ASSERT_EQ(tl->total_net, 50.0f);
ASSERT_EQ(tl->total_tax, 50.0f * 0.21f);
- tax_line* tl2 = administration::get_tax_line_from_report(&statement.reports[0], "5a");
+ tax_line* tl2 = administration::get_tax_line_from_report(&statement.reports[0], "NL/5a");
ASSERT_EQ(tl2->total_tax, 50.0f * 0.21f);
PASS();
@@ -29,78 +30,49 @@ TEST _nl_tax_1b(void)
{
administration::create_default(test_file_path);
administration::company_info_set(_create_nl_business());
+ add_default_nl_tax_rates();
invoice inv = _create_nl_b2b_inv_outgoing();
- administration::billing_item_add_to_invoice(&inv, _create_bi(1, 10.0f, "NL/9.00"));
- administration::billing_item_add_to_invoice(&inv, _create_bi(1, 15.0f, "NL/9.00"));
+ administration::billing_item_add_to_invoice(&inv, _create_bi(1, 10.0f, "NL/9"));
+ administration::billing_item_add_to_invoice(&inv, _create_bi(1, 15.0f, "NL/9"));
ASSERT_EQ(administration::invoice_add(&inv), A_ERR_SUCCESS);
tax_statement statement;
administration::create_tax_statement(&statement);
ASSERT_EQ(statement.report_count, 1);
- tax_line* tl = administration::get_tax_line_from_report(&statement.reports[0], "1b");
+ tax_line* tl = administration::get_tax_line_from_report(&statement.reports[0], "NL/1b");
ASSERT_EQ(tl->total_net, 25.0f);
ASSERT_EQ(tl->total_tax, 25.0f * 0.09f);
- tax_line* tl2 = administration::get_tax_line_from_report(&statement.reports[0], "5a");
+ tax_line* tl2 = administration::get_tax_line_from_report(&statement.reports[0], "NL/5a");
ASSERT_EQ(tl2->total_tax, 25.0f * 0.09f);
PASS();
}
-TEST _nl_tax_1c(void)
-{
- administration::create_default(test_file_path);
- administration::company_info_set(_create_nl_business());
-
- tax_rate new_tax_rate = administration::tax_rate_create_empty();
- new_tax_rate.rate = 5.0f;
- strops::copy(new_tax_rate.category_code, "S", MAX_LEN_CODE);
- strops::copy(new_tax_rate.country_code, "NL", MAX_LEN_COUNTRY_CODE);
- administration::tax_rate_add(new_tax_rate);
-
- invoice inv = _create_nl_b2b_inv_outgoing();
-
- administration::billing_item_add_to_invoice(&inv, _create_bi(1, 30.0f, "NL/5.00"));
- administration::billing_item_add_to_invoice(&inv, _create_bi(1, 15.0f, "NL/5.00"));
- ASSERT_EQ(administration::invoice_add(&inv), A_ERR_SUCCESS);
-
- tax_statement statement;
- administration::create_tax_statement(&statement);
- ASSERT_EQ(statement.report_count, 1);
-
- tax_line* tl = administration::get_tax_line_from_report(&statement.reports[0], "1c");
- ASSERT_EQ(tl->total_net, 45.0f);
- ASSERT_EQ(tl->total_tax, 45.0f * 0.05f);
-
- tax_line* tl2 = administration::get_tax_line_from_report(&statement.reports[0], "5a");
- ASSERT_EQ(tl2->total_tax, 45.0f * 0.05f);
-
- PASS();
-}
-
TEST _nl_tax_1e(void)
{
administration::create_default(test_file_path);
administration::company_info_set(_create_nl_business());
+ add_default_nl_tax_rates();
invoice inv = _create_nl_b2b_inv_outgoing();
- administration::billing_item_add_to_invoice(&inv, _create_bi(1, 30.0f, "00/E"));
- administration::billing_item_add_to_invoice(&inv, _create_bi(1, 50.0f, "00/E"));
+ administration::billing_item_add_to_invoice(&inv, _create_bi(1, 30.0f, "NL/0"));
+ administration::billing_item_add_to_invoice(&inv, _create_bi(1, 50.0f, "NL/0"));
ASSERT_EQ(administration::invoice_add(&inv), A_ERR_SUCCESS);
tax_statement statement;
administration::create_tax_statement(&statement);
ASSERT_EQ(statement.report_count, 1);
- tax_line* tl = administration::get_tax_line_from_report(&statement.reports[0], "1e");
+ tax_line* tl = administration::get_tax_line_from_report(&statement.reports[0], "NL/1e");
ASSERT_EQ(tl->total_net, 80.0f);
ASSERT_EQ(tl->total_tax, 0.0f);
- tax_line* tl2 = administration::get_tax_line_from_report(&statement.reports[0], "5a");
+ tax_line* tl2 = administration::get_tax_line_from_report(&statement.reports[0], "NL/5a");
ASSERT_EQ(tl2->total_tax, 0.0f);
PASS();
@@ -110,12 +82,13 @@ TEST _nl_tax_2currency(void)
{
administration::create_default(test_file_path);
administration::company_info_set(_create_nl_business());
+ add_default_nl_tax_rates();
invoice inv = _create_nl_b2b_inv_outgoing();
administration::invoice_set_currency(&inv, "USD");
- administration::billing_item_add_to_invoice(&inv, _create_bi(1, 20.0f, "NL/21.00"));
- administration::billing_item_add_to_invoice(&inv, _create_bi(1, 30.0f, "NL/21.00"));
+ administration::billing_item_add_to_invoice(&inv, _create_bi(1, 20.0f, "NL/21"));
+ administration::billing_item_add_to_invoice(&inv, _create_bi(1, 30.0f, "NL/21"));
float eur_usd_exchange_rate = 1.2f;
@@ -130,11 +103,11 @@ TEST _nl_tax_2currency(void)
administration::create_tax_statement(&statement);
ASSERT_EQ(statement.report_count, 1);
- tax_line* tl = administration::get_tax_line_from_report(&statement.reports[0], "1a");
+ tax_line* tl = administration::get_tax_line_from_report(&statement.reports[0], "NL/1a");
GREATEST_ASSERT_FEQ(tl->total_net, inv.net);
GREATEST_ASSERT_FEQ(tl->total_tax, inv.tax);
- tax_line* tl2 = administration::get_tax_line_from_report(&statement.reports[0], "5a");
+ tax_line* tl2 = administration::get_tax_line_from_report(&statement.reports[0], "NL/5a");
GREATEST_ASSERT_FEQ(tl2->total_tax, inv.tax);
PASS();
@@ -143,7 +116,6 @@ TEST _nl_tax_2currency(void)
SUITE(nl_tax_statement) {
RUN_TEST(_nl_tax_1a);
RUN_TEST(_nl_tax_1b);
- RUN_TEST(_nl_tax_1c);
RUN_TEST(_nl_tax_1e);
RUN_TEST(_nl_tax_2currency);
} \ No newline at end of file