diff --git a/docs/improvements.md b/docs/improvements.md index 80beedfca..542c698e3 100644 --- a/docs/improvements.md +++ b/docs/improvements.md @@ -109,7 +109,7 @@ The `GuildRepo` interface has 68 methods. Neither mock implements the full inter **Fix:** Merge into a single `mockGuildRepo` with all 68 methods as no-op defaults. Use struct fields (as `mockGuildRepoOps` already does for ~15 methods) for configurable returns in tests that need specific behavior. -**Status:** Pending. +**Status:** **Done.** Merged into a single `mockGuildRepo` (936 lines, down from 1004). All 12 test files updated. Adding a new `GuildRepo` method now requires a single stub addition. --- diff --git a/server/channelserver/handlers_guild_adventure_test.go b/server/channelserver/handlers_guild_adventure_test.go index a353adad6..54d99af0a 100644 --- a/server/channelserver/handlers_guild_adventure_test.go +++ b/server/channelserver/handlers_guild_adventure_test.go @@ -10,7 +10,7 @@ import ( func TestLoadGuildAdventure_NoAdventures(t *testing.T) { server := createMockServer() - guildMock := &mockGuildRepoOps{ + guildMock := &mockGuildRepo{ adventures: []*GuildAdventure{}, } guildMock.guild = &Guild{ID: 10} @@ -30,7 +30,7 @@ func TestLoadGuildAdventure_NoAdventures(t *testing.T) { func TestLoadGuildAdventure_WithAdventures(t *testing.T) { server := createMockServer() - guildMock := &mockGuildRepoOps{ + guildMock := &mockGuildRepo{ adventures: []*GuildAdventure{ {ID: 1, Destination: 5, Charge: 0, Depart: 1000, Return: 2000, CollectedBy: ""}, {ID: 2, Destination: 8, Charge: 100, Depart: 1000, Return: 2000, CollectedBy: "1"}, @@ -56,7 +56,7 @@ func TestLoadGuildAdventure_WithAdventures(t *testing.T) { func TestLoadGuildAdventure_DBError(t *testing.T) { server := createMockServer() - guildMock := &mockGuildRepoOps{ + guildMock := &mockGuildRepo{ listAdvErr: errNotFound, } guildMock.guild = &Guild{ID: 10} @@ -78,7 +78,7 @@ func TestLoadGuildAdventure_DBError(t *testing.T) { func TestRegistGuildAdventure_Success(t *testing.T) { server := createMockServer() - guildMock := &mockGuildRepoOps{} + guildMock := &mockGuildRepo{} guildMock.guild = &Guild{ID: 10} server.guildRepo = guildMock session := createMockSession(1, server) @@ -99,7 +99,7 @@ func TestRegistGuildAdventure_Success(t *testing.T) { func TestRegistGuildAdventure_Error(t *testing.T) { server := createMockServer() - guildMock := &mockGuildRepoOps{createAdvErr: errNotFound} + guildMock := &mockGuildRepo{createAdvErr: errNotFound} guildMock.guild = &Guild{ID: 10} server.guildRepo = guildMock session := createMockSession(1, server) @@ -123,7 +123,7 @@ func TestRegistGuildAdventure_Error(t *testing.T) { func TestAcquireGuildAdventure_Success(t *testing.T) { server := createMockServer() - guildMock := &mockGuildRepoOps{} + guildMock := &mockGuildRepo{} server.guildRepo = guildMock session := createMockSession(1, server) @@ -149,7 +149,7 @@ func TestAcquireGuildAdventure_Success(t *testing.T) { func TestChargeGuildAdventure_Success(t *testing.T) { server := createMockServer() - guildMock := &mockGuildRepoOps{} + guildMock := &mockGuildRepo{} server.guildRepo = guildMock session := createMockSession(1, server) @@ -179,7 +179,7 @@ func TestChargeGuildAdventure_Success(t *testing.T) { func TestRegistGuildAdventureDiva_Success(t *testing.T) { server := createMockServer() - guildMock := &mockGuildRepoOps{} + guildMock := &mockGuildRepo{} guildMock.guild = &Guild{ID: 10} server.guildRepo = guildMock session := createMockSession(1, server) diff --git a/server/channelserver/handlers_guild_alliance_test.go b/server/channelserver/handlers_guild_alliance_test.go index cac865ad4..920c39928 100644 --- a/server/channelserver/handlers_guild_alliance_test.go +++ b/server/channelserver/handlers_guild_alliance_test.go @@ -12,7 +12,7 @@ import ( func TestCreateJoint_Success(t *testing.T) { server := createMockServer() - guildMock := &mockGuildRepoOps{} + guildMock := &mockGuildRepo{} server.guildRepo = guildMock session := createMockSession(1, server) @@ -33,7 +33,7 @@ func TestCreateJoint_Success(t *testing.T) { func TestCreateJoint_Error(t *testing.T) { server := createMockServer() - guildMock := &mockGuildRepoOps{createAllianceErr: errNotFound} + guildMock := &mockGuildRepo{createAllianceErr: errNotFound} server.guildRepo = guildMock session := createMockSession(1, server) @@ -57,7 +57,7 @@ func TestCreateJoint_Error(t *testing.T) { func TestOperateJoint_Disband_AsOwner(t *testing.T) { server := createMockServer() - guildMock := &mockGuildRepoOps{ + guildMock := &mockGuildRepo{ alliance: &GuildAlliance{ ID: 5, ParentGuildID: 10, @@ -90,7 +90,7 @@ func TestOperateJoint_Disband_AsOwner(t *testing.T) { func TestOperateJoint_Disband_NotOwner(t *testing.T) { server := createMockServer() - guildMock := &mockGuildRepoOps{ + guildMock := &mockGuildRepo{ alliance: &GuildAlliance{ ID: 5, ParentGuildID: 99, // different guild @@ -117,7 +117,7 @@ func TestOperateJoint_Disband_NotOwner(t *testing.T) { func TestOperateJoint_Leave_AsLeader(t *testing.T) { server := createMockServer() - guildMock := &mockGuildRepoOps{ + guildMock := &mockGuildRepo{ alliance: &GuildAlliance{ ID: 5, ParentGuildID: 99, @@ -148,7 +148,7 @@ func TestOperateJoint_Leave_AsLeader(t *testing.T) { func TestOperateJoint_Leave_NotLeader(t *testing.T) { server := createMockServer() - guildMock := &mockGuildRepoOps{ + guildMock := &mockGuildRepo{ alliance: &GuildAlliance{ID: 5, ParentGuildID: 99}, } guildMock.guild = &Guild{ID: 10} @@ -172,7 +172,7 @@ func TestOperateJoint_Leave_NotLeader(t *testing.T) { func TestOperateJoint_Kick_AsAllianceOwner(t *testing.T) { server := createMockServer() - guildMock := &mockGuildRepoOps{ + guildMock := &mockGuildRepo{ alliance: &GuildAlliance{ ID: 5, ParentGuildID: 10, @@ -211,7 +211,7 @@ func TestOperateJoint_Kick_AsAllianceOwner(t *testing.T) { func TestOperateJoint_Kick_NotOwner(t *testing.T) { server := createMockServer() - guildMock := &mockGuildRepoOps{ + guildMock := &mockGuildRepo{ alliance: &GuildAlliance{ ID: 5, ParentGuildID: 99, @@ -242,7 +242,7 @@ func TestOperateJoint_Kick_NotOwner(t *testing.T) { func TestInfoJoint_Success(t *testing.T) { server := createMockServer() - guildMock := &mockGuildRepoOps{ + guildMock := &mockGuildRepo{ alliance: &GuildAlliance{ ID: 5, Name: "TestAlliance", @@ -271,7 +271,7 @@ func TestInfoJoint_Success(t *testing.T) { func TestInfoJoint_WithSubGuilds(t *testing.T) { server := createMockServer() - guildMock := &mockGuildRepoOps{ + guildMock := &mockGuildRepo{ alliance: &GuildAlliance{ ID: 5, Name: "BigAlliance", @@ -304,7 +304,7 @@ func TestInfoJoint_WithSubGuilds(t *testing.T) { func TestInfoJoint_NotFound(t *testing.T) { server := createMockServer() - guildMock := &mockGuildRepoOps{getAllianceErr: errNotFound} + guildMock := &mockGuildRepo{getAllianceErr: errNotFound} server.guildRepo = guildMock session := createMockSession(1, server) diff --git a/server/channelserver/handlers_guild_board_test.go b/server/channelserver/handlers_guild_board_test.go index d7be37af9..aebc30159 100644 --- a/server/channelserver/handlers_guild_board_test.go +++ b/server/channelserver/handlers_guild_board_test.go @@ -12,7 +12,7 @@ import ( func TestUpdateGuildMessageBoard_CreatePost(t *testing.T) { server := createMockServer() charMock := newMockCharacterRepo() - guildMock := &mockGuildRepoOps{ + guildMock := &mockGuildRepo{ membership: &GuildMember{GuildID: 10, CharID: 1, OrderIndex: 1}, } guildMock.guild = &Guild{ID: 10} @@ -49,7 +49,7 @@ func TestUpdateGuildMessageBoard_CreatePost(t *testing.T) { func TestUpdateGuildMessageBoard_DeletePost(t *testing.T) { server := createMockServer() charMock := newMockCharacterRepo() - guildMock := &mockGuildRepoOps{ + guildMock := &mockGuildRepo{ membership: &GuildMember{GuildID: 10, CharID: 1, OrderIndex: 1}, } guildMock.guild = &Guild{ID: 10} @@ -74,7 +74,7 @@ func TestUpdateGuildMessageBoard_DeletePost(t *testing.T) { func TestUpdateGuildMessageBoard_NoGuild(t *testing.T) { server := createMockServer() charMock := newMockCharacterRepo() - guildMock := &mockGuildRepoOps{} + guildMock := &mockGuildRepo{} guildMock.getErr = errNotFound server.guildRepo = guildMock server.charRepo = charMock @@ -98,7 +98,7 @@ func TestUpdateGuildMessageBoard_NoGuild(t *testing.T) { func TestUpdateGuildMessageBoard_Applicant(t *testing.T) { server := createMockServer() charMock := newMockCharacterRepo() - guildMock := &mockGuildRepoOps{ + guildMock := &mockGuildRepo{ hasAppResult: true, // is an applicant } guildMock.guild = &Guild{ID: 10} @@ -128,7 +128,7 @@ func TestUpdateGuildMessageBoard_Applicant(t *testing.T) { func TestUpdateGuildMessageBoard_HasAppError(t *testing.T) { server := createMockServer() charMock := newMockCharacterRepo() - guildMock := &mockGuildRepoOps{ + guildMock := &mockGuildRepo{ hasAppErr: errNotFound, // error checking app status } guildMock.guild = &Guild{ID: 10} @@ -159,7 +159,7 @@ func TestUpdateGuildMessageBoard_HasAppError(t *testing.T) { func TestEnumerateGuildMessageBoard_NoPosts(t *testing.T) { server := createMockServer() charMock := newMockCharacterRepo() - guildMock := &mockGuildRepoOps{ + guildMock := &mockGuildRepo{ posts: []*MessageBoardPost{}, } guildMock.guild = &Guild{ID: 10} @@ -185,7 +185,7 @@ func TestEnumerateGuildMessageBoard_NoPosts(t *testing.T) { func TestEnumerateGuildMessageBoard_WithPosts(t *testing.T) { server := createMockServer() charMock := newMockCharacterRepo() - guildMock := &mockGuildRepoOps{ + guildMock := &mockGuildRepo{ posts: []*MessageBoardPost{ {ID: 1, AuthorID: 100, StampID: 5, Title: "Hello", Body: "World", Timestamp: time.Now()}, {ID: 2, AuthorID: 200, StampID: 0, Title: "Test", Body: "Post", Timestamp: time.Now()}, @@ -217,7 +217,7 @@ func TestEnumerateGuildMessageBoard_WithPosts(t *testing.T) { func TestEnumerateGuildMessageBoard_DBError(t *testing.T) { server := createMockServer() charMock := newMockCharacterRepo() - guildMock := &mockGuildRepoOps{ + guildMock := &mockGuildRepo{ listPostsErr: errNotFound, } guildMock.guild = &Guild{ID: 10} diff --git a/server/channelserver/handlers_guild_cooking_test.go b/server/channelserver/handlers_guild_cooking_test.go index 44fb5f8a6..d6abd9244 100644 --- a/server/channelserver/handlers_guild_cooking_test.go +++ b/server/channelserver/handlers_guild_cooking_test.go @@ -11,7 +11,7 @@ import ( func TestLoadGuildCooking_NoMeals(t *testing.T) { server := createMockServer() - guildMock := &mockGuildRepoOps{ + guildMock := &mockGuildRepo{ meals: []*GuildMeal{}, } guildMock.guild = &Guild{ID: 10} @@ -31,7 +31,7 @@ func TestLoadGuildCooking_NoMeals(t *testing.T) { func TestLoadGuildCooking_WithActiveMeals(t *testing.T) { server := createMockServer() - guildMock := &mockGuildRepoOps{ + guildMock := &mockGuildRepo{ meals: []*GuildMeal{ {ID: 1, MealID: 100, Level: 3, CreatedAt: TimeAdjusted()}, // active (within 60 min) {ID: 2, MealID: 200, Level: 1, CreatedAt: TimeAdjusted().Add(-2 * time.Hour)}, // expired @@ -57,7 +57,7 @@ func TestLoadGuildCooking_WithActiveMeals(t *testing.T) { func TestLoadGuildCooking_DBError(t *testing.T) { server := createMockServer() - guildMock := &mockGuildRepoOps{ + guildMock := &mockGuildRepo{ listMealsErr: errNotFound, } guildMock.guild = &Guild{ID: 10} @@ -79,7 +79,7 @@ func TestLoadGuildCooking_DBError(t *testing.T) { func TestRegistGuildCooking_NewMeal(t *testing.T) { server := createMockServer() - guildMock := &mockGuildRepoOps{ + guildMock := &mockGuildRepo{ createdMealID: 42, } guildMock.guild = &Guild{ID: 10} @@ -107,7 +107,7 @@ func TestRegistGuildCooking_NewMeal(t *testing.T) { func TestRegistGuildCooking_UpdateMeal(t *testing.T) { server := createMockServer() - guildMock := &mockGuildRepoOps{} + guildMock := &mockGuildRepo{} guildMock.guild = &Guild{ID: 10} server.guildRepo = guildMock session := createMockSession(1, server) @@ -130,7 +130,7 @@ func TestRegistGuildCooking_UpdateMeal(t *testing.T) { func TestRegistGuildCooking_CreateError(t *testing.T) { server := createMockServer() - guildMock := &mockGuildRepoOps{ + guildMock := &mockGuildRepo{ createMealErr: errNotFound, } guildMock.guild = &Guild{ID: 10} @@ -158,7 +158,7 @@ func TestRegistGuildCooking_CreateError(t *testing.T) { func TestGuildHuntdata_Acquire(t *testing.T) { server := createMockServer() - guildMock := &mockGuildRepoOps{} + guildMock := &mockGuildRepo{} guildMock.guild = &Guild{ID: 10} server.guildRepo = guildMock session := createMockSession(1, server) @@ -184,7 +184,7 @@ func TestGuildHuntdata_Acquire(t *testing.T) { func TestGuildHuntdata_Enumerate(t *testing.T) { server := createMockServer() - guildMock := &mockGuildRepoOps{ + guildMock := &mockGuildRepo{ guildKills: []*GuildKill{ {ID: 1, Monster: 100}, {ID: 2, Monster: 200}, @@ -214,7 +214,7 @@ func TestGuildHuntdata_Enumerate(t *testing.T) { func TestGuildHuntdata_Check_HasKills(t *testing.T) { server := createMockServer() - guildMock := &mockGuildRepoOps{ + guildMock := &mockGuildRepo{ countKills: 5, } guildMock.guild = &Guild{ID: 10} @@ -238,7 +238,7 @@ func TestGuildHuntdata_Check_HasKills(t *testing.T) { func TestGuildHuntdata_Check_NoKills(t *testing.T) { server := createMockServer() - guildMock := &mockGuildRepoOps{ + guildMock := &mockGuildRepo{ countKills: 0, } guildMock.guild = &Guild{ID: 10} @@ -264,7 +264,7 @@ func TestGuildHuntdata_Check_NoKills(t *testing.T) { func TestAddGuildWeeklyBonusExceptionalUser_Success(t *testing.T) { server := createMockServer() - guildMock := &mockGuildRepoOps{} + guildMock := &mockGuildRepo{} guildMock.guild = &Guild{ID: 10} server.guildRepo = guildMock session := createMockSession(1, server) @@ -285,7 +285,7 @@ func TestAddGuildWeeklyBonusExceptionalUser_Success(t *testing.T) { func TestAddGuildWeeklyBonusExceptionalUser_NoGuild(t *testing.T) { server := createMockServer() - guildMock := &mockGuildRepoOps{} + guildMock := &mockGuildRepo{} guildMock.getErr = errNotFound server.guildRepo = guildMock session := createMockSession(1, server) diff --git a/server/channelserver/handlers_guild_info_test.go b/server/channelserver/handlers_guild_info_test.go index b0d8c1fe2..d8c6263b4 100644 --- a/server/channelserver/handlers_guild_info_test.go +++ b/server/channelserver/handlers_guild_info_test.go @@ -20,7 +20,7 @@ func guildInfoServer() *Server { func TestInfoGuild_ByGuildID(t *testing.T) { server := guildInfoServer() - guildMock := &mockGuildRepoOps{ + guildMock := &mockGuildRepo{ membership: &GuildMember{GuildID: 10, CharID: 1, OrderIndex: 1, IsLeader: true}, } joined := time.Now() @@ -58,7 +58,7 @@ func TestInfoGuild_ByGuildID(t *testing.T) { func TestInfoGuild_ByCharID(t *testing.T) { server := guildInfoServer() - guildMock := &mockGuildRepoOps{ + guildMock := &mockGuildRepo{ membership: &GuildMember{GuildID: 10, CharID: 1, OrderIndex: 5}, } guildMock.guild = &Guild{ @@ -89,7 +89,7 @@ func TestInfoGuild_ByCharID(t *testing.T) { func TestInfoGuild_NotFound(t *testing.T) { server := createMockServer() - guildMock := &mockGuildRepoOps{} + guildMock := &mockGuildRepo{} guildMock.getErr = errNotFound server.guildRepo = guildMock session := createMockSession(1, server) @@ -107,7 +107,7 @@ func TestInfoGuild_NotFound(t *testing.T) { func TestInfoGuild_MembershipError(t *testing.T) { server := createMockServer() - guildMock := &mockGuildRepoOps{ + guildMock := &mockGuildRepo{ getMemberErr: errNotFound, } guildMock.guild = &Guild{ @@ -134,7 +134,7 @@ func TestInfoGuild_MembershipError(t *testing.T) { func TestInfoGuild_WithAlliance(t *testing.T) { server := guildInfoServer() - guildMock := &mockGuildRepoOps{ + guildMock := &mockGuildRepo{ membership: &GuildMember{GuildID: 10, CharID: 1, OrderIndex: 1, IsLeader: true}, alliance: &GuildAlliance{ ID: 5, @@ -175,7 +175,7 @@ func TestInfoGuild_WithAlliance(t *testing.T) { func TestEnumerateGuild_ByName(t *testing.T) { server := createMockServer() - guildMock := &mockGuildRepoOps{} + guildMock := &mockGuildRepo{} guildMock.guild = nil server.guildRepo = guildMock session := createMockSession(1, server) @@ -202,7 +202,7 @@ func TestEnumerateGuild_ByName(t *testing.T) { func TestEnumerateGuild_NoResults(t *testing.T) { server := createMockServer() - guildMock := &mockGuildRepoOps{} + guildMock := &mockGuildRepo{} guildMock.getErr = errNotFound server.guildRepo = guildMock session := createMockSession(1, server) diff --git a/server/channelserver/handlers_guild_ops_test.go b/server/channelserver/handlers_guild_ops_test.go index bd67ca690..8bf315840 100644 --- a/server/channelserver/handlers_guild_ops_test.go +++ b/server/channelserver/handlers_guild_ops_test.go @@ -11,7 +11,7 @@ import ( func TestOperateGuild_Disband_Success(t *testing.T) { server := createMockServer() - guildMock := &mockGuildRepoOps{ + guildMock := &mockGuildRepo{ membership: &GuildMember{GuildID: 10, CharID: 1, IsLeader: true, OrderIndex: 1}, } guildMock.guild = &Guild{ID: 10} @@ -44,7 +44,7 @@ func TestOperateGuild_Disband_Success(t *testing.T) { func TestOperateGuild_Disband_NotLeader(t *testing.T) { server := createMockServer() - guildMock := &mockGuildRepoOps{ + guildMock := &mockGuildRepo{ membership: &GuildMember{GuildID: 10, CharID: 1, OrderIndex: 5}, } guildMock.guild = &Guild{ID: 10} @@ -74,7 +74,7 @@ func TestOperateGuild_Disband_NotLeader(t *testing.T) { func TestOperateGuild_Disband_RepoError(t *testing.T) { server := createMockServer() - guildMock := &mockGuildRepoOps{ + guildMock := &mockGuildRepo{ membership: &GuildMember{GuildID: 10, CharID: 1, IsLeader: true, OrderIndex: 1}, disbandErr: errNotFound, } @@ -102,7 +102,7 @@ func TestOperateGuild_Disband_RepoError(t *testing.T) { func TestOperateGuild_Resign_TransferLeadership(t *testing.T) { server := createMockServer() - guildMock := &mockGuildRepoOps{ + guildMock := &mockGuildRepo{ membership: &GuildMember{GuildID: 10, CharID: 1, IsLeader: true, OrderIndex: 1}, } guildMock.guild = &Guild{ID: 10} @@ -142,7 +142,7 @@ func TestOperateGuild_Resign_TransferLeadership(t *testing.T) { func TestOperateGuild_Resign_SkipsAvoidLeadership(t *testing.T) { server := createMockServer() - guildMock := &mockGuildRepoOps{ + guildMock := &mockGuildRepo{ membership: &GuildMember{GuildID: 10, CharID: 1, IsLeader: true, OrderIndex: 1}, } guildMock.guild = &Guild{ID: 10} @@ -171,7 +171,7 @@ func TestOperateGuild_Resign_SkipsAvoidLeadership(t *testing.T) { func TestOperateGuild_Apply_Success(t *testing.T) { server := createMockServer() - guildMock := &mockGuildRepoOps{ + guildMock := &mockGuildRepo{ membership: &GuildMember{GuildID: 10, CharID: 1, OrderIndex: 5}, } guildMock.guild = &Guild{ID: 10} @@ -200,7 +200,7 @@ func TestOperateGuild_Apply_Success(t *testing.T) { func TestOperateGuild_Apply_RepoError(t *testing.T) { server := createMockServer() - guildMock := &mockGuildRepoOps{ + guildMock := &mockGuildRepo{ membership: &GuildMember{GuildID: 10, CharID: 1, OrderIndex: 5}, createAppErr: errNotFound, } @@ -228,7 +228,7 @@ func TestOperateGuild_Apply_RepoError(t *testing.T) { func TestOperateGuild_Leave_AsApplicant(t *testing.T) { server := createMockServer() mailMock := &mockMailRepo{} - guildMock := &mockGuildRepoOps{ + guildMock := &mockGuildRepo{ membership: &GuildMember{GuildID: 10, CharID: 1, IsApplicant: true, OrderIndex: 5}, } guildMock.guild = &Guild{ID: 10, Name: "TestGuild"} @@ -257,7 +257,7 @@ func TestOperateGuild_Leave_AsApplicant(t *testing.T) { func TestOperateGuild_Leave_AsMember(t *testing.T) { server := createMockServer() mailMock := &mockMailRepo{} - guildMock := &mockGuildRepoOps{ + guildMock := &mockGuildRepo{ membership: &GuildMember{GuildID: 10, CharID: 1, IsApplicant: false, OrderIndex: 5}, } guildMock.guild = &Guild{ID: 10, Name: "TestGuild"} @@ -289,7 +289,7 @@ func TestOperateGuild_Leave_AsMember(t *testing.T) { func TestOperateGuild_Leave_MailError(t *testing.T) { server := createMockServer() mailMock := &mockMailRepo{sendErr: errNotFound} - guildMock := &mockGuildRepoOps{ + guildMock := &mockGuildRepo{ membership: &GuildMember{GuildID: 10, CharID: 1, IsApplicant: false, OrderIndex: 5}, } guildMock.guild = &Guild{ID: 10, Name: "TestGuild"} @@ -317,7 +317,7 @@ func TestOperateGuild_Leave_MailError(t *testing.T) { func TestOperateGuild_UpdateComment_Success(t *testing.T) { server := createMockServer() - guildMock := &mockGuildRepoOps{ + guildMock := &mockGuildRepo{ membership: &GuildMember{GuildID: 10, CharID: 1, IsLeader: true, OrderIndex: 1}, } guildMock.guild = &Guild{ID: 10} @@ -341,7 +341,7 @@ func TestOperateGuild_UpdateComment_Success(t *testing.T) { func TestOperateGuild_UpdateComment_NotLeader(t *testing.T) { server := createMockServer() - guildMock := &mockGuildRepoOps{ + guildMock := &mockGuildRepo{ membership: &GuildMember{GuildID: 10, CharID: 1, OrderIndex: 10}, // not leader, not sub-leader } guildMock.guild = &Guild{ID: 10} @@ -370,7 +370,7 @@ func TestOperateGuild_UpdateComment_NotLeader(t *testing.T) { func TestOperateGuild_UpdateMotto_Success(t *testing.T) { server := createMockServer() - guildMock := &mockGuildRepoOps{ + guildMock := &mockGuildRepo{ membership: &GuildMember{GuildID: 10, CharID: 1, IsLeader: true, OrderIndex: 1}, } guildMock.guild = &Guild{ID: 10} @@ -400,7 +400,7 @@ func TestOperateGuild_UpdateMotto_Success(t *testing.T) { func TestOperateGuild_UpdateMotto_NotLeader(t *testing.T) { server := createMockServer() - guildMock := &mockGuildRepoOps{ + guildMock := &mockGuildRepo{ membership: &GuildMember{GuildID: 10, CharID: 1, OrderIndex: 10}, } guildMock.guild = &Guild{ID: 10} @@ -423,7 +423,7 @@ func TestOperateGuild_UpdateMotto_NotLeader(t *testing.T) { func TestOperateGuild_GuildNotFound(t *testing.T) { server := createMockServer() - guildMock := &mockGuildRepoOps{} + guildMock := &mockGuildRepo{} guildMock.getErr = errNotFound server.guildRepo = guildMock session := createMockSession(1, server) @@ -449,7 +449,7 @@ func TestOperateGuild_GuildNotFound(t *testing.T) { func TestOperateGuildMember_Accept(t *testing.T) { server := createMockServer() mailMock := &mockMailRepo{} - guildMock := &mockGuildRepoOps{ + guildMock := &mockGuildRepo{ membership: &GuildMember{GuildID: 10, CharID: 1, IsLeader: true, OrderIndex: 1}, } guildMock.guild = &Guild{ID: 10, Name: "TestGuild"} @@ -488,7 +488,7 @@ func TestOperateGuildMember_Accept(t *testing.T) { func TestOperateGuildMember_Reject(t *testing.T) { server := createMockServer() mailMock := &mockMailRepo{} - guildMock := &mockGuildRepoOps{ + guildMock := &mockGuildRepo{ membership: &GuildMember{GuildID: 10, CharID: 1, IsLeader: true, OrderIndex: 1}, } guildMock.guild = &Guild{ID: 10, Name: "TestGuild"} @@ -518,7 +518,7 @@ func TestOperateGuildMember_Reject(t *testing.T) { func TestOperateGuildMember_Kick(t *testing.T) { server := createMockServer() mailMock := &mockMailRepo{} - guildMock := &mockGuildRepoOps{ + guildMock := &mockGuildRepo{ membership: &GuildMember{GuildID: 10, CharID: 1, IsLeader: true, OrderIndex: 1}, } guildMock.guild = &Guild{ID: 10, Name: "TestGuild"} @@ -548,7 +548,7 @@ func TestOperateGuildMember_Kick(t *testing.T) { func TestOperateGuildMember_MailError(t *testing.T) { server := createMockServer() mailMock := &mockMailRepo{sendErr: errNotFound} - guildMock := &mockGuildRepoOps{ + guildMock := &mockGuildRepo{ membership: &GuildMember{GuildID: 10, CharID: 1, IsLeader: true, OrderIndex: 1}, } guildMock.guild = &Guild{ID: 10, Name: "TestGuild"} @@ -577,7 +577,7 @@ func TestOperateGuildMember_MailError(t *testing.T) { func TestOperateGuildMember_NotLeaderOrSub(t *testing.T) { server := createMockServer() - guildMock := &mockGuildRepoOps{ + guildMock := &mockGuildRepo{ membership: &GuildMember{GuildID: 10, CharID: 1, OrderIndex: 10}, // not sub-leader } guildMock.guild = &Guild{ID: 10, Name: "TestGuild"} diff --git a/server/channelserver/handlers_guild_scout_test.go b/server/channelserver/handlers_guild_scout_test.go index b20cc3e14..6cd445034 100644 --- a/server/channelserver/handlers_guild_scout_test.go +++ b/server/channelserver/handlers_guild_scout_test.go @@ -11,7 +11,7 @@ import ( func TestAnswerGuildScout_Accept(t *testing.T) { server := createMockServer() mailMock := &mockMailRepo{} - guildMock := &mockGuildRepoOps{ + guildMock := &mockGuildRepo{ application: &GuildApplication{GuildID: 10, CharID: 1}, } guildMock.guild = &Guild{ID: 10, Name: "TestGuild"} @@ -46,7 +46,7 @@ func TestAnswerGuildScout_Accept(t *testing.T) { func TestAnswerGuildScout_Decline(t *testing.T) { server := createMockServer() mailMock := &mockMailRepo{} - guildMock := &mockGuildRepoOps{ + guildMock := &mockGuildRepo{ application: &GuildApplication{GuildID: 10, CharID: 1}, } guildMock.guild = &Guild{ID: 10, Name: "TestGuild"} @@ -74,7 +74,7 @@ func TestAnswerGuildScout_Decline(t *testing.T) { func TestAnswerGuildScout_GuildNotFound(t *testing.T) { server := createMockServer() - guildMock := &mockGuildRepoOps{} + guildMock := &mockGuildRepo{} guildMock.getErr = errNotFound server.guildRepo = guildMock server.mailRepo = &mockMailRepo{} @@ -100,7 +100,7 @@ func TestAnswerGuildScout_GuildNotFound(t *testing.T) { func TestAnswerGuildScout_ApplicationMissing(t *testing.T) { server := createMockServer() mailMock := &mockMailRepo{} - guildMock := &mockGuildRepoOps{ + guildMock := &mockGuildRepo{ application: nil, // no application found } guildMock.guild = &Guild{ID: 10, Name: "TestGuild"} @@ -133,7 +133,7 @@ func TestAnswerGuildScout_ApplicationMissing(t *testing.T) { func TestAnswerGuildScout_MailError(t *testing.T) { server := createMockServer() mailMock := &mockMailRepo{sendErr: errNotFound} - guildMock := &mockGuildRepoOps{ + guildMock := &mockGuildRepo{ application: &GuildApplication{GuildID: 10, CharID: 1}, } guildMock.guild = &Guild{ID: 10, Name: "TestGuild"} diff --git a/server/channelserver/handlers_guild_tresure_test.go b/server/channelserver/handlers_guild_tresure_test.go index bbf200c3b..ee4ac47bc 100644 --- a/server/channelserver/handlers_guild_tresure_test.go +++ b/server/channelserver/handlers_guild_tresure_test.go @@ -11,7 +11,7 @@ import ( func TestEnumerateGuildTresure_NoGuild(t *testing.T) { server := createMockServer() - guildMock := &mockGuildRepoOps{} + guildMock := &mockGuildRepo{} guildMock.getErr = errNotFound server.guildRepo = guildMock session := createMockSession(1, server) @@ -29,7 +29,7 @@ func TestEnumerateGuildTresure_NoGuild(t *testing.T) { func TestEnumerateGuildTresure_PendingHunt(t *testing.T) { server := createMockServer() - guildMock := &mockGuildRepoOps{ + guildMock := &mockGuildRepo{ pendingHunt: &TreasureHunt{ HuntID: 1, Destination: 5, @@ -60,7 +60,7 @@ func TestEnumerateGuildTresure_GuildHunts(t *testing.T) { server := createMockServer() // Set a large expiry so hunts are considered active server.erupeConfig.GameplayOptions.TreasureHuntExpiry = 86400 - guildMock := &mockGuildRepoOps{ + guildMock := &mockGuildRepo{ guildHunts: []*TreasureHunt{ {HuntID: 1, Destination: 5, Level: 2, Start: TimeAdjusted(), HuntData: make([]byte, 10)}, {HuntID: 2, Destination: 8, Level: 3, Start: TimeAdjusted(), HuntData: make([]byte, 10)}, @@ -86,7 +86,7 @@ func TestEnumerateGuildTresure_GuildHunts(t *testing.T) { func TestEnumerateGuildTresure_ListError(t *testing.T) { server := createMockServer() - guildMock := &mockGuildRepoOps{ + guildMock := &mockGuildRepo{ listHuntsErr: errNotFound, } guildMock.guild = &Guild{ID: 10} @@ -108,7 +108,7 @@ func TestEnumerateGuildTresure_ListError(t *testing.T) { func TestAcquireGuildTresure_Success(t *testing.T) { server := createMockServer() - guildMock := &mockGuildRepoOps{} + guildMock := &mockGuildRepo{} server.guildRepo = guildMock session := createMockSession(1, server) @@ -131,7 +131,7 @@ func TestAcquireGuildTresure_Success(t *testing.T) { func TestOperateGuildTresureReport_Register(t *testing.T) { server := createMockServer() - guildMock := &mockGuildRepoOps{} + guildMock := &mockGuildRepo{} server.guildRepo = guildMock session := createMockSession(1, server) @@ -150,7 +150,7 @@ func TestOperateGuildTresureReport_Register(t *testing.T) { func TestOperateGuildTresureReport_Collect(t *testing.T) { server := createMockServer() - guildMock := &mockGuildRepoOps{} + guildMock := &mockGuildRepo{} server.guildRepo = guildMock session := createMockSession(1, server) @@ -169,7 +169,7 @@ func TestOperateGuildTresureReport_Collect(t *testing.T) { func TestOperateGuildTresureReport_Claim(t *testing.T) { server := createMockServer() - guildMock := &mockGuildRepoOps{} + guildMock := &mockGuildRepo{} server.guildRepo = guildMock session := createMockSession(1, server) diff --git a/server/channelserver/handlers_mail_test.go b/server/channelserver/handlers_mail_test.go index e6646c8fe..8006d1818 100644 --- a/server/channelserver/handlers_mail_test.go +++ b/server/channelserver/handlers_mail_test.go @@ -427,7 +427,7 @@ func TestHandleMsgMhfSendMail_Direct(t *testing.T) { func TestHandleMsgMhfSendMail_Guild(t *testing.T) { server := createMockServer() mailMock := &mockMailRepo{} - guildMock := &mockGuildRepoForMail{ + guildMock := &mockGuildRepo{ guild: &Guild{ID: 10}, members: []*GuildMember{ {CharID: 100}, @@ -469,7 +469,7 @@ func TestHandleMsgMhfSendMail_Guild(t *testing.T) { func TestHandleMsgMhfSendMail_GuildNotFound(t *testing.T) { server := createMockServer() mailMock := &mockMailRepo{} - guildMock := &mockGuildRepoForMail{getErr: errNotFound} + guildMock := &mockGuildRepo{getErr: errNotFound} server.mailRepo = mailMock server.guildRepo = guildMock ensureMailService(server) diff --git a/server/channelserver/handlers_session_test.go b/server/channelserver/handlers_session_test.go index 21bdc287d..74e595896 100644 --- a/server/channelserver/handlers_session_test.go +++ b/server/channelserver/handlers_session_test.go @@ -210,7 +210,7 @@ func TestHandleMsgSysRecordLog_ZZMode(t *testing.T) { server.erupeConfig.RealClientMode = cfg.ZZ server.userBinary = NewUserBinaryStore() - guildRepo := &mockGuildRepoForMail{} + guildRepo := &mockGuildRepo{} server.guildRepo = guildRepo session := createMockSession(1, server) diff --git a/server/channelserver/repo_mocks_test.go b/server/channelserver/repo_mocks_test.go index 0f731e3f1..26769f026 100644 --- a/server/channelserver/repo_mocks_test.go +++ b/server/channelserver/repo_mocks_test.go @@ -262,122 +262,19 @@ func (m *mockGoocooRepo) SaveSlot(_ uint32, slot uint32, data []byte) error { return nil } -// --- mockGuildRepo (minimal, for SendMail guild path) --- +// --- mockGuildRepo --- -type mockGuildRepoForMail struct { - guild *Guild - members []*GuildMember - getErr error - getMembersErr error -} - -func (m *mockGuildRepoForMail) GetByCharID(_ uint32) (*Guild, error) { - if m.getErr != nil { - return nil, m.getErr - } - return m.guild, nil -} - -func (m *mockGuildRepoForMail) GetMembers(_ uint32, _ bool) ([]*GuildMember, error) { - if m.getMembersErr != nil { - return nil, m.getMembersErr - } - return m.members, nil -} - -// Stub out all other GuildRepo methods. -func (m *mockGuildRepoForMail) GetByID(_ uint32) (*Guild, error) { return nil, errNotFound } -func (m *mockGuildRepoForMail) ListAll() ([]*Guild, error) { return nil, nil } -func (m *mockGuildRepoForMail) Create(_ uint32, _ string) (int32, error) { return 0, nil } -func (m *mockGuildRepoForMail) Save(_ *Guild) error { return nil } -func (m *mockGuildRepoForMail) Disband(_ uint32) error { return nil } -func (m *mockGuildRepoForMail) RemoveCharacter(_ uint32) error { return nil } -func (m *mockGuildRepoForMail) AcceptApplication(_, _ uint32) error { return nil } -func (m *mockGuildRepoForMail) CreateApplication(_, _, _ uint32, _ GuildApplicationType) error { - return nil -} -func (m *mockGuildRepoForMail) CreateApplicationWithMail(_, _, _ uint32, _ GuildApplicationType, _, _ uint32, _, _ string) error { - return nil -} -func (m *mockGuildRepoForMail) CancelInvitation(_, _ uint32) error { return nil } -func (m *mockGuildRepoForMail) RejectApplication(_, _ uint32) error { return nil } -func (m *mockGuildRepoForMail) ArrangeCharacters(_ []uint32) error { return nil } -func (m *mockGuildRepoForMail) GetApplication(_, _ uint32, _ GuildApplicationType) (*GuildApplication, error) { - return nil, nil -} -func (m *mockGuildRepoForMail) HasApplication(_, _ uint32) (bool, error) { return false, nil } -func (m *mockGuildRepoForMail) GetItemBox(_ uint32) ([]byte, error) { return nil, nil } -func (m *mockGuildRepoForMail) SaveItemBox(_ uint32, _ []byte) error { return nil } -func (m *mockGuildRepoForMail) GetCharacterMembership(_ uint32) (*GuildMember, error) { - return nil, nil -} -func (m *mockGuildRepoForMail) SaveMember(_ *GuildMember) error { return nil } -func (m *mockGuildRepoForMail) SetRecruiting(_ uint32, _ bool) error { return nil } -func (m *mockGuildRepoForMail) SetPugiOutfits(_ uint32, _ uint32) error { return nil } -func (m *mockGuildRepoForMail) SetRecruiter(_ uint32, _ bool) error { return nil } -func (m *mockGuildRepoForMail) AddMemberDailyRP(_ uint32, _ uint16) error { return nil } -func (m *mockGuildRepoForMail) ExchangeEventRP(_ uint32, _ uint16) (uint32, error) { return 0, nil } -func (m *mockGuildRepoForMail) AddRankRP(_ uint32, _ uint16) error { return nil } -func (m *mockGuildRepoForMail) AddEventRP(_ uint32, _ uint16) error { return nil } -func (m *mockGuildRepoForMail) GetRoomRP(_ uint32) (uint16, error) { return 0, nil } -func (m *mockGuildRepoForMail) SetRoomRP(_ uint32, _ uint16) error { return nil } -func (m *mockGuildRepoForMail) AddRoomRP(_ uint32, _ uint16) error { return nil } -func (m *mockGuildRepoForMail) SetRoomExpiry(_ uint32, _ time.Time) error { return nil } -func (m *mockGuildRepoForMail) ListPosts(_ uint32, _ int) ([]*MessageBoardPost, error) { - return nil, nil -} -func (m *mockGuildRepoForMail) CreatePost(_, _, _ uint32, _ int, _, _ string, _ int) error { - return nil -} -func (m *mockGuildRepoForMail) DeletePost(_ uint32) error { return nil } -func (m *mockGuildRepoForMail) UpdatePost(_ uint32, _, _ string) error { return nil } -func (m *mockGuildRepoForMail) UpdatePostStamp(_, _ uint32) error { return nil } -func (m *mockGuildRepoForMail) GetPostLikedBy(_ uint32) (string, error) { return "", nil } -func (m *mockGuildRepoForMail) SetPostLikedBy(_ uint32, _ string) error { return nil } -func (m *mockGuildRepoForMail) CountNewPosts(_ uint32, _ time.Time) (int, error) { return 0, nil } -func (m *mockGuildRepoForMail) GetAllianceByID(_ uint32) (*GuildAlliance, error) { return nil, nil } -func (m *mockGuildRepoForMail) ListAlliances() ([]*GuildAlliance, error) { return nil, nil } -func (m *mockGuildRepoForMail) CreateAlliance(_ string, _ uint32) error { return nil } -func (m *mockGuildRepoForMail) DeleteAlliance(_ uint32) error { return nil } -func (m *mockGuildRepoForMail) RemoveGuildFromAlliance(_, _, _, _ uint32) error { return nil } -func (m *mockGuildRepoForMail) ListAdventures(_ uint32) ([]*GuildAdventure, error) { return nil, nil } -func (m *mockGuildRepoForMail) CreateAdventure(_, _ uint32, _, _ int64) error { return nil } -func (m *mockGuildRepoForMail) CreateAdventureWithCharge(_, _, _ uint32, _, _ int64) error { - return nil -} -func (m *mockGuildRepoForMail) CollectAdventure(_ uint32, _ uint32) error { return nil } -func (m *mockGuildRepoForMail) ChargeAdventure(_ uint32, _ uint32) error { return nil } -func (m *mockGuildRepoForMail) GetPendingHunt(_ uint32) (*TreasureHunt, error) { return nil, nil } -func (m *mockGuildRepoForMail) ListGuildHunts(_, _ uint32) ([]*TreasureHunt, error) { return nil, nil } -func (m *mockGuildRepoForMail) CreateHunt(_, _, _, _ uint32, _ []byte, _ string) error { return nil } -func (m *mockGuildRepoForMail) AcquireHunt(_ uint32) error { return nil } -func (m *mockGuildRepoForMail) RegisterHuntReport(_, _ uint32) error { return nil } -func (m *mockGuildRepoForMail) CollectHunt(_ uint32) error { return nil } -func (m *mockGuildRepoForMail) ClaimHuntReward(_, _ uint32) error { return nil } -func (m *mockGuildRepoForMail) ListMeals(_ uint32) ([]*GuildMeal, error) { return nil, nil } -func (m *mockGuildRepoForMail) CreateMeal(_, _, _ uint32, _ time.Time) (uint32, error) { return 0, nil } -func (m *mockGuildRepoForMail) UpdateMeal(_, _, _ uint32, _ time.Time) error { return nil } -func (m *mockGuildRepoForMail) ClaimHuntBox(_ uint32, _ time.Time) error { return nil } -func (m *mockGuildRepoForMail) ListGuildKills(_, _ uint32) ([]*GuildKill, error) { return nil, nil } -func (m *mockGuildRepoForMail) CountGuildKills(_, _ uint32) (int, error) { return 0, nil } -func (m *mockGuildRepoForMail) ClearTreasureHunt(_ uint32) error { return nil } -func (m *mockGuildRepoForMail) InsertKillLog(_ uint32, _ int, _ uint8, _ time.Time) error { return nil } -func (m *mockGuildRepoForMail) ListInvitedCharacters(_ uint32) ([]*ScoutedCharacter, error) { - return nil, nil -} -func (m *mockGuildRepoForMail) RolloverDailyRP(_ uint32, _ time.Time) error { return nil } -func (m *mockGuildRepoForMail) AddWeeklyBonusUsers(_ uint32, _ uint8) error { return nil } - -// --- mockGuildRepoOps (enhanced guild repo for ops/scout/board tests) --- - -type mockGuildRepoOps struct { - mockGuildRepoForMail +type mockGuildRepo struct { + // Core data + guild *Guild + members []*GuildMember // Configurable errors + getErr error + getMembersErr error saveErr error saveMemberErr error disbandErr error - getMembersErr error acceptErr error rejectErr error removeErr error @@ -402,12 +299,12 @@ type mockGuildRepoOps struct { // Alliance alliance *GuildAlliance - getAllianceErr error - createAllianceErr error - deleteAllianceErr error - removeAllyErr error - deletedAllianceID uint32 - removedAllyArgs []uint32 + getAllianceErr error + createAllianceErr error + deleteAllianceErr error + removeAllyErr error + deletedAllianceID uint32 + removedAllyArgs []uint32 // Cooking meals []*GuildMeal @@ -447,7 +344,7 @@ type mockGuildRepoOps struct { posts []*MessageBoardPost } -func (m *mockGuildRepoOps) GetByID(guildID uint32) (*Guild, error) { +func (m *mockGuildRepo) GetByID(guildID uint32) (*Guild, error) { if m.getErr != nil { return nil, m.getErr } @@ -457,185 +354,220 @@ func (m *mockGuildRepoOps) GetByID(guildID uint32) (*Guild, error) { return nil, errNotFound } -func (m *mockGuildRepoOps) GetByCharID(charID uint32) (*Guild, error) { +func (m *mockGuildRepo) GetByCharID(_ uint32) (*Guild, error) { if m.getErr != nil { return nil, m.getErr } return m.guild, nil } -func (m *mockGuildRepoOps) GetMembers(guildID uint32, applicants bool) ([]*GuildMember, error) { +func (m *mockGuildRepo) GetMembers(_ uint32, _ bool) ([]*GuildMember, error) { if m.getMembersErr != nil { return nil, m.getMembersErr } return m.members, nil } -func (m *mockGuildRepoOps) GetCharacterMembership(_ uint32) (*GuildMember, error) { +func (m *mockGuildRepo) GetCharacterMembership(_ uint32) (*GuildMember, error) { if m.getMemberErr != nil { return nil, m.getMemberErr } return m.membership, nil } -func (m *mockGuildRepoOps) Save(guild *Guild) error { +func (m *mockGuildRepo) Save(guild *Guild) error { m.savedGuild = guild return m.saveErr } -func (m *mockGuildRepoOps) SaveMember(member *GuildMember) error { +func (m *mockGuildRepo) SaveMember(member *GuildMember) error { m.savedMembers = append(m.savedMembers, member) return m.saveMemberErr } -func (m *mockGuildRepoOps) Disband(guildID uint32) error { +func (m *mockGuildRepo) Disband(guildID uint32) error { m.disbandedID = guildID return m.disbandErr } -func (m *mockGuildRepoOps) RemoveCharacter(charID uint32) error { +func (m *mockGuildRepo) RemoveCharacter(charID uint32) error { m.removedCharID = charID return m.removeErr } -func (m *mockGuildRepoOps) AcceptApplication(guildID, charID uint32) error { +func (m *mockGuildRepo) AcceptApplication(_, charID uint32) error { m.acceptedCharID = charID return m.acceptErr } -func (m *mockGuildRepoOps) RejectApplication(guildID, charID uint32) error { +func (m *mockGuildRepo) RejectApplication(_, charID uint32) error { m.rejectedCharID = charID return m.rejectErr } -func (m *mockGuildRepoOps) CreateApplication(guildID, charID, actorID uint32, appType GuildApplicationType) error { +func (m *mockGuildRepo) CreateApplication(guildID, charID, actorID uint32, appType GuildApplicationType) error { m.createdAppArgs = []interface{}{guildID, charID, actorID, appType} return m.createAppErr } -func (m *mockGuildRepoOps) HasApplication(guildID, charID uint32) (bool, error) { +func (m *mockGuildRepo) HasApplication(_, _ uint32) (bool, error) { return m.hasAppResult, m.hasAppErr } -func (m *mockGuildRepoOps) GetApplication(guildID, charID uint32, appType GuildApplicationType) (*GuildApplication, error) { +func (m *mockGuildRepo) GetApplication(_, _ uint32, _ GuildApplicationType) (*GuildApplication, error) { return m.application, nil } -func (m *mockGuildRepoOps) ListPosts(guildID uint32, postType int) ([]*MessageBoardPost, error) { +func (m *mockGuildRepo) ListPosts(_ uint32, _ int) ([]*MessageBoardPost, error) { if m.listPostsErr != nil { return nil, m.listPostsErr } return m.posts, nil } -func (m *mockGuildRepoOps) CreatePost(guildID, authorID, stampID uint32, postType int, title, body string, maxPosts int) error { +func (m *mockGuildRepo) CreatePost(guildID, authorID, stampID uint32, postType int, title, body string, maxPosts int) error { m.createdPost = []interface{}{guildID, authorID, stampID, postType, title, body, maxPosts} return m.createPostErr } -func (m *mockGuildRepoOps) DeletePost(postID uint32) error { +func (m *mockGuildRepo) DeletePost(postID uint32) error { m.deletedPostID = postID return m.deletePostErr } -func (m *mockGuildRepoOps) GetAllianceByID(_ uint32) (*GuildAlliance, error) { +func (m *mockGuildRepo) GetAllianceByID(_ uint32) (*GuildAlliance, error) { return m.alliance, m.getAllianceErr } -func (m *mockGuildRepoOps) CreateAlliance(_ string, _ uint32) error { +func (m *mockGuildRepo) CreateAlliance(_ string, _ uint32) error { return m.createAllianceErr } -func (m *mockGuildRepoOps) DeleteAlliance(id uint32) error { +func (m *mockGuildRepo) DeleteAlliance(id uint32) error { m.deletedAllianceID = id return m.deleteAllianceErr } -func (m *mockGuildRepoOps) RemoveGuildFromAlliance(allyID, guildID, sub1, sub2 uint32) error { +func (m *mockGuildRepo) RemoveGuildFromAlliance(allyID, guildID, sub1, sub2 uint32) error { m.removedAllyArgs = []uint32{allyID, guildID, sub1, sub2} return m.removeAllyErr } -func (m *mockGuildRepoOps) ListMeals(_ uint32) ([]*GuildMeal, error) { +func (m *mockGuildRepo) ListMeals(_ uint32) ([]*GuildMeal, error) { return m.meals, m.listMealsErr } -func (m *mockGuildRepoOps) CreateMeal(_, _, _ uint32, _ time.Time) (uint32, error) { +func (m *mockGuildRepo) CreateMeal(_, _, _ uint32, _ time.Time) (uint32, error) { return m.createdMealID, m.createMealErr } -func (m *mockGuildRepoOps) UpdateMeal(_, _, _ uint32, _ time.Time) error { +func (m *mockGuildRepo) UpdateMeal(_, _, _ uint32, _ time.Time) error { return m.updateMealErr } -func (m *mockGuildRepoOps) ListAdventures(_ uint32) ([]*GuildAdventure, error) { +func (m *mockGuildRepo) ListAdventures(_ uint32) ([]*GuildAdventure, error) { return m.adventures, m.listAdvErr } -func (m *mockGuildRepoOps) CreateAdventure(_, _ uint32, _, _ int64) error { +func (m *mockGuildRepo) CreateAdventure(_, _ uint32, _, _ int64) error { return m.createAdvErr } -func (m *mockGuildRepoOps) CreateAdventureWithCharge(_, _, _ uint32, _, _ int64) error { +func (m *mockGuildRepo) CreateAdventureWithCharge(_, _, _ uint32, _, _ int64) error { return m.createAdvErr } -func (m *mockGuildRepoOps) CollectAdventure(id uint32, _ uint32) error { +func (m *mockGuildRepo) CollectAdventure(id uint32, _ uint32) error { m.collectAdvID = id return nil } -func (m *mockGuildRepoOps) ChargeAdventure(id uint32, amount uint32) error { +func (m *mockGuildRepo) ChargeAdventure(id uint32, amount uint32) error { m.chargeAdvID = id m.chargeAdvAmount = amount return nil } -func (m *mockGuildRepoOps) GetPendingHunt(_ uint32) (*TreasureHunt, error) { +func (m *mockGuildRepo) GetPendingHunt(_ uint32) (*TreasureHunt, error) { return m.pendingHunt, nil } -func (m *mockGuildRepoOps) ListGuildHunts(_, _ uint32) ([]*TreasureHunt, error) { +func (m *mockGuildRepo) ListGuildHunts(_, _ uint32) ([]*TreasureHunt, error) { return m.guildHunts, m.listHuntsErr } -func (m *mockGuildRepoOps) CreateHunt(_, _, _, _ uint32, _ []byte, _ string) error { +func (m *mockGuildRepo) CreateHunt(_, _, _, _ uint32, _ []byte, _ string) error { return m.createHuntErr } -func (m *mockGuildRepoOps) AcquireHunt(id uint32) error { +func (m *mockGuildRepo) AcquireHunt(id uint32) error { m.acquireHuntID = id return nil } -func (m *mockGuildRepoOps) RegisterHuntReport(id, _ uint32) error { +func (m *mockGuildRepo) RegisterHuntReport(id, _ uint32) error { m.reportHuntID = id return nil } -func (m *mockGuildRepoOps) CollectHunt(id uint32) error { +func (m *mockGuildRepo) CollectHunt(id uint32) error { m.collectHuntID = id return nil } -func (m *mockGuildRepoOps) ClaimHuntReward(id, _ uint32) error { +func (m *mockGuildRepo) ClaimHuntReward(id, _ uint32) error { m.claimHuntID = id return nil } -func (m *mockGuildRepoOps) ClaimHuntBox(_ uint32, _ time.Time) error { +func (m *mockGuildRepo) ClaimHuntBox(_ uint32, _ time.Time) error { m.claimBoxCalled = true return nil } -func (m *mockGuildRepoOps) ListGuildKills(_, _ uint32) ([]*GuildKill, error) { +func (m *mockGuildRepo) ListGuildKills(_, _ uint32) ([]*GuildKill, error) { return m.guildKills, m.listKillsErr } -func (m *mockGuildRepoOps) CountGuildKills(_, _ uint32) (int, error) { +func (m *mockGuildRepo) CountGuildKills(_, _ uint32) (int, error) { return m.countKills, m.countKillsErr } +// No-op stubs for remaining GuildRepo interface methods. +func (m *mockGuildRepo) ListAll() ([]*Guild, error) { return nil, nil } +func (m *mockGuildRepo) Create(_ uint32, _ string) (int32, error) { return 0, nil } +func (m *mockGuildRepo) CreateApplicationWithMail(_, _, _ uint32, _ GuildApplicationType, _, _ uint32, _, _ string) error { + return nil +} +func (m *mockGuildRepo) CancelInvitation(_, _ uint32) error { return nil } +func (m *mockGuildRepo) ArrangeCharacters(_ []uint32) error { return nil } +func (m *mockGuildRepo) GetItemBox(_ uint32) ([]byte, error) { return nil, nil } +func (m *mockGuildRepo) SaveItemBox(_ uint32, _ []byte) error { return nil } +func (m *mockGuildRepo) SetRecruiting(_ uint32, _ bool) error { return nil } +func (m *mockGuildRepo) SetPugiOutfits(_ uint32, _ uint32) error { return nil } +func (m *mockGuildRepo) SetRecruiter(_ uint32, _ bool) error { return nil } +func (m *mockGuildRepo) AddMemberDailyRP(_ uint32, _ uint16) error { return nil } +func (m *mockGuildRepo) ExchangeEventRP(_ uint32, _ uint16) (uint32, error) { return 0, nil } +func (m *mockGuildRepo) AddRankRP(_ uint32, _ uint16) error { return nil } +func (m *mockGuildRepo) AddEventRP(_ uint32, _ uint16) error { return nil } +func (m *mockGuildRepo) GetRoomRP(_ uint32) (uint16, error) { return 0, nil } +func (m *mockGuildRepo) SetRoomRP(_ uint32, _ uint16) error { return nil } +func (m *mockGuildRepo) AddRoomRP(_ uint32, _ uint16) error { return nil } +func (m *mockGuildRepo) SetRoomExpiry(_ uint32, _ time.Time) error { return nil } +func (m *mockGuildRepo) UpdatePost(_ uint32, _, _ string) error { return nil } +func (m *mockGuildRepo) UpdatePostStamp(_, _ uint32) error { return nil } +func (m *mockGuildRepo) GetPostLikedBy(_ uint32) (string, error) { return "", nil } +func (m *mockGuildRepo) SetPostLikedBy(_ uint32, _ string) error { return nil } +func (m *mockGuildRepo) CountNewPosts(_ uint32, _ time.Time) (int, error) { return 0, nil } +func (m *mockGuildRepo) ListAlliances() ([]*GuildAlliance, error) { return nil, nil } +func (m *mockGuildRepo) ClearTreasureHunt(_ uint32) error { return nil } +func (m *mockGuildRepo) InsertKillLog(_ uint32, _ int, _ uint8, _ time.Time) error { return nil } +func (m *mockGuildRepo) ListInvitedCharacters(_ uint32) ([]*ScoutedCharacter, error) { + return nil, nil +} +func (m *mockGuildRepo) RolloverDailyRP(_ uint32, _ time.Time) error { return nil } +func (m *mockGuildRepo) AddWeeklyBonusUsers(_ uint32, _ uint8) error { return nil } + // --- mockUserRepoForItems --- type mockUserRepoForItems struct { diff --git a/server/channelserver/svc_guild_test.go b/server/channelserver/svc_guild_test.go index 7276090d8..3b7afd2f0 100644 --- a/server/channelserver/svc_guild_test.go +++ b/server/channelserver/svc_guild_test.go @@ -122,7 +122,7 @@ func TestGuildService_OperateMember(t *testing.T) { for _, tt := range tests { t.Run(tt.name, func(t *testing.T) { - guildMock := &mockGuildRepoOps{ + guildMock := &mockGuildRepo{ membership: tt.membership, acceptErr: tt.acceptErr, rejectErr: tt.rejectErr, @@ -208,7 +208,7 @@ func TestGuildService_Disband(t *testing.T) { for _, tt := range tests { t.Run(tt.name, func(t *testing.T) { - guildMock := &mockGuildRepoOps{disbandErr: tt.disbandErr} + guildMock := &mockGuildRepo{disbandErr: tt.disbandErr} guildMock.guild = tt.guild svc := newTestGuildService(guildMock, &mockMailRepo{}) @@ -284,7 +284,7 @@ func TestGuildService_ResignLeadership(t *testing.T) { for _, tt := range tests { t.Run(tt.name, func(t *testing.T) { - guildMock := &mockGuildRepoOps{getMembersErr: tt.getMembersErr} + guildMock := &mockGuildRepo{getMembersErr: tt.getMembersErr} guildMock.guild = tt.guild guildMock.members = tt.members svc := newTestGuildService(guildMock, &mockMailRepo{}) @@ -356,7 +356,7 @@ func TestGuildService_Leave(t *testing.T) { for _, tt := range tests { t.Run(tt.name, func(t *testing.T) { - guildMock := &mockGuildRepoOps{ + guildMock := &mockGuildRepo{ rejectErr: tt.rejectErr, removeErr: tt.removeErr, } @@ -422,7 +422,7 @@ func TestGuildService_PostScout(t *testing.T) { for _, tt := range tests { t.Run(tt.name, func(t *testing.T) { - guildMock := &mockGuildRepoOps{ + guildMock := &mockGuildRepo{ membership: tt.membership, hasAppResult: tt.hasApp, hasAppErr: tt.hasAppErr, @@ -526,7 +526,7 @@ func TestGuildService_AnswerScout(t *testing.T) { for _, tt := range tests { t.Run(tt.name, func(t *testing.T) { - guildMock := &mockGuildRepoOps{ + guildMock := &mockGuildRepo{ application: tt.application, acceptErr: tt.acceptErr, rejectErr: tt.rejectErr, diff --git a/server/channelserver/svc_mail_test.go b/server/channelserver/svc_mail_test.go index d272e9764..25a8e20f2 100644 --- a/server/channelserver/svc_mail_test.go +++ b/server/channelserver/svc_mail_test.go @@ -101,7 +101,7 @@ func TestMailService_SendGuildInvite(t *testing.T) { func TestMailService_BroadcastToGuild(t *testing.T) { mailMock := &mockMailRepo{} - guildMock := &mockGuildRepoForMail{ + guildMock := &mockGuildRepo{ members: []*GuildMember{ {CharID: 100}, {CharID: 200}, @@ -132,7 +132,7 @@ func TestMailService_BroadcastToGuild(t *testing.T) { func TestMailService_BroadcastToGuild_GetMembersError(t *testing.T) { mailMock := &mockMailRepo{} - guildMock := &mockGuildRepoForMail{getMembersErr: errors.New("db fail")} + guildMock := &mockGuildRepo{getMembersErr: errors.New("db fail")} logger, _ := zap.NewDevelopment() svc := NewMailService(mailMock, guildMock, logger) @@ -147,7 +147,7 @@ func TestMailService_BroadcastToGuild_GetMembersError(t *testing.T) { func TestMailService_BroadcastToGuild_SendError(t *testing.T) { mailMock := &mockMailRepo{sendErr: errors.New("db fail")} - guildMock := &mockGuildRepoForMail{ + guildMock := &mockGuildRepo{ members: []*GuildMember{ {CharID: 100}, },