adopted-ember-addons / adopted-ember-addons/ember-data-factory-guy
`withSomeParams` with `FormData` & URL query params
- Ngôn ngữ chính
- JavaScript
- Star
- 298
- Fork
- 136
- Chỉ số merge pull request
- Không có pull request nào được merge trong 30 ngày
Mô tả
Following on from https://github.com/danielspaniel/ember-data-factory-guy/issues/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 🤷♂️
```js
//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
https://github.com/danielspaniel/ember-data-factory-guy/blob/b086500dbab1b7eb510e3a177cf196cfa5c66ad0/addon/mocks/mock-any-request.js#L49-L58
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?
Hướng dẫn đóng góp
Đánh giá
Issue này chưa được đánh giá.