diff options
Diffstat (limited to 'src/data_test.cpp')
-rw-r--r-- | src/data_test.cpp | 46 |
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 | ||
11 | using ::testing::IsEmpty; | 11 | using ::testing::IsEmpty; |
12 | 12 | ||
13 | TEST(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 | |||
29 | TEST(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 | |||
13 | TEST(DataSource, CanAddLink) | 47 | TEST(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 | } |