mirror of
https://github.com/Mezeporta/Erupe.git
synced 2026-03-26 17:43:21 +01:00
test: expand channelserver coverage from 16% to 20%
Add comprehensive tests for handler functions and utilities: - Achievement system (GetAchData, curves, mappings) - Language system (getLangStrings) - Core handlers (empty handlers, simple responses) - Cafe/boost handlers - Diva defense handlers - Reward, caravan, tactics handlers - Festa/ranking handlers - Cast binary constants
This commit is contained in:
98
server/channelserver/handlers_cafe_test.go
Normal file
98
server/channelserver/handlers_cafe_test.go
Normal file
@@ -0,0 +1,98 @@
|
||||
package channelserver
|
||||
|
||||
import (
|
||||
"testing"
|
||||
|
||||
"erupe-ce/network/mhfpacket"
|
||||
)
|
||||
|
||||
func TestHandleMsgMhfGetBoostTime(t *testing.T) {
|
||||
server := createMockServer()
|
||||
session := createMockSession(1, server)
|
||||
|
||||
pkt := &mhfpacket.MsgMhfGetBoostTime{
|
||||
AckHandle: 12345,
|
||||
}
|
||||
|
||||
handleMsgMhfGetBoostTime(session, pkt)
|
||||
|
||||
select {
|
||||
case p := <-session.sendPackets:
|
||||
// Response should be empty bytes for this handler
|
||||
if p.data == nil {
|
||||
t.Error("Response packet data should not be nil")
|
||||
}
|
||||
default:
|
||||
t.Error("No response packet queued")
|
||||
}
|
||||
}
|
||||
|
||||
func TestHandleMsgMhfPostBoostTimeQuestReturn(t *testing.T) {
|
||||
server := createMockServer()
|
||||
session := createMockSession(1, server)
|
||||
|
||||
pkt := &mhfpacket.MsgMhfPostBoostTimeQuestReturn{
|
||||
AckHandle: 12345,
|
||||
}
|
||||
|
||||
handleMsgMhfPostBoostTimeQuestReturn(session, pkt)
|
||||
|
||||
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 TestHandleMsgMhfPostBoostTime(t *testing.T) {
|
||||
server := createMockServer()
|
||||
session := createMockSession(1, server)
|
||||
|
||||
// Empty handler - should not panic
|
||||
defer func() {
|
||||
if r := recover(); r != nil {
|
||||
t.Errorf("handleMsgMhfPostBoostTime panicked: %v", r)
|
||||
}
|
||||
}()
|
||||
|
||||
handleMsgMhfPostBoostTime(session, nil)
|
||||
}
|
||||
|
||||
func TestHandleMsgMhfPostBoostTimeLimit(t *testing.T) {
|
||||
server := createMockServer()
|
||||
session := createMockSession(1, server)
|
||||
|
||||
// Empty handler - should not panic
|
||||
defer func() {
|
||||
if r := recover(); r != nil {
|
||||
t.Errorf("handleMsgMhfPostBoostTimeLimit panicked: %v", r)
|
||||
}
|
||||
}()
|
||||
|
||||
handleMsgMhfPostBoostTimeLimit(session, nil)
|
||||
}
|
||||
|
||||
func TestCafeBonusStruct(t *testing.T) {
|
||||
// Test CafeBonus struct can be created
|
||||
bonus := CafeBonus{
|
||||
ID: 1,
|
||||
TimeReq: 3600,
|
||||
ItemType: 1,
|
||||
ItemID: 100,
|
||||
Quantity: 5,
|
||||
Claimed: false,
|
||||
}
|
||||
|
||||
if bonus.ID != 1 {
|
||||
t.Errorf("ID = %d, want 1", bonus.ID)
|
||||
}
|
||||
if bonus.TimeReq != 3600 {
|
||||
t.Errorf("TimeReq = %d, want 3600", bonus.TimeReq)
|
||||
}
|
||||
if bonus.Claimed {
|
||||
t.Error("Claimed should be false")
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user