mirror of
https://github.com/Mezeporta/Erupe.git
synced 2026-03-21 23:22:34 +01:00
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:
@@ -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.
|
||||
|
||||
---
|
||||
|
||||
|
||||
@@ -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)
|
||||
|
||||
@@ -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)
|
||||
|
||||
|
||||
@@ -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}
|
||||
|
||||
@@ -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)
|
||||
|
||||
@@ -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)
|
||||
|
||||
@@ -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"}
|
||||
|
||||
@@ -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"}
|
||||
|
||||
@@ -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)
|
||||
|
||||
|
||||
@@ -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)
|
||||
|
||||
@@ -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)
|
||||
|
||||
@@ -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 {
|
||||
|
||||
@@ -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,
|
||||
|
||||
@@ -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},
|
||||
},
|
||||
|
||||
Reference in New Issue
Block a user