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

Returning inherited models of various types

Open
#231 6 comments 0 reactions 0 assignees View on GitHub
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

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.