test: import 38 channelserver test files from v9.2.x-stable

Port test files from v9.2.x-stable branch to increase channelserver
coverage from 13.8% to 25.6% (556 tests passing).

Adapted all files to main's struct definitions: config import alias,
Airou/CatDefinition rename, packet field mismatches, Raviente struct
differences, and maxPlayers defaults. Removed tests referencing
production code not yet on main (Player, FestivalColour, etc.).
Excluded handlers_register_test.go (Raviente completely redesigned).
This commit is contained in:
Houmgaor
2026-02-16 22:19:44 +01:00
parent b1c8b2848f
commit be4cd2001c
39 changed files with 10200 additions and 0 deletions

View File

@@ -0,0 +1,77 @@
package channelserver
import (
"testing"
_config "erupe-ce/config"
"erupe-ce/network/mhfpacket"
)
func TestHandleMsgMhfGetBbsUserStatus(t *testing.T) {
server := createMockServer()
session := createMockSession(1, server)
pkt := &mhfpacket.MsgMhfGetBbsUserStatus{
AckHandle: 12345,
}
handleMsgMhfGetBbsUserStatus(session, pkt)
// Verify response packet was queued
select {
case p := <-session.sendPackets:
if len(p.data) == 0 {
t.Error("Response packet should have data")
}
default:
t.Error("No response packet queued")
}
}
func TestHandleMsgMhfGetBbsSnsStatus(t *testing.T) {
server := createMockServer()
session := createMockSession(1, server)
pkt := &mhfpacket.MsgMhfGetBbsSnsStatus{
AckHandle: 12345,
}
handleMsgMhfGetBbsSnsStatus(session, pkt)
// Verify response packet was queued
select {
case p := <-session.sendPackets:
if len(p.data) == 0 {
t.Error("Response packet should have data")
}
default:
t.Error("No response packet queued")
}
}
func TestHandleMsgMhfApplyBbsArticle(t *testing.T) {
server := createMockServer()
server.erupeConfig = &_config.Config{
Screenshots: _config.ScreenshotsOptions{
Host: "example.com",
Port: 8080,
},
}
session := createMockSession(1, server)
pkt := &mhfpacket.MsgMhfApplyBbsArticle{
AckHandle: 12345,
}
handleMsgMhfApplyBbsArticle(session, pkt)
// Verify response packet was queued
select {
case p := <-session.sendPackets:
if len(p.data) == 0 {
t.Error("Response packet should have data")
}
default:
t.Error("No response packet queued")
}
}