| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677 |
- //go:build unit
- package repository
- import (
- "math"
- "testing"
- "github.com/stretchr/testify/require"
- )
- func TestRedeemRateLimitKey(t *testing.T) {
- tests := []struct {
- name string
- userID int64
- expected string
- }{
- {
- name: "normal_user_id",
- userID: 123,
- expected: "redeem:ratelimit:v2:123",
- },
- {
- name: "zero_user_id",
- userID: 0,
- expected: "redeem:ratelimit:v2:0",
- },
- {
- name: "negative_user_id",
- userID: -1,
- expected: "redeem:ratelimit:v2:-1",
- },
- {
- name: "max_int64",
- userID: math.MaxInt64,
- expected: "redeem:ratelimit:v2:9223372036854775807",
- },
- }
- for _, tc := range tests {
- t.Run(tc.name, func(t *testing.T) {
- got := redeemRateLimitKey(tc.userID)
- require.Equal(t, tc.expected, got)
- })
- }
- }
- func TestRedeemLockKey(t *testing.T) {
- tests := []struct {
- name string
- code string
- expected string
- }{
- {
- name: "normal_code",
- code: "ABC123",
- expected: "redeem:lock:ABC123",
- },
- {
- name: "empty_code",
- code: "",
- expected: "redeem:lock:",
- },
- {
- name: "code_with_special_chars",
- code: "CODE-2024:test",
- expected: "redeem:lock:CODE-2024:test",
- },
- }
- for _, tc := range tests {
- t.Run(tc.name, func(t *testing.T) {
- got := redeemLockKey(tc.code)
- require.Equal(t, tc.expected, got)
- })
- }
- }
|