package registerreward import "testing" func TestDeriveRegisterRewardClaimResult(t *testing.T) { t.Run("rewarded success", func(t *testing.T) { got := deriveRegisterRewardClaimResult(registerRewardStatusSuccess, registerRewardGrantModeIssueReward) if got != registerRewardClaimResultRewarded { t.Fatalf("deriveRegisterRewardClaimResult() = %s, want %s", got, registerRewardClaimResultRewarded) } }) t.Run("quota exhausted success", func(t *testing.T) { got := deriveRegisterRewardClaimResult(registerRewardStatusSuccess, registerRewardGrantModeQuotaExhausted) if got != registerRewardClaimResultQuotaExhausted { t.Fatalf("deriveRegisterRewardClaimResult() = %s, want %s", got, registerRewardClaimResultQuotaExhausted) } }) t.Run("failed issue reward", func(t *testing.T) { got := deriveRegisterRewardClaimResult(registerRewardStatusFailed, registerRewardGrantModeIssueReward) if got != registerRewardClaimResultFailed { t.Fatalf("deriveRegisterRewardClaimResult() = %s, want %s", got, registerRewardClaimResultFailed) } }) } func TestResolveRegisterRewardRemainingCount(t *testing.T) { t.Run("unlimited returns zero", func(t *testing.T) { if got := resolveRegisterRewardRemainingCount(0, 12); got != 0 { t.Fatalf("resolveRegisterRewardRemainingCount() = %d, want 0", got) } }) t.Run("remaining cannot be negative", func(t *testing.T) { if got := resolveRegisterRewardRemainingCount(5, 9); got != 0 { t.Fatalf("resolveRegisterRewardRemainingCount() = %d, want 0", got) } }) t.Run("remaining uses occupied count", func(t *testing.T) { if got := resolveRegisterRewardRemainingCount(20, 7); got != 13 { t.Fatalf("resolveRegisterRewardRemainingCount() = %d, want 13", got) } }) }