fix: allow deleting desktop providers
This commit is contained in:
@@ -1107,20 +1107,25 @@ export function ProviderDetail({ providerId }: ProviderDetailProps) {
|
||||
checkedChildren={t('common.enabled')}
|
||||
unCheckedChildren={t('common.disabled')}
|
||||
/>
|
||||
{!provider.builtin_id && (
|
||||
<Popconfirm
|
||||
title={t('settings.deleteProviderConfirm')}
|
||||
onConfirm={async () => {
|
||||
await deleteProvider(providerId);
|
||||
setSelectedProviderId(null);
|
||||
}}
|
||||
okText={t('common.confirm')}
|
||||
cancelText={t('common.cancel')}
|
||||
okButtonProps={{ danger: true }}
|
||||
>
|
||||
<Button type="text" size="small" danger icon={<Trash2 size={14} />} />
|
||||
</Popconfirm>
|
||||
)}
|
||||
<Popconfirm
|
||||
title={t('settings.deleteProviderConfirm')}
|
||||
onConfirm={async () => {
|
||||
await deleteProvider(providerId);
|
||||
setSelectedProviderId(null);
|
||||
}}
|
||||
okText={t('common.confirm')}
|
||||
cancelText={t('common.cancel')}
|
||||
okButtonProps={{ danger: true }}
|
||||
>
|
||||
<Button
|
||||
type="text"
|
||||
size="small"
|
||||
danger
|
||||
aria-label={t('settings.deleteProvider')}
|
||||
title={t('settings.deleteProvider')}
|
||||
icon={<Trash2 size={14} />}
|
||||
/>
|
||||
</Popconfirm>
|
||||
</Space>
|
||||
</div>
|
||||
|
||||
|
||||
@@ -231,6 +231,23 @@ describe('ProviderDetail', () => {
|
||||
expect(screen.getByText('settings.urlPreviewLabelhttps://open.bigmodel.cn/api/paas/v4/chat/completions')).toBeInTheDocument();
|
||||
});
|
||||
|
||||
it('allows deleting built-in providers from the detail header', async () => {
|
||||
provider.builtin_id = 'boosapi';
|
||||
mocks.deleteProvider.mockResolvedValue(undefined);
|
||||
|
||||
render(
|
||||
<App>
|
||||
<ProviderDetail providerId="provider-1" />
|
||||
</App>,
|
||||
);
|
||||
|
||||
await userEvent.click(screen.getByRole('button', { name: 'settings.deleteProvider' }));
|
||||
await userEvent.click(await screen.findByText('common.confirm'));
|
||||
|
||||
await waitFor(() => expect(mocks.deleteProvider).toHaveBeenCalledWith('provider-1'));
|
||||
expect(mocks.setSelectedProviderId).toHaveBeenCalledWith(null);
|
||||
});
|
||||
|
||||
it('adds a model from the card-level action and derives the default group from the model id', async () => {
|
||||
render(
|
||||
<App>
|
||||
|
||||
Reference in New Issue
Block a user