1
0
forked from baron/baron-sso

테넌트 목록 조회 cursor기반으로 재구성. 사용자 metadata 미사용 필드 제거

This commit is contained in:
2026-05-13 18:05:51 +09:00
parent a4d707d4d8
commit 5e7b7b878c
85 changed files with 4808 additions and 734 deletions

View File

@@ -6,6 +6,7 @@ import (
"testing"
"github.com/stretchr/testify/assert"
"github.com/stretchr/testify/require"
)
func TestTenantRepository(t *testing.T) {
@@ -161,4 +162,31 @@ func TestTenantRepository(t *testing.T) {
err = repo.Create(ctx, tenant2)
assert.Error(t, err) // Should fail due to UNIQUE constraint
})
t.Run("Create reuses slug held by legacy soft-deleted tenant", func(t *testing.T) {
slug := "legacy-soft-delete-reuse"
require.NoError(t, testDB.Unscoped().Where("slug = ?", slug).Delete(&domain.Tenant{}).Error)
legacy := &domain.Tenant{
Name: "Legacy Deleted",
Slug: slug,
Type: domain.TenantTypeCompany,
}
require.NoError(t, repo.Create(ctx, legacy))
require.NoError(t, testDB.Delete(&domain.Tenant{}, "id = ?", legacy.ID).Error)
_, err := repo.FindBySlug(ctx, slug)
require.Error(t, err)
replacement := &domain.Tenant{
Name: "Replacement",
Slug: slug,
Type: domain.TenantTypeCompany,
}
require.NoError(t, repo.Create(ctx, replacement))
found, err := repo.FindBySlug(ctx, slug)
require.NoError(t, err)
assert.Equal(t, replacement.ID, found.ID)
})
}