34 lines
775 B
Go
34 lines
775 B
Go
package registerreward
|
|
|
|
import (
|
|
"testing"
|
|
"time"
|
|
)
|
|
|
|
func TestRegisterRewardNoticeHubPublish(t *testing.T) {
|
|
hub := newRegisterRewardNoticeHub()
|
|
stream, cancel := hub.subscribe(1001)
|
|
defer cancel()
|
|
|
|
expected := RegisterRewardNoticeEvent{
|
|
NoticeType: "REGISTER_REWARD_GRANTED",
|
|
UserID: 1001,
|
|
EventID: "REGISTER_REWARD:LIKEI:1001",
|
|
SentAt: time.Now(),
|
|
}
|
|
|
|
hub.publish(expected)
|
|
|
|
select {
|
|
case got := <-stream:
|
|
if got.UserID != expected.UserID {
|
|
t.Fatalf("publish() userId = %d, want %d", got.UserID, expected.UserID)
|
|
}
|
|
if got.NoticeType != expected.NoticeType {
|
|
t.Fatalf("publish() noticeType = %s, want %s", got.NoticeType, expected.NoticeType)
|
|
}
|
|
case <-time.After(time.Second):
|
|
t.Fatal("publish() timeout waiting for event")
|
|
}
|
|
}
|