@@ -6,7 +6,6 @@ import Joi from 'joi-strict';
6
6
import nock from 'nock' ;
7
7
import get from 'lodash.get' ;
8
8
import cloneDeep from 'lodash.clonedeep' ;
9
- import isEqual from 'lodash.isequal' ;
10
9
import nockCommon from 'nock/lib/common.js' ;
11
10
import compareUrls from '../util/compare-urls.js' ;
12
11
import nockListener from './request-recorder/nock-listener.js' ;
@@ -22,7 +21,7 @@ import {
22
21
convertHeaders ,
23
22
rewriteHeaders
24
23
} from './request-recorder/util.js' ;
25
- import healBody from './request-recorder/heal-body .js' ;
24
+ import updateAndRestoreModifiers from './request-recorder/update-and-restore-modifiers .js' ;
26
25
27
26
const nockBack = nock . back ;
28
27
const nockRecorder = nock . recorder ;
@@ -180,9 +179,7 @@ export default (opts) => {
180
179
if ( anyFlagPresent ( [ 'magic' , 'body' ] ) ) {
181
180
const idx = pendingMocks . findIndex ( ( m ) => m . idx === scopeIdx ) ;
182
181
const requestBody = nullAsString ( tryParseJson ( body ) ) ;
183
- if ( ! isEqual ( scope . body , requestBody ) ) {
184
- pendingMocks [ idx ] . record . body = healBody ( pendingMocks [ idx ] . record . body , scope . body , requestBody ) ;
185
- }
182
+ updateAndRestoreModifiers ( pendingMocks [ idx ] . record , 'body' , scope . body , requestBody ) ;
186
183
return scope . body ;
187
184
}
188
185
return body ;
@@ -237,17 +234,16 @@ export default (opts) => {
237
234
}
238
235
239
236
if ( anyFlagPresent ( [ 'magic' , 'response' ] ) ) {
237
+ const interceptorBody = tryParseJson ( interceptor . body ) ;
240
238
const responseBody = tryParseJson ( [
241
239
healSqs
242
240
] . reduce (
243
241
( respBody , fn ) => fn ( requestBodyString , respBody , scope , req ) ,
244
242
interceptor . body
245
243
) ) ;
246
- if ( ! isEqual ( interceptor . body , responseBody ) ) {
247
- // eslint-disable-next-line no-param-reassign
248
- interceptor . body = responseBody ;
249
- pendingMocks [ idx ] . record . response = responseBody ;
250
- }
244
+ updateAndRestoreModifiers ( pendingMocks [ idx ] . record , 'response' , interceptorBody , responseBody ) ;
245
+ // eslint-disable-next-line no-param-reassign
246
+ interceptor . body = responseBody ;
251
247
}
252
248
253
249
expectedCassette . push ( pendingMocks [ idx ] . record ) ;
0 commit comments