refactor(test): consolidate two GuildRepo mocks into one

mockGuildRepoForMail and mockGuildRepoOps each implemented different
subsets of the 68-method GuildRepo interface. Adding any new method
required updating both mocks. Merged into a single mockGuildRepo with
configurable struct fields for error injection and no-op defaults for
the rest.
This commit is contained in:
Houmgaor
2026-02-24 14:13:20 +01:00
parent c1fadd09c3
commit 41a103af9d
14 changed files with 178 additions and 246 deletions

View File

@@ -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)

View File

@@ -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)

View File

@@ -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}

View File

@@ -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)

View File

@@ -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)

View File

@@ -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"}

View File

@@ -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"}

View File

@@ -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)

View File

@@ -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)

View File

@@ -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)

View File

@@ -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 {

View File

@@ -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,

View File

@@ -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},
},