package app import ( "testing" "github.com/geo-platform/tenant-api/internal/shared/response" "github.com/stretchr/testify/assert" "github.com/stretchr/testify/require" ) func TestValidateOptionalAdminUserLimit(t *testing.T) { positive := 3 zero := 0 negative := -1 tests := []struct { name string value *int wantErr bool }{ {name: "null inherits config", value: nil}, {name: "positive override", value: &positive}, {name: "zero rejected", value: &zero, wantErr: true}, {name: "negative rejected", value: &negative, wantErr: true}, } for _, tt := range tests { t.Run(tt.name, func(t *testing.T) { err := validateOptionalAdminUserLimit("brand_limit", tt.value) if !tt.wantErr { require.NoError(t, err) return } var appErr *response.AppError require.ErrorAs(t, err, &appErr) assert.Equal(t, "invalid_limit", appErr.Message) }) } }