Skip to content

Commit

Permalink
check for empty value first (#335)
Browse files Browse the repository at this point in the history
  • Loading branch information
uturunku1 authored Feb 28, 2022
1 parent 3fdd80d commit c11cc6c
Show file tree
Hide file tree
Showing 2 changed files with 24 additions and 9 deletions.
9 changes: 6 additions & 3 deletions admin_setting_smtp.go
Original file line number Diff line number Diff line change
Expand Up @@ -97,9 +97,12 @@ func (a *adminSMTPSettings) Update(ctx context.Context, options AdminSMTPSetting
}

func (o AdminSMTPSettingsUpdateOptions) valid() error {
_, isValidType := validSMTPAuthType[*o.Auth]
if !isValidType {
return ErrInvalidSMTPAuth
if validString((*string)(o.Auth)) {
_, isValidType := validSMTPAuthType[*o.Auth]
if !isValidType {
return ErrInvalidSMTPAuth
}
}

return nil
}
24 changes: 18 additions & 6 deletions admin_setting_smtp_integration_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -36,11 +36,23 @@ func TestAdminSettings_SMTP_Update(t *testing.T) {
ctx := context.Background()

enabled := false
smtpSettings, err := client.Admin.Settings.SMTP.Update(ctx, AdminSMTPSettingsUpdateOptions{
Enabled: Bool(enabled),
Auth: SMTPAuthValue(SMTPAuthNone),
})

require.NoError(t, err)
assert.Equal(t, enabled, smtpSettings.Enabled)
t.Run("with Auth option defined", func(t *testing.T) {
smtpSettings, err := client.Admin.Settings.SMTP.Update(ctx, AdminSMTPSettingsUpdateOptions{
Enabled: Bool(enabled),
Auth: SMTPAuthValue(SMTPAuthNone),
})

require.NoError(t, err)
assert.Equal(t, enabled, smtpSettings.Enabled)
})
t.Run("with no Auth option", func(t *testing.T) {
smtpSettings, err := client.Admin.Settings.SMTP.Update(ctx, AdminSMTPSettingsUpdateOptions{
Enabled: Bool(enabled),
})

require.NoError(t, err)
assert.Equal(t, SMTPAuthNone, smtpSettings.Auth)
assert.Equal(t, enabled, smtpSettings.Enabled)
})
}

0 comments on commit c11cc6c

Please sign in to comment.