我有一個按照此答案https://stackoverflow.com/a/29816081/2482265使用store: Ember.inject.service()
的組件。當用戶點擊提交在存儲中創建一個新的記錄 - 例如:如何在組件集成測試中將測試模型成功添加到商店中
var address = {
line1: this.get('line1'),
line2: this.get('line2'),
line3: this.get('line3'),
town: this.get('town'),
county: this.get('county'),
postCode: this.get('postCode'),
account: account
};
var record = this.get('store').createRecord('address', address);
record.save().then(() => { ... });
我現在想寫集成測試此組件,我填寫的字段,然後觸發提交按鈕點擊,這一切都很好,但我如何檢查一個地址被添加到商店?
我看到的
var container = this.container;
var store = container.lookup('service:store') || container.lookup('store:main');
提及,但不能工作了最後一步,給我一個有用的斷言。
更新 我的一些部件的火在record.save().then()
一個動作,所以我可以訂閱這個測試與正常this.on('assertMyAction',() => { ... })
。但是我的一些組件不需要重新啓動一個動作,所以我需要一種不同的方法來知道store.record.save在檢查記錄中的某些更精細的屬性之前已經被填充。
好,記錄被添加到存儲,當你叫createRecord。你想檢查它是否成功保存? –
我想檢查兩者,檢查它是否已添加,並檢查它是否成功。 – Knightsy