aboutsummaryrefslogtreecommitdiff
path: root/src/data_test.cpp
diff options
context:
space:
mode:
authorMetroWind <chris.corsair@gmail.com>2025-09-21 21:34:34 -0700
committerMetroWind <chris.corsair@gmail.com>2025-09-21 21:34:34 -0700
commite9686b6ab684785d5f9acbc98942beae94817562 (patch)
tree10ffe1b7b209aee2f0513cd0c42def2c07272ea2 /src/data_test.cpp
parentb2e812941766e11394bdb124ff73d1fe544849a2 (diff)
Implement dir handler. Unit test WIP.HEADmaster
Diffstat (limited to 'src/data_test.cpp')
-rw-r--r--src/data_test.cpp46
1 files changed, 43 insertions, 3 deletions
diff --git a/src/data_test.cpp b/src/data_test.cpp
index 633a102..309d44f 100644
--- a/src/data_test.cpp
+++ b/src/data_test.cpp
@@ -10,10 +10,48 @@
10 10
11using ::testing::IsEmpty; 11using ::testing::IsEmpty;
12 12
13TEST(DataSource, CanGetUser)
14{
15 ASSIGN_OR_FAIL(std::unique_ptr<DataSourceSQLite> data,
16 DataSourceSQLite::newFromMemory());
17 User u;
18 u.openid_uid = "aaa";
19 u.name = "bbb";
20 EXPECT_TRUE(data->addUser(std::move(u)).has_value());
21 ASSIGN_OR_FAIL(auto user_maybe, data->userByOpenIDUID("aaa"));
22 EXPECT_TRUE(user_maybe.has_value());
23 EXPECT_EQ(user_maybe->name, "bbb");
24
25 ASSIGN_OR_FAIL(user_maybe, data->userByOpenIDUID("bbb"));
26 EXPECT_FALSE(user_maybe.has_value());
27}
28
29TEST(DataSource, WontAddDuplicateUser)
30{
31 ASSIGN_OR_FAIL(std::unique_ptr<DataSourceSQLite> data,
32 DataSourceSQLite::newFromMemory());
33 User u0;
34 u0.openid_uid = "aaa";
35 u0.name = "bbb";
36 User u1;
37 u1.openid_uid = "aaa";
38 u1.name = "ccc";
39 User u2;
40 u2.openid_uid = "ddd";
41 u2.name = "bbb";
42 EXPECT_TRUE(data->addUser(std::move(u0)).has_value());
43 EXPECT_FALSE(data->addUser(std::move(u1)).has_value());
44 EXPECT_FALSE(data->addUser(std::move(u2)).has_value());
45}
46
13TEST(DataSource, CanAddLink) 47TEST(DataSource, CanAddLink)
14{ 48{
15 ASSIGN_OR_FAIL(std::unique_ptr<DataSourceSQLite> data, 49 ASSIGN_OR_FAIL(std::unique_ptr<DataSourceSQLite> data,
16 DataSourceSQLite::newFromMemory()); 50 DataSourceSQLite::newFromMemory());
51 User u;
52 u.openid_uid = "aaa";
53 u.name = "bbb";
54 EXPECT_TRUE(data->addUser(std::move(u)).has_value());
17 LinkItem l0; 55 LinkItem l0;
18 l0.owner_id = 1; 56 l0.owner_id = 1;
19 l0.parent_id = std::nullopt; 57 l0.parent_id = std::nullopt;
@@ -34,8 +72,10 @@ TEST(DataSource, CanAddLink)
34 EXPECT_EQ(l0id, 1); 72 EXPECT_EQ(l0id, 1);
35 ASSIGN_OR_FAIL(int64_t l1id, data->addLink(std::move(l1))); 73 ASSIGN_OR_FAIL(int64_t l1id, data->addLink(std::move(l1)));
36 EXPECT_EQ(l1id, 2); 74 EXPECT_EQ(l1id, 2);
37 ASSIGN_OR_FAIL(auto ls, data->items(1)); 75 ASSIGN_OR_FAIL(auto ls, data->itemsTopLevelByUser(1));
76 ASSERT_EQ(ls.size(), 1);
77 EXPECT_EQ(ls[0].name, "aaa");
78 ASSIGN_OR_FAIL(ls, data->itemsByParent(1));
38 ASSERT_EQ(ls.size(), 1); 79 ASSERT_EQ(ls.size(), 1);
39 EXPECT_EQ(ls[0].parent_id, 1); 80 EXPECT_EQ(ls[0].name, "ddd");
40 EXPECT_EQ(ls[0].visibility, LinkItem::PRIVATE);
41} 81}