fix: persist admin payment visibility and scheduler settings
This commit is contained in:
@@ -223,3 +223,34 @@ func TestSettingService_UpdateSettings_TablePreferences(t *testing.T) {
|
||||
require.Equal(t, "1000", repo.updates[SettingKeyTableDefaultPageSize])
|
||||
require.Equal(t, "[20,100]", repo.updates[SettingKeyTablePageSizeOptions])
|
||||
}
|
||||
|
||||
func TestSettingService_UpdateSettings_PaymentVisibleMethodsAndAdvancedScheduler(t *testing.T) {
|
||||
repo := &settingUpdateRepoStub{}
|
||||
svc := NewSettingService(repo, &config.Config{})
|
||||
|
||||
err := svc.UpdateSettings(context.Background(), &SystemSettings{
|
||||
PaymentVisibleMethodAlipaySource: "alipay",
|
||||
PaymentVisibleMethodWxpaySource: "easypay",
|
||||
PaymentVisibleMethodAlipayEnabled: true,
|
||||
PaymentVisibleMethodWxpayEnabled: false,
|
||||
OpenAIAdvancedSchedulerEnabled: true,
|
||||
})
|
||||
require.NoError(t, err)
|
||||
require.Equal(t, VisibleMethodSourceOfficialAlipay, repo.updates[SettingPaymentVisibleMethodAlipaySource])
|
||||
require.Equal(t, VisibleMethodSourceEasyPayWechat, repo.updates[SettingPaymentVisibleMethodWxpaySource])
|
||||
require.Equal(t, "true", repo.updates[SettingPaymentVisibleMethodAlipayEnabled])
|
||||
require.Equal(t, "false", repo.updates[SettingPaymentVisibleMethodWxpayEnabled])
|
||||
require.Equal(t, "true", repo.updates[openAIAdvancedSchedulerSettingKey])
|
||||
}
|
||||
|
||||
func TestSettingService_UpdateSettings_RejectsInvalidPaymentVisibleMethodSource(t *testing.T) {
|
||||
repo := &settingUpdateRepoStub{}
|
||||
svc := NewSettingService(repo, &config.Config{})
|
||||
|
||||
err := svc.UpdateSettings(context.Background(), &SystemSettings{
|
||||
PaymentVisibleMethodAlipaySource: "not-a-provider",
|
||||
})
|
||||
require.Error(t, err)
|
||||
require.Equal(t, "INVALID_PAYMENT_VISIBLE_METHOD_SOURCE", infraerrors.Reason(err))
|
||||
require.Nil(t, repo.updates)
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user