Маршрутизатор Ember, по-видимому, не имеет какого-либо общедоступного интерфейса для получения модели в соответствии с официальными документами (https://emberjs.com/api/ember/3.1/classes/EmberRouter).. Хотя он может получить доступ к функции модели изнутри. Это выглядит немного странно, но ясмог заставить его работать:
Маршрутизатор:
import Route from '@ember/routing/route';
import { hash } from 'rsvp';
export default Route.extend({
model() {
return hash({
value: 'wibble'
});
},
getMyModel: function() {
return this.get('model')();
}
});
Тест маршрутизатора:
import { module, test } from 'qunit';
import { setupTest } from 'ember-qunit';
module('Unit | Route | test', function(hooks) {
setupTest(hooks);
test('do something with the router model...', function(assert) {
let route = this.owner.lookup('route:test');
assert.ok(route);
route.getMyModel().then(function(model) {
console.log(model);
assert.equal(model.value, 'wibble');
});
});
});