Skip to content

Commit 84ee596

Browse files
pi1814ory-bot
authored andcommitted
fix: duplicate credential error placeholder case mismatch
GitOrigin-RevId: 04b013ad8069ef993d337a0cb97ea7fea84c188e
1 parent c1df2e8 commit 84ee596

2 files changed

Lines changed: 22 additions & 1 deletion

File tree

text/message_test.go

Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -22,6 +22,23 @@ func TestMessage(t *testing.T) {
2222
assert.EqualValues(t, expected, &actual, v)
2323
}
2424

25+
func TestNewErrorValidationDuplicateCredentialsWithHints(t *testing.T) {
26+
t.Run("title-cases real provider names", func(t *testing.T) {
27+
msg := NewErrorValidationDuplicateCredentialsWithHints(nil, []string{"google", "github"}, "user@example.com")
28+
assert.Contains(t, msg.Text, "Google, Github")
29+
})
30+
31+
t.Run("preserves placeholder templates without title-casing", func(t *testing.T) {
32+
msg := NewErrorValidationDuplicateCredentialsWithHints(
33+
[]string{"{available_credential_types_list}"},
34+
[]string{"{available_oidc_providers_list}"},
35+
"{credential_identifier_hint}",
36+
)
37+
assert.Contains(t, msg.Text, "{available_oidc_providers_list}")
38+
assert.NotContains(t, msg.Text, "{Available_oidc_providers_list}")
39+
})
40+
}
41+
2542
func TestMessages(t *testing.T) {
2643
expected := Messages{{ID: InfoSelfServiceSettingsUpdateSuccess, Text: "foo", Type: Info}}
2744

text/message_validation.go

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -312,7 +312,11 @@ func NewErrorValidationDuplicateCredentialsWithHints(availableCredentialTypes []
312312
}
313313
oidcProviders := make([]string, 0, len(availableOIDCProviders))
314314
for _, provider := range availableOIDCProviders {
315-
oidcProviders = append(oidcProviders, cases.Title(language.English).String(provider))
315+
if strings.ContainsAny(provider, "{}") {
316+
oidcProviders = append(oidcProviders, provider)
317+
} else {
318+
oidcProviders = append(oidcProviders, cases.Title(language.English).String(provider))
319+
}
316320
}
317321

318322
reason := fmt.Sprintf("You tried signing in with %s which is already in use by another account.", identifier)

0 commit comments

Comments
 (0)