@@ -22,27 +22,6 @@ import { render, fireEvent, within } from '@testing-library/svelte';
22
22
import ModelSelect from '/@/lib/select/ModelSelect.svelte' ;
23
23
import type { ModelInfo } from '@shared/models/IModelInfo' ;
24
24
import { InferenceType } from '@shared/models/IInference' ;
25
- import { writable , type Writable } from 'svelte/store' ;
26
- import type { ExtensionConfiguration } from '@shared/models/IExtensionConfiguration' ;
27
- import { configuration } from '/@/stores/extensionConfiguration' ;
28
-
29
- vi . mock ( '../../stores/extensionConfiguration' , ( ) => ( {
30
- configuration : {
31
- subscribe : vi . fn ( ) ,
32
- unsubscribe : vi . fn ( ) ,
33
- } ,
34
- } ) ) ;
35
-
36
- const mockConfiguration : Writable < ExtensionConfiguration > = writable ( {
37
- inferenceRuntime : 'llama-cpp' ,
38
- experimentalGPU : false ,
39
- showGPUPromotion : false ,
40
- modelUploadDisabled : false ,
41
- modelsPath : '' ,
42
- experimentalTuning : false ,
43
- apiPort : - 1 ,
44
- appearance : 'dark' ,
45
- } ) ;
46
25
47
26
const fakeRecommendedModel : ModelInfo = {
48
27
id : 'dummy-model-1' ,
@@ -66,39 +45,9 @@ const fakeRecommendedRemoteModel: ModelInfo = {
66
45
name : 'Dummy Model 3' ,
67
46
} as unknown as ModelInfo ;
68
47
69
- const fakeRemoteModelWhisper : ModelInfo = {
70
- id : 'dummy-model-4' ,
71
- backend : InferenceType . WHISPER_CPP ,
72
- name : 'Dummy Model 4' ,
73
- } as unknown as ModelInfo ;
74
-
75
- const fakeRemoteModelNone : ModelInfo = {
76
- id : 'dummy-model-5' ,
77
- backend : InferenceType . NONE ,
78
- name : 'Dummy Model 5' ,
79
- } as unknown as ModelInfo ;
80
-
81
- vi . mock ( '/@/utils/client' , async ( ) => {
82
- return {
83
- studioClient : {
84
- updateExtensionConfiguration : vi . fn ( ) ,
85
- telemetryLogUsage : vi . fn ( ) ,
86
- } ,
87
- } ;
88
- } ) ;
89
-
90
- vi . mock ( '../../stores/extensionConfiguration' , ( ) => ( {
91
- configuration : {
92
- subscribe : vi . fn ( ) ,
93
- unsubscribe : vi . fn ( ) ,
94
- } ,
95
- } ) ) ;
96
-
97
48
beforeEach ( ( ) => {
98
- vi . resetAllMocks ( ) ;
99
49
// mock scrollIntoView
100
50
window . HTMLElement . prototype . scrollIntoView = vi . fn ( ) ;
101
- vi . mocked ( configuration ) . subscribe . mockImplementation ( run => mockConfiguration . subscribe ( run ) ) ;
102
51
} ) ;
103
52
104
53
test ( 'ModelSelect should list all models provided' , async ( ) => {
@@ -121,26 +70,6 @@ test('ModelSelect should list all models provided', async () => {
121
70
expect ( items [ 1 ] ) . toHaveTextContent ( fakeRemoteModel . name ) ;
122
71
} ) ;
123
72
124
- test ( 'ModelSelect should list all models based on selected runtime' , async ( ) => {
125
- const { container } = render ( ModelSelect , {
126
- value : undefined ,
127
- disabled : undefined ,
128
- models : [ fakeRecommendedModel , fakeRemoteModelWhisper , fakeRemoteModel , fakeRemoteModelNone ] ,
129
- recommended : [ ] ,
130
- } ) ;
131
-
132
- // first get the select input
133
- const input = within ( container ) . getByLabelText ( 'Select Model' ) ;
134
- await fireEvent . pointerUp ( input ) ; // they are using the pointer up event instead of click.
135
-
136
- // get all options available
137
- const items = container . querySelectorAll ( 'div[class~="list-item"]' ) ;
138
- // ensure we have two options
139
- expect ( items . length ) . toBe ( 2 ) ;
140
- expect ( items [ 0 ] ) . toHaveTextContent ( fakeRecommendedModel . name ) ;
141
- expect ( items [ 1 ] ) . toHaveTextContent ( fakeRemoteModel . name ) ;
142
- } ) ;
143
-
144
73
test ( 'ModelSelect should set star icon next to recommended model' , async ( ) => {
145
74
const { container } = render ( ModelSelect , {
146
75
value : undefined ,
@@ -181,30 +110,3 @@ test('models should be sorted', async () => {
181
110
expect ( items [ 1 ] ) . toHaveTextContent ( fakeRecommendedRemoteModel . name ) ;
182
111
expect ( items [ 2 ] ) . toHaveTextContent ( fakeRemoteModel . name ) ;
183
112
} ) ;
184
-
185
- test ( 'ModelSelect should filter out models based on selected default runtime' , async ( ) => {
186
- const { container } = render ( ModelSelect , {
187
- value : undefined ,
188
- disabled : undefined ,
189
- models : [
190
- fakeRecommendedModel ,
191
- fakeRemoteModel ,
192
- fakeRemoteModelNone ,
193
- fakeRemoteModelWhisper ,
194
- fakeRecommendedRemoteModel ,
195
- ] ,
196
- recommended : [ ] ,
197
- } ) ;
198
-
199
- // first get the select input
200
- const input = within ( container ) . getByLabelText ( 'Select Model' ) ;
201
- await fireEvent . pointerUp ( input ) ; // they are using the pointer up event instead of click.
202
-
203
- // get all options available
204
- const items = container . querySelectorAll ( 'div[class~="list-item"]' ) ;
205
- // ensure we have two options
206
- expect ( items . length ) . toBe ( 3 ) ;
207
- expect ( items [ 0 ] ) . toHaveTextContent ( fakeRecommendedModel . name ) ;
208
- expect ( items [ 1 ] ) . toHaveTextContent ( fakeRemoteModel . name ) ;
209
- expect ( items [ 2 ] ) . toHaveTextContent ( fakeRecommendedRemoteModel . name ) ;
210
- } ) ;
0 commit comments