@@ -40,16 +40,12 @@ describe('data setup transfer', () => {
4040 sfCommandStubs = stubSfCommandUx ( $$ . SANDBOX ) ;
4141 await $$ . stubAuths ( mockSourceOrg , mockTargetOrg ) ;
4242
43- // Stub fetch for export API
44- $$ . SANDBOX . stub ( global , 'fetch' ) . resolves ( {
45- ok : true ,
46- status : 200 ,
47- text : async ( ) => JSON . stringify ( mockExportResponse ) ,
48- } as Response ) ;
49-
50- // Stub connection.request for import API
51- const targetConnection = await mockTargetOrg . getConnection ( ) ;
52- targetConnection . request = $$ . SANDBOX . stub ( ) . resolves ( mockImportResponse ) ;
43+ $$ . fakeConnectionRequest = ( request ) => {
44+ if ( typeof request === 'string' || ( request as { url : string } ) . url . includes ( '/export' ) ) {
45+ return Promise . resolve ( mockExportResponse ) ;
46+ }
47+ return Promise . resolve ( mockImportResponse ) ;
48+ } ;
5349 } ) ;
5450
5551 afterEach ( ( ) => {
@@ -171,21 +167,15 @@ describe('data setup transfer', () => {
171167
172168 describe ( 'error handling' , ( ) => {
173169 it ( 'throws error when export API returns error' , async ( ) => {
174- $$ . SANDBOX . restore ( ) ;
175- await $$ . stubAuths ( mockSourceOrg , mockTargetOrg ) ;
176-
177- $$ . SANDBOX . stub ( global , 'fetch' ) . resolves ( {
178- ok : true ,
179- status : 200 ,
180- text : async ( ) =>
181- JSON . stringify ( {
170+ $$ . fakeConnectionRequest = ( request ) => {
171+ if ( typeof request === 'string' || ( request as { url : string } ) . url . includes ( '/export' ) ) {
172+ return Promise . resolve ( {
182173 isSuccess : false ,
183174 errors : [ { message : 'Invalid definition identifier' } ] ,
184- } ) ,
185- } as Response ) ;
186-
187- const targetConnection = await mockTargetOrg . getConnection ( ) ;
188- targetConnection . request = $$ . SANDBOX . stub ( ) . resolves ( mockImportResponse ) ;
175+ } ) ;
176+ }
177+ return Promise . resolve ( mockImportResponse ) ;
178+ } ;
189179
190180 try {
191181 await SetupTransfer . run ( [
@@ -205,18 +195,13 @@ describe('data setup transfer', () => {
205195 }
206196 } ) ;
207197
208- it ( 'throws error when export API returns non-200 status' , async ( ) => {
209- $$ . SANDBOX . restore ( ) ;
210- await $$ . stubAuths ( mockSourceOrg , mockTargetOrg ) ;
211-
212- $$ . SANDBOX . stub ( global , 'fetch' ) . resolves ( {
213- ok : false ,
214- status : 400 ,
215- text : async ( ) => 'Bad Request' ,
216- } as Response ) ;
217-
218- const targetConnection = await mockTargetOrg . getConnection ( ) ;
219- targetConnection . request = $$ . SANDBOX . stub ( ) . resolves ( mockImportResponse ) ;
198+ it ( 'throws error when export API request fails' , async ( ) => {
199+ $$ . fakeConnectionRequest = ( request ) => {
200+ if ( typeof request === 'string' || ( request as { url : string } ) . url . includes ( '/export' ) ) {
201+ return Promise . reject ( new Error ( 'REQUEST_FAILED: Bad Request' ) ) ;
202+ }
203+ return Promise . resolve ( mockImportResponse ) ;
204+ } ;
220205
221206 try {
222207 await SetupTransfer . run ( [
@@ -231,7 +216,7 @@ describe('data setup transfer', () => {
231216 ] ) ;
232217 expect . fail ( 'Should have thrown an error' ) ;
233218 } catch ( error ) {
234- expect ( ( error as Error ) . message ) . to . include ( 'Export API returned 400 ' ) ;
219+ expect ( ( error as Error ) . message ) . to . include ( 'REQUEST_FAILED ' ) ;
235220 }
236221 } ) ;
237222 } ) ;
0 commit comments