apache / apache/rocketmq-dashboard
Add regression coverage for LLM fallback model option resolution
- Dominant language
- Java
- Stars
- 1.4k
- Forks
- 683
- Avg merge
- 2d 14h
- Merged PRs (30d)
- 58
Description
## Problem
The current test suite does not cover LLM fallback model option resolution.
## Expected behavior
- A focused Vitest case locks the existing behavior.
- The targeted test file passes and fails if the covered behavior regresses.
## Scope
Only add regression coverage for $(@{Slug=llm-model-options; Focus=LLM fallback model option resolution; PrTitle=test(llm): cover fallback model option resolution; TestFile=web/src/pages/studio/__tests__/llmModelOptions.test.ts; Mode=new; Append=/*
* Licensed to the Apache Software Foundation (ASF) under one or more
* contributor license agreements. See the NOTICE file distributed with
* this work for additional information regarding copyright ownership.
* The ASF licenses this file to You under the Apache License, Version 2.0
* (the "License"); you may not use this file except in compliance with
* the License. You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
import { describe, expect, it } from 'vitest';
import { FALLBACK_MODELS, fallbackModelOptions } from '../llmModelOptions';
describe('fallbackModelOptions', () => {
it('returns provider fallbacks as value/label options', () => {
expect(fallbackModelOptions('openai')).toEqual(
FALLBACK_MODELS.openai.map((item) => ({ value: item, label: item })),
);
});
it('uses the current model for unknown providers when one is supplied', () => {
expect(fallbackModelOptions('custom', 'gpt-5.6-sol')).toEqual([
{ value: 'gpt-5.6-sol', label: 'gpt-5.6-sol' },
]);
});
it('returns an empty list for an unknown provider without a current model', () => {
expect(fallbackModelOptions('custom')).toEqual([]);
});
});}.TestFile). No runtime behavior changes.
## Acceptance criteria
- [ ] The targeted Vitest file passes.
- [ ] git diff --check is clean.
Contributor guide
No contributing guide indexed for this repository
Research direction
Start with web/src/pages/studio/__tests__/llmModelOptions.test.ts and the referenced fallbackModelOptions implementation in web/src/pages/studio/llmModelOptions. Run the targeted Vitest file first, then add regression coverage for provider fallbacks and unknown-provider behavior. Done means the targeted test passes and git diff --check is clean.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- typescript
- Domain
- frontend, testing
- Issue type
- Bug
- Difficulty
- 1/5
- Estimated time
- 1-3 hours
- Activity status
- Active
- Clarity
- Clearly specified
- Newbie friendliness
- 88/100