summaryrefslogtreecommitdiff
path: root/tests
diff options
context:
space:
mode:
authorAldrik Ramaekers <aldrikboy@gmail.com>2025-09-14 20:58:24 +0200
committerAldrik Ramaekers <aldrikboy@gmail.com>2025-09-14 20:58:24 +0200
commita651d8e951ab35677af468b03a4bb02decbc105b (patch)
treec0aa15ce2ed318ec046e20c9f18a40d5e90b81b9 /tests
parent76d3082e5b89fe54acaaaaadd201ccc92f4f346e (diff)
reader writer tests for projects, costcenters, tax brackets, contacts
Diffstat (limited to 'tests')
-rw-r--r--tests/run_tests.cpp57
1 files changed, 47 insertions, 10 deletions
diff --git a/tests/run_tests.cpp b/tests/run_tests.cpp
index 65ae47c..e9092a6 100644
--- a/tests/run_tests.cpp
+++ b/tests/run_tests.cpp
@@ -12,8 +12,18 @@
char* test_file_path = "C:\\Users\\aldri\\Desktop\\Vault\\Projects\\accounting\\build\\test.openbook";
-TEST _administration_rw_taxbrackets(void)
-{
+static void setup_cb(void *data) {
+ (void)data;
+ unlink(test_file_path);
+}
+
+static void teardown_cb(void *data) {
+ (void)data;
+ unlink(test_file_path);
+}
+
+TEST _administration_rw_taxbracket(void)
+{
country_tax_bracket pw;
country_tax_bracket pr;
u32 count;
@@ -43,8 +53,6 @@ TEST _administration_rw_taxbrackets(void)
ASSERT_EQ(pr.rate, pw.rate);
}
- unlink(test_file_path);
-
PASS();
}
@@ -77,8 +85,6 @@ TEST _administration_rw_costcenter(void)
ASSERT_STR_EQ(pr.description, pw.description);
}
- unlink(test_file_path);
-
PASS();
}
@@ -86,6 +92,7 @@ TEST _administration_rw_project(void)
{
project pw;
project pr;
+ u32 count;
administration_writer_create();
@@ -93,28 +100,58 @@ TEST _administration_rw_project(void)
{
pw = administration_project_create_empty();
strops_copy(pw.description, "Test Project", sizeof(pw.description));
+ count = administration_project_count();
administration_project_add(pw);
- ASSERT_EQ(1, administration_project_count());
+ ASSERT_EQ(count+1, administration_project_count());
}
administration_reader_open_existing(test_file_path);
{
- ASSERT_EQ(1, administration_project_count());
+ ASSERT_EQ(count+1, administration_project_count());
ASSERT_EQ(1, administration_project_get_by_id(&pr, pw.id));
ASSERT_STR_EQ(pr.id, pw.id);
ASSERT_STR_EQ(pr.description, pw.description);
}
- unlink(test_file_path);
+ PASS();
+}
+
+TEST _administration_rw_contact(void)
+{
+ contact pw;
+ contact pr;
+ u32 count;
+
+ administration_writer_create();
+
+ administration_create_empty(test_file_path);
+ {
+ pw = administration_contact_create_empty();
+ count = administration_contact_count();
+ administration_contact_add(pw);
+
+ ASSERT_EQ(count+1, administration_contact_count());
+ }
+
+ administration_reader_open_existing(test_file_path);
+ {
+ ASSERT_EQ(count+1, administration_contact_count());
+ ASSERT_EQ(1, administration_contact_get_by_id(&pr, pw.id));
+ ASSERT_STR_EQ(pr.id, pw.id);
+ }
PASS();
}
SUITE(administration_io) {
- RUN_TEST(_administration_rw_taxbrackets);
+ SET_SETUP(setup_cb, NULL);
+ SET_TEARDOWN(teardown_cb, NULL);
+
+ RUN_TEST(_administration_rw_taxbracket);
RUN_TEST(_administration_rw_costcenter);
RUN_TEST(_administration_rw_project);
+ RUN_TEST(_administration_rw_contact);
}
GREATEST_MAIN_DEFS();