私はthis.get('model.property')
を利用するコンポーネントを持っており、意図したとおりに動作します。私は、この特定のコンポーネントをテストするときに私は(統合テストが含まれている)すべての私の他のテストのために働いているミラージュを、使用しています私の統合テストのためにEmber.js + Mirage:統合テストで嘲笑された関係を取り戻す
は、しかし、私が取得:
TypeError: Cannot read property 'then' of undefined
これは何です私のテストは、次のようになります。
import { moduleForComponent, test } from 'ember-qunit'
import hbs from 'htmlbars-inline-precompile'
import { startMirage } from 'app/initializers/ember-cli-mirage'
import Ember from 'ember'
moduleForComponent('summary-card', 'Integration | Component | summary card', {
integration: true,
beforeEach() {
this.server = startMirage()
},
afterEach() {
this.server.shutdown()
}
})
test('it renders', function(assert) {
const customer = this.server.create('customer')
const location = this.server.create('location', { customer })
const manufacturer = this.server.create('manufacturer')
const model = this.server.create('device-model', { manufacturer })
this.server.createList('device', 5, { model, customer, location })
const loc = Ember.Object.create(location)
this.set('model', loc)
this.render(hbs`{{summary-card model=model model-name=model.name tag='location' belongs-to='customer' has-many='device'}}`);
assert.equal(this.$('h1').text().trim(), 'Location 0', 'should be titled Location 0')
});
そして基本的に、私のsummary-card.js
はこのような何かを持っています
this.get('model.' + belongs).then(relationship => {...})
belongs
は、コンポーネントの呼び出し時にbelongs-to
が設定されている値の単純な値です。
模擬モデルのように見えますが、私のテストに合格しているようですが、実行時と同じようにモデルを実際に表現しているわけではありません。ember s
(私は開発目的でMirageを使用しています同じように)。そこには正確に何が起こっているのかを知ることができるところがありますか?
ありがとうございました!
P.S.私はまた、server.create()
によって提供されるようlocation
オブジェクトを使用しようとした、と私は少し異なるエラーを取得する:
TypeError: _this.get(...).then is not a function