adopted-ember-addons / adopted-ember-addons/ember-data-factory-guy

`withSomeParams` with `FormData` & URL query params

Đang mở
#383 1 bình luận 4 reaction 0 người được giao Xem trên GitHub
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

Mở hướng dẫn đóng góp

Đánh giá

Issue này chưa được đánh giá.

Nhận issue mới trong hộp thư của bạn

Bản tóm tắt ngắn những issue GitHub phù hợp với người mới.