26 lines
836 B
Go
26 lines
836 B
Go
package app
|
|
|
|
import "testing"
|
|
|
|
func TestDailyActiveChatQuotaView(t *testing.T) {
|
|
limited := dailyActiveChatQuotaView(20, 7)
|
|
if limited["remaining"] != 13 || limited["unlimited"] != false {
|
|
t.Fatalf("unexpected limited quota: %#v", limited)
|
|
}
|
|
exhausted := dailyActiveChatQuotaView(5, 8)
|
|
if exhausted["remaining"] != 0 {
|
|
t.Fatalf("remaining quota must not be negative: %#v", exhausted)
|
|
}
|
|
unlimited := dailyActiveChatQuotaView(0, 99)
|
|
if unlimited["remaining"] != -1 || unlimited["unlimited"] != true {
|
|
t.Fatalf("unexpected unlimited quota: %#v", unlimited)
|
|
}
|
|
}
|
|
|
|
func TestDailyActiveChatLimitError(t *testing.T) {
|
|
err := (&dailyActiveChatLimitError{Limit: 20}).Error()
|
|
if err != "今日主动聊天人数已达上限(20人),回复收到的消息不受此限制" {
|
|
t.Fatalf("unexpected quota message: %s", err)
|
|
}
|
|
}
|