adopted-ember-addons / adopted-ember-addons/ember-data-factory-guy
Returning inherited models of various types
- Dominant language
- JavaScript
- Stars
- 298
- Forks
- 136
- PR merge metrics
- No merged PRs in 30d
Description
Hello!
I ran into a problem while writing tests for our application. We have a certain backend route that can return various models inherited from a single base model. When I tried to mock it, I found out that the mock replaces the types of the supplied model instances with the type specified as the modelName for the mock, so the data aren't loaded properly.
To illustrate this, I wrote a simple test based on your test setup:
``` javascript
test("mock returns inherited models with proper types", function(assert) {
const smallHat = make('small-hat');
const bigHat = make('big-hat');
let mock = mockQuery('hat', { size: 'all' }).returns({ models: [smallHat, bigHat] });
let responseData = mock.responseJson.data;
equal(responseData[0].type, 'small-hat');
equal(responseData[1].type, 'big-hat');
});
```
As it turned out, the data type specified in the JSON is `'hat'` in both cases.
I would greatly appreciate your suggestions on handling this situation.
Contributor guide
Assessment
This issue has not been assessed yet.