@@ -26,7 +26,7 @@ describe('Embedding Providers', () => {
2626 jest . clearAllMocks ( ) ;
2727
2828 // Set up default successful response
29- mockPost . mockResolvedValue ( {
29+ mockPost . mockReset ( ) . mockResolvedValue ( {
3030 data : {
3131 data : [ { embedding : Array ( 1536 ) . fill ( 0.1 ) } ]
3232 }
@@ -36,7 +36,8 @@ describe('Embedding Providers', () => {
3636 provider = new OpenAIEmbeddingProvider ( {
3737 apiKey : mockApiKey ,
3838 model : 'text-embedding-3-small' ,
39- dimensions : 1536
39+ dimensions : 1536 ,
40+ maxRetries : 1 // Reduce retries for faster tests
4041 } ) ;
4142 } ) ;
4243
@@ -98,7 +99,8 @@ describe('Embedding Providers', () => {
9899 test ( 'should respect batch size limits' , async ( ) => {
99100 provider = new OpenAIEmbeddingProvider ( {
100101 apiKey : mockApiKey ,
101- batchSize : 2
102+ batchSize : 2 ,
103+ maxRetries : 1
102104 } ) ;
103105
104106 // Mock responses for each batch
@@ -121,7 +123,11 @@ describe('Embedding Providers', () => {
121123 } ) ;
122124
123125 test ( 'should handle API errors' , async ( ) => {
124- mockPost . mockRejectedValueOnce ( {
126+ // Clear any previous mock implementations
127+ mockPost . mockReset ( ) ;
128+
129+ // Mock a failed API call
130+ mockPost . mockRejectedValue ( {
125131 response : {
126132 data : {
127133 error : {
@@ -131,6 +137,22 @@ describe('Embedding Providers', () => {
131137 }
132138 } ) ;
133139
134- await expect ( provider . getEmbeddings ( [ 'test' ] ) ) . rejects . toThrow ( 'Test API error' ) ;
140+ // Expect the error to be thrown
141+ await expect (
142+ provider . getEmbeddings ( [ 'test' ] )
143+ ) . rejects . toThrow ( 'Test API error' ) ;
144+
145+ // Verify the API was called
146+ expect ( mockPost ) . toHaveBeenCalledTimes ( 1 ) ;
147+ } ) ;
148+
149+ test ( 'should handle unexpected API responses' , async ( ) => {
150+ mockPost . mockResolvedValueOnce ( {
151+ data : { } // Missing data array
152+ } ) ;
153+
154+ await expect (
155+ provider . getEmbeddings ( [ 'test' ] )
156+ ) . rejects . toThrow ( 'Unexpected response format from OpenAI API' ) ;
135157 } ) ;
136158} ) ;
0 commit comments