@ -124,12 +124,12 @@ describe("/api/models route", () => {
expect ( response . status ) . toBe ( 200 ) ;
expect ( response . status ) . toBe ( 200 ) ;
expect ( data . success ) . toBe ( true ) ;
expect ( data . success ) . toBe ( true ) ;
// 2 fal models + 2 gemini models (always included)
// 2 fal models + 3 gemini models (always included)
expect ( data . models ) . toHaveLength ( 4 ) ;
expect ( data . models ) . toHaveLength ( 5 ) ;
expect ( data . providers . fal . success ) . toBe ( true ) ;
expect ( data . providers . fal . success ) . toBe ( true ) ;
expect ( data . providers . fal . count ) . toBe ( 2 ) ;
expect ( data . providers . fal . count ) . toBe ( 2 ) ;
expect ( data . providers . gemini . success ) . toBe ( true ) ;
expect ( data . providers . gemini . success ) . toBe ( true ) ;
expect ( data . providers . gemini . count ) . toBe ( 2 ) ;
expect ( data . providers . gemini . count ) . toBe ( 3 ) ;
} ) ;
} ) ;
it ( "GET: should return models from both providers when both keys present" , async ( ) = > {
it ( "GET: should return models from both providers when both keys present" , async ( ) = > {
@ -156,8 +156,8 @@ describe("/api/models route", () => {
expect ( response . status ) . toBe ( 200 ) ;
expect ( response . status ) . toBe ( 200 ) ;
expect ( data . success ) . toBe ( true ) ;
expect ( data . success ) . toBe ( true ) ;
// 1 replicate + 1 fal + 2 gemini models (always included)
// 1 replicate + 1 fal + 3 gemini models (always included)
expect ( data . models ) . toHaveLength ( 4 ) ;
expect ( data . models ) . toHaveLength ( 5 ) ;
expect ( data . providers . replicate . success ) . toBe ( true ) ;
expect ( data . providers . replicate . success ) . toBe ( true ) ;
expect ( data . providers . fal . success ) . toBe ( true ) ;
expect ( data . providers . fal . success ) . toBe ( true ) ;
expect ( data . providers . gemini . success ) . toBe ( true ) ;
expect ( data . providers . gemini . success ) . toBe ( true ) ;
@ -445,8 +445,8 @@ describe("/api/models route", () => {
expect ( response . status ) . toBe ( 200 ) ;
expect ( response . status ) . toBe ( 200 ) ;
expect ( data . success ) . toBe ( true ) ;
expect ( data . success ) . toBe ( true ) ;
// 1 fal + 2 gemini models (always included)
// 1 fal + 3 gemini models (always included)
expect ( data . models ) . toHaveLength ( 3 ) ;
expect ( data . models ) . toHaveLength ( 4 ) ;
expect ( data . providers . replicate . success ) . toBe ( false ) ;
expect ( data . providers . replicate . success ) . toBe ( false ) ;
expect ( data . providers . fal . success ) . toBe ( true ) ;
expect ( data . providers . fal . success ) . toBe ( true ) ;
expect ( data . providers . gemini . success ) . toBe ( true ) ;
expect ( data . providers . gemini . success ) . toBe ( true ) ;
@ -684,8 +684,8 @@ describe("/api/models route", () => {
const data = await response . json ( ) ;
const data = await response . json ( ) ;
expect ( response . status ) . toBe ( 200 ) ;
expect ( response . status ) . toBe ( 200 ) ;
// 4 fal models + 2 gemini models (always included)
// 4 fal models + 3 gemini models (always included)
expect ( data . models ) . toHaveLength ( 6 ) ;
expect ( data . models ) . toHaveLength ( 7 ) ;
expect ( data . models . find ( ( m : { id : string } ) = > m . id === "fal-ai/flux" ) ? . capabilities ) . toEqual ( [ "text-to-image" ] ) ;
expect ( data . models . find ( ( m : { id : string } ) = > m . id === "fal-ai/flux" ) ? . capabilities ) . toEqual ( [ "text-to-image" ] ) ;
expect ( data . models . find ( ( m : { id : string } ) = > m . id === "fal-ai/img2img" ) ? . capabilities ) . toEqual ( [ "image-to-image" ] ) ;
expect ( data . models . find ( ( m : { id : string } ) = > m . id === "fal-ai/img2img" ) ? . capabilities ) . toEqual ( [ "image-to-image" ] ) ;
expect ( data . models . find ( ( m : { id : string } ) = > m . id === "fal-ai/t2v" ) ? . capabilities ) . toEqual ( [ "text-to-video" ] ) ;
expect ( data . models . find ( ( m : { id : string } ) = > m . id === "fal-ai/t2v" ) ? . capabilities ) . toEqual ( [ "text-to-video" ] ) ;
@ -712,8 +712,8 @@ describe("/api/models route", () => {
const data = await response . json ( ) ;
const data = await response . json ( ) ;
expect ( response . status ) . toBe ( 200 ) ;
expect ( response . status ) . toBe ( 200 ) ;
// 1 fal text-to-image + 1 fal text-to-speech (mapped to text-to-audio) + 2 gemini models (always included)
// 1 fal text-to-image + 1 fal text-to-speech (mapped to text-to-audio) + 3 gemini models (always included)
expect ( data . models ) . toHaveLength ( 4 ) ;
expect ( data . models ) . toHaveLength ( 5 ) ;
expect ( data . models . find ( ( m : { id : string } ) = > m . id === "fal-ai/flux" ) ) . toBeDefined ( ) ;
expect ( data . models . find ( ( m : { id : string } ) = > m . id === "fal-ai/flux" ) ) . toBeDefined ( ) ;
expect ( data . models . find ( ( m : { id : string } ) = > m . id === "fal-ai/tts" ) ? . capabilities ) . toEqual ( [ "text-to-audio" ] ) ;
expect ( data . models . find ( ( m : { id : string } ) = > m . id === "fal-ai/tts" ) ? . capabilities ) . toEqual ( [ "text-to-audio" ] ) ;
} ) ;
} ) ;
@ -757,11 +757,13 @@ describe("/api/models route", () => {
expect ( data . models [ 2 ] . provider ) . toBe ( "gemini" ) ;
expect ( data . models [ 2 ] . provider ) . toBe ( "gemini" ) ;
expect ( data . models [ 2 ] . name ) . toBe ( "Nano Banana" ) ;
expect ( data . models [ 2 ] . name ) . toBe ( "Nano Banana" ) ;
expect ( data . models [ 3 ] . provider ) . toBe ( "gemini" ) ;
expect ( data . models [ 3 ] . provider ) . toBe ( "gemini" ) ;
expect ( data . models [ 3 ] . name ) . toBe ( "Nano Banana Pro " ) ;
expect ( data . models [ 3 ] . name ) . toBe ( "Nano Banana 2 " ) ;
expect ( data . models [ 4 ] . provider ) . toBe ( "replicate " ) ;
expect ( data . models [ 4 ] . provider ) . toBe ( "gemini " ) ;
expect ( data . models [ 4 ] . name ) . toBe ( "alpha " ) ;
expect ( data . models [ 4 ] . name ) . toBe ( "Nano Banana Pro " ) ;
expect ( data . models [ 5 ] . provider ) . toBe ( "replicate" ) ;
expect ( data . models [ 5 ] . provider ) . toBe ( "replicate" ) ;
expect ( data . models [ 5 ] . name ) . toBe ( "zebra" ) ;
expect ( data . models [ 5 ] . name ) . toBe ( "alpha" ) ;
expect ( data . models [ 6 ] . provider ) . toBe ( "replicate" ) ;
expect ( data . models [ 6 ] . name ) . toBe ( "zebra" ) ;
} ) ;
} ) ;
} ) ;
} ) ;
} ) ;
} ) ;