aboutsummaryrefslogtreecommitdiff
path: root/src/data_test.cpp
diff options
context:
space:
mode:
authorMetroWind <chris.corsair@gmail.com>2025-09-12 14:41:42 -0700
committerMetroWind <chris.corsair@gmail.com>2025-09-12 14:41:42 -0700
commiteedd1c6b6a612daeb0e4e154bc0200df6826aa1d (patch)
tree88f9d49e8bb6bca54b058a1b3763c1e86e8f68a8 /src/data_test.cpp
parentc33272456bf969aa47bca432ef302530aa2cf752 (diff)
Implement items() and addLink() in data source.
Diffstat (limited to 'src/data_test.cpp')
-rw-r--r--src/data_test.cpp26
1 files changed, 25 insertions, 1 deletions
diff --git a/src/data_test.cpp b/src/data_test.cpp
index f1a1a1c..633a102 100644
--- a/src/data_test.cpp
+++ b/src/data_test.cpp
@@ -10,8 +10,32 @@
10 10
11using ::testing::IsEmpty; 11using ::testing::IsEmpty;
12 12
13TEST(DataSource, CanAddAndDeleteLink) 13TEST(DataSource, CanAddLink)
14{ 14{
15 ASSIGN_OR_FAIL(std::unique_ptr<DataSourceSQLite> data, 15 ASSIGN_OR_FAIL(std::unique_ptr<DataSourceSQLite> data,
16 DataSourceSQLite::newFromMemory()); 16 DataSourceSQLite::newFromMemory());
17 LinkItem l0;
18 l0.owner_id = 1;
19 l0.parent_id = std::nullopt;
20 l0.name = "aaa";
21 l0.url = "bbb";
22 l0.description = "ccc";
23 l0.visibility = LinkItem::PUBLIC;
24
25 LinkItem l1;
26 l1.owner_id = 1;
27 l1.parent_id = 1;
28 l1.name = "ddd";
29 l1.url = "eee";
30 l1.description = "fff";
31 l1.visibility = LinkItem::PRIVATE;
32
33 ASSIGN_OR_FAIL(int64_t l0id, data->addLink(std::move(l0)));
34 EXPECT_EQ(l0id, 1);
35 ASSIGN_OR_FAIL(int64_t l1id, data->addLink(std::move(l1)));
36 EXPECT_EQ(l1id, 2);
37 ASSIGN_OR_FAIL(auto ls, data->items(1));
38 ASSERT_EQ(ls.size(), 1);
39 EXPECT_EQ(ls[0].parent_id, 1);
40 EXPECT_EQ(ls[0].visibility, LinkItem::PRIVATE);
17} 41}