@@ -190,39 +190,104 @@ func testUtils(t *testing.T, when spec.G, it spec.S) {
190
190
})
191
191
192
192
when ("ValidateFlags()" , func () {
193
+ const defaultModel = "mock-model"
194
+
195
+ var flags map [string ]bool
196
+
197
+ it .Before (func () {
198
+ flags = make (map [string ]bool )
199
+ })
200
+
193
201
it ("doesn't throw an error when no flags are provided" , func () {
194
- flags := make (map [string ]bool )
195
- Expect (utils .ValidateFlags (flags )).To (Succeed ())
202
+ Expect (utils .ValidateFlags (defaultModel , flags )).To (Succeed ())
196
203
})
197
- it ("should return an error when new-thread and set-thread are both used" , func () {
198
- flags := make (map [string ]bool )
204
+ it ("should return an error when --new-thread and --set-thread are both used" , func () {
199
205
flags ["new-thread" ] = true
200
206
flags ["set-thread" ] = true
201
207
202
- err := utils .ValidateFlags (flags )
208
+ err := utils .ValidateFlags (defaultModel , flags )
203
209
Expect (err ).To (HaveOccurred ())
204
210
})
205
- it ("should return an error when new-thread and thread are both used" , func () {
206
- flags := make (map [string ]bool )
211
+ it ("should return an error when --new-thread and --thread are both used" , func () {
207
212
flags ["new-thread" ] = true
208
213
flags ["thread" ] = true
209
214
210
- err := utils .ValidateFlags (flags )
215
+ err := utils .ValidateFlags (defaultModel , flags )
211
216
Expect (err ).To (HaveOccurred ())
212
217
})
213
- it ("should return an error when speak is used but output is omitted" , func () {
214
- flags := make (map [string ]bool )
218
+ it ("should return an error when --speak is used but --output is omitted" , func () {
215
219
flags ["speak" ] = true
216
220
217
- err := utils .ValidateFlags (flags )
221
+ err := utils .ValidateFlags (defaultModel , flags )
218
222
Expect (err ).To (HaveOccurred ())
219
223
})
220
- it ("should return an error when output is used but speak is omitted" , func () {
221
- flags := make (map [string ]bool )
224
+ it ("should return an error when --output is used but --speak is omitted" , func () {
222
225
flags ["output" ] = true
223
226
224
- err := utils .ValidateFlags (flags )
227
+ err := utils .ValidateFlags (defaultModel , flags )
225
228
Expect (err ).To (HaveOccurred ())
226
229
})
230
+ it ("should return an error when --audio is used with an incompatible model" , func () {
231
+ flags ["audio" ] = true
232
+
233
+ err := utils .ValidateFlags (defaultModel , flags )
234
+ Expect (err ).To (HaveOccurred ())
235
+ })
236
+ it ("should NOT return an error when --audio is used with a compatible model" , func () {
237
+ flags ["audio" ] = true
238
+
239
+ err := utils .ValidateFlags (defaultModel + utils .AudioPattern , flags )
240
+ Expect (err ).NotTo (HaveOccurred ())
241
+ })
242
+ it ("should return an error when --transcribe is used with an incompatible model" , func () {
243
+ flags ["transcribe" ] = true
244
+
245
+ err := utils .ValidateFlags (defaultModel , flags )
246
+ Expect (err ).To (HaveOccurred ())
247
+ })
248
+ it ("should NOT return an error when --transcribe is used with a compatible model" , func () {
249
+ flags ["transcribe" ] = true
250
+
251
+ err := utils .ValidateFlags (defaultModel + utils .TranscribePattern , flags )
252
+ Expect (err ).NotTo (HaveOccurred ())
253
+ })
254
+ it ("should return an error when --speak and --output flags are used with an incompatible model" , func () {
255
+ flags ["speak" ] = true
256
+ flags ["output" ] = true
257
+
258
+ err := utils .ValidateFlags (defaultModel , flags )
259
+ Expect (err ).To (HaveOccurred ())
260
+ })
261
+ it ("should NOT return an error when --speak and --output flags are used with a compatible model" , func () {
262
+ flags ["speak" ] = true
263
+ flags ["output" ] = true
264
+
265
+ err := utils .ValidateFlags (defaultModel + utils .TTSPattern , flags )
266
+ Expect (err ).NotTo (HaveOccurred ())
267
+ })
268
+ it ("should return an error when --voice is used with an incompatible model" , func () {
269
+ flags ["voice" ] = true
270
+
271
+ err := utils .ValidateFlags (defaultModel , flags )
272
+ Expect (err ).To (HaveOccurred ())
273
+ })
274
+ it ("should NOT return an error when --voice is used with a compatible model" , func () {
275
+ flags ["voice" ] = true
276
+
277
+ err := utils .ValidateFlags (defaultModel + utils .TTSPattern , flags )
278
+ Expect (err ).NotTo (HaveOccurred ())
279
+ })
280
+ it ("should return an error when --effort is used with an incompatible model" , func () {
281
+ flags ["effort" ] = true
282
+
283
+ err := utils .ValidateFlags (defaultModel , flags )
284
+ Expect (err ).To (HaveOccurred ())
285
+ })
286
+ it ("should NOT return an error when --effort is used with a compatible model" , func () {
287
+ flags ["effort" ] = true
288
+
289
+ err := utils .ValidateFlags (defaultModel + utils .O1ProPattern , flags )
290
+ Expect (err ).NotTo (HaveOccurred ())
291
+ })
227
292
})
228
293
}
0 commit comments