forked from baron/baron-sso
test: raise frontend coverage baselines
This commit is contained in:
@@ -707,13 +707,6 @@ func TestUserHandler_BulkCreateUsers_UsesEmailDomainTenantAsPrimaryWhenExplicitT
|
||||
Status: domain.TenantStatusActive,
|
||||
Config: domain.JSONMap{},
|
||||
}, nil).Once()
|
||||
mockTenant.On("GetTenant", mock.Anything, "t-saman").Return(&domain.Tenant{
|
||||
ID: "t-saman",
|
||||
Slug: "saman",
|
||||
Name: "삼안",
|
||||
Status: domain.TenantStatusActive,
|
||||
Config: domain.JSONMap{},
|
||||
}, nil)
|
||||
mockOry.On("GetPasswordPolicy").Return(&domain.PasswordPolicy{MinLength: 8}, nil)
|
||||
mockOry.On("CreateUser", mock.MatchedBy(func(user *domain.BrokerUser) bool {
|
||||
_, hasCompanyCode := user.Attributes["companyCode"]
|
||||
@@ -1183,6 +1176,41 @@ func TestUserHandler_UpdateUser_RejectsDeprecatedAdminRoles(t *testing.T) {
|
||||
mockKratos.AssertExpectations(t)
|
||||
}
|
||||
|
||||
func TestSyncCustomLoginIDs_IgnoresFlatMetadataMaps(t *testing.T) {
|
||||
mockTenant := new(MockTenantServiceForUser)
|
||||
tenantID := "tenant-uuid"
|
||||
|
||||
mockTenant.On("GetTenant", mock.Anything, tenantID).Return(&domain.Tenant{
|
||||
ID: tenantID,
|
||||
Slug: "test-tenant",
|
||||
Config: domain.JSONMap{
|
||||
"userSchema": []interface{}{
|
||||
map[string]interface{}{"key": "emp_no", "isLoginId": true},
|
||||
},
|
||||
},
|
||||
}, nil).Once()
|
||||
|
||||
traits := map[string]interface{}{
|
||||
"tenant_id": tenantID,
|
||||
}
|
||||
metadata := map[string]any{
|
||||
tenantID: map[string]interface{}{
|
||||
"emp_no": "E1001",
|
||||
},
|
||||
"worksmobileAliasEmails": map[string]interface{}{
|
||||
"0": "alias@hanmaceng.co.kr",
|
||||
},
|
||||
}
|
||||
|
||||
records := syncCustomLoginIDs(context.Background(), mockTenant, traits, metadata, "user-1")
|
||||
|
||||
require.Len(t, records, 1)
|
||||
require.Equal(t, tenantID, records[0].TenantID)
|
||||
require.Equal(t, "E1001", records[0].LoginID)
|
||||
mockTenant.AssertNotCalled(t, "GetTenant", mock.Anything, "worksmobileAliasEmails")
|
||||
mockTenant.AssertExpectations(t)
|
||||
}
|
||||
|
||||
func TestUserHandler_UpdateUser_LoginIDSync(t *testing.T) {
|
||||
t.Run("Success - Sync LoginID from namespaced metadata", func(t *testing.T) {
|
||||
app := fiber.New()
|
||||
@@ -1764,7 +1792,7 @@ func TestUserHandler_UpdateUserAcceptsTenantSlugAndRejectsCompanyCode(t *testing
|
||||
ID: "new-tenant-id",
|
||||
Slug: "new-tenant",
|
||||
Config: domain.JSONMap{},
|
||||
}, nil).Twice()
|
||||
}, nil).Once()
|
||||
mockKratos.On("UpdateIdentity", mock.Anything, "user-id", mock.MatchedBy(func(traits map[string]interface{}) bool {
|
||||
_, hasCompanyCode := traits["companyCode"]
|
||||
return !hasCompanyCode && traits["tenant_id"] == "new-tenant-id"
|
||||
|
||||
Reference in New Issue
Block a user