fix: support max reasoning and custom model selection for 1.0.0
This commit is contained in:
1 parent
e1185a5104
commit
2ec563c079
12 files changed
+119
-16
No files matched your search
@@ -36,6 +36,47 @@ describe('持久化模型与功能设置', () => {
|
||||
expect(component.message()).toContain('保存');
|
||||
});
|
||||
|
||||
it('预设按钮填入名称,自定义模型与 max 可以保存并重新加载', async () => {
|
||||
const fixture = TestBed.createComponent(ModelSettingsComponent);
|
||||
fixture.detectChanges();
|
||||
http.expectOne('/api/system/model-settings').flush(config);
|
||||
fixture.detectChanges();
|
||||
await fixture.whenStable();
|
||||
const root: HTMLElement = fixture.nativeElement;
|
||||
const presets = root.querySelectorAll<HTMLButtonElement>('.model-presets button');
|
||||
expect(presets.length).toBe(2);
|
||||
presets[0].click();
|
||||
fixture.detectChanges();
|
||||
await fixture.whenStable();
|
||||
const input = root.querySelector<HTMLInputElement>('#model-name')!;
|
||||
expect(input.value).toBe('gpt-5.6-luna');
|
||||
expect(presets[0].getAttribute('aria-pressed')).toBe('true');
|
||||
expect(input.getAttribute('list')).toBeNull();
|
||||
expect(input.autocomplete).toBe('off');
|
||||
input.value = 'custom/model-v2';
|
||||
input.dispatchEvent(new Event('input'));
|
||||
const reasoning = root.querySelector<HTMLSelectElement>('#model-reasoning')!;
|
||||
reasoning.value = 'max';
|
||||
reasoning.dispatchEvent(new Event('change'));
|
||||
fixture.detectChanges();
|
||||
await fixture.whenStable();
|
||||
expect(presets[0].getAttribute('aria-pressed')).toBe('false');
|
||||
root.querySelector<HTMLFormElement>('form')!.dispatchEvent(new Event('submit', { cancelable: true }));
|
||||
const request = http.expectOne('/api/system/model-settings');
|
||||
expect(request.request.body.model).toBe('custom/model-v2');
|
||||
expect(request.request.body.reasoning_effort).toBe('max');
|
||||
const saved = { ...config, model: 'custom/model-v2', reasoning_effort: 'max' };
|
||||
request.flush(saved);
|
||||
fixture.destroy();
|
||||
const reopened = TestBed.createComponent(ModelSettingsComponent);
|
||||
reopened.detectChanges();
|
||||
http.expectOne('/api/system/model-settings').flush(saved);
|
||||
reopened.detectChanges();
|
||||
await reopened.whenStable();
|
||||
expect(reopened.nativeElement.querySelector('#model-name').value).toBe('custom/model-v2');
|
||||
expect(reopened.nativeElement.querySelector('#model-reasoning').value).toBe('max');
|
||||
});
|
||||
|
||||
it('连接测试使用当前输入而不写入保存接口', () => {
|
||||
const fixture = TestBed.createComponent(ModelSettingsComponent);
|
||||
fixture.detectChanges();
|
||||
|
||||
Reference in new issue
Block a user