#include #include #include #include #include #include #include "data.hpp" using ::testing::IsEmpty; 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); }