mirror of
https://github.com/rcourtman/Pulse.git
synced 2026-07-09 16:00:59 +00:00
Test selected provider model from settings
This commit is contained in:
parent
c8dc45577c
commit
dcf23fb2ca
2 changed files with 55 additions and 4 deletions
|
|
@ -853,7 +853,43 @@ describe('AISettings OpenRouter flow', () => {
|
|||
|
||||
await waitFor(() => {
|
||||
expect(testProviderMock).toHaveBeenCalledTimes(1);
|
||||
expect(testProviderMock).toHaveBeenCalledWith('openrouter');
|
||||
expect(testProviderMock).toHaveBeenCalledWith(
|
||||
'openrouter',
|
||||
'openrouter:openai/gpt-4o-mini',
|
||||
);
|
||||
});
|
||||
});
|
||||
|
||||
it('tests the pending model selection instead of the previously saved provider model', async () => {
|
||||
getSettingsMock.mockResolvedValue({
|
||||
...baseSettings(),
|
||||
configured: true,
|
||||
enabled: true,
|
||||
model: 'openrouter:openai/gpt-4o-mini',
|
||||
openrouter_configured: true,
|
||||
configured_providers: ['openrouter'],
|
||||
});
|
||||
getModelsMock.mockResolvedValue({ models: [] });
|
||||
|
||||
renderComponent();
|
||||
|
||||
await waitFor(() => {
|
||||
expect(testProviderMock).toHaveBeenCalled();
|
||||
});
|
||||
|
||||
testProviderMock.mockClear();
|
||||
fireEvent.input(screen.getByLabelText('Default model identifier'), {
|
||||
target: { value: 'openrouter:anthropic/claude-sonnet-4' },
|
||||
});
|
||||
fireEvent.click(screen.getByRole('button', { name: /openrouter/i }));
|
||||
fireEvent.click(await screen.findByRole('button', { name: /^Test$/ }));
|
||||
|
||||
await waitFor(() => {
|
||||
expect(testProviderMock).toHaveBeenCalledTimes(1);
|
||||
expect(testProviderMock).toHaveBeenCalledWith(
|
||||
'openrouter',
|
||||
'openrouter:anthropic/claude-sonnet-4',
|
||||
);
|
||||
});
|
||||
});
|
||||
});
|
||||
|
|
@ -953,7 +989,10 @@ describe('AISettings provider save failure context', () => {
|
|||
renderComponent();
|
||||
|
||||
await waitFor(() => {
|
||||
expect(testProviderMock).toHaveBeenCalledWith('openrouter');
|
||||
expect(testProviderMock).toHaveBeenCalledWith(
|
||||
'openrouter',
|
||||
'openrouter:deepseek/deepseek-r1',
|
||||
);
|
||||
});
|
||||
|
||||
fireEvent.click(screen.getByRole('button', { name: /Save provider settings/i }));
|
||||
|
|
@ -1039,7 +1078,10 @@ describe('AISettings provider save failure context', () => {
|
|||
renderComponent();
|
||||
|
||||
await waitFor(() => {
|
||||
expect(testProviderMock).toHaveBeenCalledWith('openrouter');
|
||||
expect(testProviderMock).toHaveBeenCalledWith(
|
||||
'openrouter',
|
||||
'openrouter:deepseek/deepseek-r1',
|
||||
);
|
||||
});
|
||||
|
||||
fireEvent.click(screen.getByRole('button', { name: /Save provider settings/i }));
|
||||
|
|
|
|||
|
|
@ -553,6 +553,15 @@ export const useAISettingsState = (options: AISettingsStateOptions = {}) => {
|
|||
return `${session.title || 'Untitled'} - ${session.message_count} msgs - ${dateLabel} ${timeLabel}`;
|
||||
};
|
||||
|
||||
const selectedModelForProviderTest = (provider: AIProvider): string | undefined =>
|
||||
compactUnique([
|
||||
form.patrolModel,
|
||||
form.chatModel,
|
||||
form.discoveryModel,
|
||||
form.autoFixModel,
|
||||
form.model,
|
||||
]).find((model) => getProviderFromModelId(model) === provider);
|
||||
|
||||
const handleCloseSetupModal = () => {
|
||||
setShowSetupModal(false);
|
||||
setSetupApiKey('');
|
||||
|
|
@ -567,7 +576,7 @@ export const useAISettingsState = (options: AISettingsStateOptions = {}) => {
|
|||
opts: { notify?: boolean; storeManualResult?: boolean } = {},
|
||||
): Promise<ProviderTestResult> => {
|
||||
try {
|
||||
const result = await AIAPI.testProvider(provider);
|
||||
const result = await AIAPI.testProvider(provider, selectedModelForProviderTest(provider));
|
||||
const message = getProviderTestDiagnosticMessage(result);
|
||||
const normalizedResult: ProviderTestResult = {
|
||||
provider,
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue