All checks were successful
Server Check Build (NixCN CMS) TeamCity build finished
Signed-off-by: Asai Neko <sugar@sne.moe>
119 lines
2.9 KiB
Go
119 lines
2.9 KiB
Go
package data_test
|
|
|
|
import (
|
|
"context"
|
|
"testing"
|
|
|
|
"github.com/google/uuid"
|
|
"github.com/stretchr/testify/assert"
|
|
"github.com/stretchr/testify/require"
|
|
"nixcn-cms/data"
|
|
"nixcn-cms/testutil"
|
|
)
|
|
|
|
func TestKycCreate(t *testing.T) {
|
|
testutil.Setup(t)
|
|
ctx := context.Background()
|
|
|
|
userId := uuid.New()
|
|
k := data.NewKyc(
|
|
data.WithKycUserId(userId),
|
|
data.WithKycType("cnrid"),
|
|
data.WithKycInfo("encrypted-info"),
|
|
)
|
|
kycId, err := k.Create(ctx)
|
|
require.NoError(t, err)
|
|
assert.NotEqual(t, uuid.Nil, kycId)
|
|
}
|
|
|
|
func TestKycGetByKycId(t *testing.T) {
|
|
testutil.Setup(t)
|
|
ctx := context.Background()
|
|
|
|
userId := uuid.New()
|
|
k := data.NewKyc(data.WithKycUserId(userId), data.WithKycType("cnrid"), data.WithKycInfo("info"))
|
|
kycId, err := k.Create(ctx)
|
|
require.NoError(t, err)
|
|
|
|
got, err := new(data.Kyc).GetByKycId(ctx, &kycId)
|
|
require.NoError(t, err)
|
|
require.NotNil(t, got)
|
|
assert.Equal(t, userId, got.UserId)
|
|
}
|
|
|
|
func TestKycGetByKycIdNotFound(t *testing.T) {
|
|
testutil.Setup(t)
|
|
ctx := context.Background()
|
|
|
|
missing := uuid.New()
|
|
got, err := new(data.Kyc).GetByKycId(ctx, &missing)
|
|
require.NoError(t, err)
|
|
assert.Nil(t, got)
|
|
}
|
|
|
|
func TestKycListByUserId(t *testing.T) {
|
|
testutil.Setup(t)
|
|
ctx := context.Background()
|
|
|
|
userId := uuid.New()
|
|
for _, typ := range []string{"cnrid", "passport"} {
|
|
k := data.NewKyc(data.WithKycUserId(userId), data.WithKycType(typ), data.WithKycInfo("info"))
|
|
_, err := k.Create(ctx)
|
|
require.NoError(t, err)
|
|
}
|
|
|
|
list, err := new(data.Kyc).ListByUserId(ctx, &userId)
|
|
require.NoError(t, err)
|
|
assert.Len(t, list, 2)
|
|
}
|
|
|
|
func TestKycPatchByKycId(t *testing.T) {
|
|
testutil.Setup(t)
|
|
ctx := context.Background()
|
|
|
|
userId := uuid.New()
|
|
k := data.NewKyc(data.WithKycUserId(userId), data.WithKycType("cnrid"), data.WithKycInfo("original"))
|
|
kycId, err := k.Create(ctx)
|
|
require.NoError(t, err)
|
|
|
|
require.NoError(t, new(data.Kyc).PatchByKycId(ctx, &kycId, data.WithKycInfo("updated")))
|
|
|
|
got, err := new(data.Kyc).GetByKycId(ctx, &kycId)
|
|
require.NoError(t, err)
|
|
assert.Equal(t, "updated", got.KycInfo)
|
|
}
|
|
|
|
func TestKycDeleteByKycID(t *testing.T) {
|
|
testutil.Setup(t)
|
|
ctx := context.Background()
|
|
|
|
userId := uuid.New()
|
|
k := data.NewKyc(data.WithKycUserId(userId), data.WithKycType("cnrid"), data.WithKycInfo("info"))
|
|
kycId, err := k.Create(ctx)
|
|
require.NoError(t, err)
|
|
|
|
require.NoError(t, new(data.Kyc).DeleteByKycID(ctx, &kycId))
|
|
|
|
got, err := new(data.Kyc).GetByKycId(ctx, &kycId)
|
|
require.NoError(t, err)
|
|
assert.Nil(t, got)
|
|
}
|
|
|
|
func TestKycDeleteAllByUserId(t *testing.T) {
|
|
testutil.Setup(t)
|
|
ctx := context.Background()
|
|
|
|
userId := uuid.New()
|
|
for i := 0; i < 3; i++ {
|
|
k := data.NewKyc(data.WithKycUserId(userId), data.WithKycType("cnrid"), data.WithKycInfo("info"))
|
|
_, err := k.Create(ctx)
|
|
require.NoError(t, err)
|
|
}
|
|
|
|
require.NoError(t, new(data.Kyc).DeleteAllByUserId(ctx, &userId))
|
|
|
|
list, err := new(data.Kyc).ListByUserId(ctx, &userId)
|
|
require.NoError(t, err)
|
|
assert.Empty(t, list)
|
|
}
|