From eedd1c6b6a612daeb0e4e154bc0200df6826aa1d Mon Sep 17 00:00:00 2001 From: MetroWind Date: Fri, 12 Sep 2025 14:41:42 -0700 Subject: Implement items() and addLink() in data source. --- src/data_test.cpp | 26 +++++++++++++++++++++++++- 1 file changed, 25 insertions(+), 1 deletion(-) (limited to 'src/data_test.cpp') 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 @@ using ::testing::IsEmpty; -TEST(DataSource, CanAddAndDeleteLink) +TEST(DataSource, CanAddLink) { ASSIGN_OR_FAIL(std::unique_ptr data, DataSourceSQLite::newFromMemory()); + LinkItem l0; + l0.owner_id = 1; + l0.parent_id = std::nullopt; + l0.name = "aaa"; + l0.url = "bbb"; + l0.description = "ccc"; + l0.visibility = LinkItem::PUBLIC; + + LinkItem l1; + l1.owner_id = 1; + l1.parent_id = 1; + l1.name = "ddd"; + l1.url = "eee"; + l1.description = "fff"; + l1.visibility = LinkItem::PRIVATE; + + ASSIGN_OR_FAIL(int64_t l0id, data->addLink(std::move(l0))); + EXPECT_EQ(l0id, 1); + ASSIGN_OR_FAIL(int64_t l1id, data->addLink(std::move(l1))); + EXPECT_EQ(l1id, 2); + ASSIGN_OR_FAIL(auto ls, data->items(1)); + ASSERT_EQ(ls.size(), 1); + EXPECT_EQ(ls[0].parent_id, 1); + EXPECT_EQ(ls[0].visibility, LinkItem::PRIVATE); } -- cgit v1.2.3-70-g09d2