-
-
Notifications
You must be signed in to change notification settings - Fork 138
Description
Following on from #381 it appears the fix I submitted didn't in fact work for our use case. I'm opening this issue for discussion as I'm not sure if it is supposed to be work π€·ββοΈ
//App code request - notice we have query params in the URL as well as FormData
$.ajax({
url: '/some/url?foo=foo',
type: 'POST',
data: JSON.stringify({ bar:'bar' })
});
//Mock in test - in withSomeParams we are only matching the params
mock({
url: '/some/url?foo=foo',
type: 'POST'
})
.withSomeParams({ foo: 'foo' });The problem is if we see that the request is NOT a GET we only check the FormData values, which in this case is { bar: 'bar' } and not the values in the request params, { foo: 'foo' }. We do the comparison here
As a fix on our end we could just move the URL params inside the FormData prop but I guess a bigger question is if Factory Guy should support this or even if it's valid? jQuery seems to handle this scenario of sending both the params object and the FormData.
One solution is to combine the FormData with the query params if present? Or is it just a weird edge case?