mirror of
https://github.com/Mezeporta/Erupe.git
synced 2026-03-26 01:23:13 +01:00
refactor(channelserver): consolidate tests into matching source test files
Move ~300 test functions from 21 catch-all files (handlers_core_test.go, handlers_coverage*_test.go, *_coverage_test.go) into the *_test.go file matching each handler's source file. This makes tests discoverable by convention: tests for handlers_guild.go live in handlers_guild_test.go. New files: handlers_guild_mission_test.go, sys_time_test.go. No test logic changed — pure file reorganization.
This commit is contained in:
@@ -5,6 +5,7 @@ import (
|
||||
|
||||
"erupe-ce/common/byteframe"
|
||||
"erupe-ce/network/mhfpacket"
|
||||
"erupe-ce/common/stringsupport"
|
||||
)
|
||||
|
||||
// --- handleMsgMhfOperateGuild tests ---
|
||||
@@ -618,3 +619,104 @@ func newMottoBF(sub, main uint8) *byteframe.ByteFrame {
|
||||
_, _ = bf.Seek(0, 0)
|
||||
return bf
|
||||
}
|
||||
|
||||
func TestHandleRenamePugi_Pugi1(t *testing.T) {
|
||||
srv := createMockServer()
|
||||
guild := &Guild{ID: 1}
|
||||
srv.guildRepo = &mockGuildRepo{guild: guild}
|
||||
s := createMockSession(100, srv)
|
||||
|
||||
bf := byteframe.NewByteFrame()
|
||||
nameBytes := stringsupport.UTF8ToSJIS("TestPugi")
|
||||
bf.WriteBytes(nameBytes)
|
||||
bf.WriteUint8(0) // null terminator
|
||||
bf.Seek(0, 0)
|
||||
|
||||
handleRenamePugi(s, bf, guild, 1)
|
||||
if guild.PugiName1 != "TestPugi" {
|
||||
t.Errorf("PugiName1 = %q, want TestPugi", guild.PugiName1)
|
||||
}
|
||||
}
|
||||
|
||||
func TestHandleRenamePugi_Pugi2(t *testing.T) {
|
||||
srv := createMockServer()
|
||||
guild := &Guild{ID: 1}
|
||||
srv.guildRepo = &mockGuildRepo{guild: guild}
|
||||
s := createMockSession(100, srv)
|
||||
|
||||
bf := byteframe.NewByteFrame()
|
||||
nameBytes := stringsupport.UTF8ToSJIS("Pugi2")
|
||||
bf.WriteBytes(nameBytes)
|
||||
bf.WriteUint8(0)
|
||||
bf.Seek(0, 0)
|
||||
|
||||
handleRenamePugi(s, bf, guild, 2)
|
||||
if guild.PugiName2 != "Pugi2" {
|
||||
t.Errorf("PugiName2 = %q, want Pugi2", guild.PugiName2)
|
||||
}
|
||||
}
|
||||
|
||||
func TestHandleRenamePugi_Pugi3Default(t *testing.T) {
|
||||
srv := createMockServer()
|
||||
guild := &Guild{ID: 1}
|
||||
srv.guildRepo = &mockGuildRepo{guild: guild}
|
||||
s := createMockSession(100, srv)
|
||||
|
||||
bf := byteframe.NewByteFrame()
|
||||
nameBytes := stringsupport.UTF8ToSJIS("Pugi3")
|
||||
bf.WriteBytes(nameBytes)
|
||||
bf.WriteUint8(0)
|
||||
bf.Seek(0, 0)
|
||||
|
||||
handleRenamePugi(s, bf, guild, 3)
|
||||
if guild.PugiName3 != "Pugi3" {
|
||||
t.Errorf("PugiName3 = %q, want Pugi3", guild.PugiName3)
|
||||
}
|
||||
}
|
||||
|
||||
func TestHandleChangePugi_AllNums(t *testing.T) {
|
||||
srv := createMockServer()
|
||||
guild := &Guild{ID: 1}
|
||||
srv.guildRepo = &mockGuildRepo{guild: guild}
|
||||
s := createMockSession(100, srv)
|
||||
|
||||
handleChangePugi(s, 5, guild, 1)
|
||||
if guild.PugiOutfit1 != 5 {
|
||||
t.Errorf("PugiOutfit1 = %d, want 5", guild.PugiOutfit1)
|
||||
}
|
||||
|
||||
handleChangePugi(s, 10, guild, 2)
|
||||
if guild.PugiOutfit2 != 10 {
|
||||
t.Errorf("PugiOutfit2 = %d, want 10", guild.PugiOutfit2)
|
||||
}
|
||||
|
||||
handleChangePugi(s, 15, guild, 3)
|
||||
if guild.PugiOutfit3 != 15 {
|
||||
t.Errorf("PugiOutfit3 = %d, want 15", guild.PugiOutfit3)
|
||||
}
|
||||
}
|
||||
|
||||
func TestHandleAvoidLeadershipUpdate_Success(t *testing.T) {
|
||||
srv := createMockServer()
|
||||
membership := &GuildMember{CharID: 100, AvoidLeadership: false}
|
||||
srv.guildRepo = &mockGuildRepo{membership: membership}
|
||||
s := createMockSession(100, srv)
|
||||
|
||||
pkt := &mhfpacket.MsgMhfOperateGuild{AckHandle: 1}
|
||||
handleAvoidLeadershipUpdate(s, pkt, true)
|
||||
<-s.sendPackets
|
||||
|
||||
if !membership.AvoidLeadership {
|
||||
t.Error("AvoidLeadership should be true")
|
||||
}
|
||||
}
|
||||
|
||||
func TestHandleAvoidLeadershipUpdate_GetMembershipError(t *testing.T) {
|
||||
srv := createMockServer()
|
||||
srv.guildRepo = &mockGuildRepo{getMemberErr: errNotFound}
|
||||
s := createMockSession(100, srv)
|
||||
|
||||
pkt := &mhfpacket.MsgMhfOperateGuild{AckHandle: 1}
|
||||
handleAvoidLeadershipUpdate(s, pkt, true)
|
||||
<-s.sendPackets
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user