feat: add ability to force email verification (#1837)

This commit is contained in:
Elias Schneider
2026-10-13 22:04:33 +02:00
committed by GitHub
parent eb8ea6bed2
commit 0ffeb170cf
81 changed files with 2310 additions and 263 deletions
+25
View File
@@ -1,6 +1,7 @@
package appconfig
import (
"encoding/json"
"errors"
"reflect"
"strings"
@@ -300,3 +301,27 @@ func TestAppConfigModel_Update(t *testing.T) {
assert.Equal(t, "thisKeyDoesNotExist", notFound.field)
})
}
func TestAppConfigModel_UnmarshalJSON(t *testing.T) {
t.Run("maps the legacy email verification toggle to a mode", func(t *testing.T) {
tests := map[string]AppConfigValue{
"true": EmailVerificationOptional,
"false": EmailVerificationDisabled,
}
for enabled, expected := range tests {
var m AppConfigModel
err := json.Unmarshal([]byte(`{"emailVerificationEnabled":"`+enabled+`"}`), &m)
require.NoError(t, err)
assert.Equal(t, expected, m.EmailVerification)
}
})
t.Run("an explicit email verification mode wins over the legacy toggle", func(t *testing.T) {
var m AppConfigModel
err := json.Unmarshal([]byte(`{"emailVerification":"required","emailVerificationEnabled":"false"}`), &m)
require.NoError(t, err)
assert.Equal(t, AppConfigValue(EmailVerificationRequired), m.EmailVerification)
})
}