diff --git a/src/api/api_database.cpp b/src/api/api_database.cpp index 27a05c30..cde20450 100644 --- a/src/api/api_database.cpp +++ b/src/api/api_database.cpp @@ -163,7 +163,12 @@ std::vector ApiDatabase::GetGeneralMessages( std::unordered_set ApiDatabase::GetGroups(bool includeUserMetadata) const { if (!includeUserMetadata) { - return masterlist_.Groups(); + auto groups = masterlist_.Groups(); + + //Insert the default group in case the masterlist hasn't been loaded. + groups.insert(Group()); + + return groups; } std::unordered_set mergedGroups; diff --git a/src/tests/api/interface/database_interface_test.h b/src/tests/api/interface/database_interface_test.h index 06e998a0..f63fc1c2 100644 --- a/src/tests/api/interface/database_interface_test.h +++ b/src/tests/api/interface/database_interface_test.h @@ -460,6 +460,16 @@ TEST_P(DatabaseInterfaceTest, EXPECT_EQ(std::unordered_set({ "group1" }), groups.find(Group("group2"))->GetAfterGroups()); } +TEST_P(DatabaseInterfaceTest, + getGroupsShouldReturnDefaultGroupIfNoMasterlistIsLoadedAndUserlistMetadataIsNotIncluded) { + auto groups = db_->GetGroups(false); + + EXPECT_EQ(1, groups.size()); + + EXPECT_EQ("default", groups.begin()->GetName()); + EXPECT_TRUE(groups.begin()->GetAfterGroups().empty()); +} + TEST_P(DatabaseInterfaceTest, getUserGroupsShouldReturnOnlyGroupMetadataFromTheUserlist) { ASSERT_NO_THROW(GenerateMasterlist());