Emberでこのコードをテストするにはどうすればよいですか?一般的に、私にそのコンセプトを教えてください。Emberで経路のwillTransitionアクションをテストするには?
// app/routes/products/new.js
import Ember from 'ember';
export default Ember.Route.extend({
model() {
return this.store.createRecord('product');
},
actions: {
willTransition() {
this._super(...arguments);
this.get('controller.model').rollbackAttributes();
}
}
});
私はこれをどうやって作るのか分かりません。ルート内のスタブモデルですか?私は店舗がルートテストで利用できないことを発見しました。
RubyとRSpecの後、これらすべての新しいJavaScriptの世界はちょっと混乱しています。しかし、とにかくそれを学びたいと思います。
コースコードが間違っています;)、 'willTransition'はアクションではなくフックです。 'actions'ハッシュに入れないでください。そして、あなたはそれを休むように呼び出すことができます。ストアをスタブすることができます。 – Lux
@Lux私たちのロジックを 'willTransition'フックに書き出すには、アクションでそれを定義する必要がありますか? – kumkanillam
@Lux、あなたが知っているガイドhttps://guides.emberjs.com/v2.8.0/routing/preventing-and-retrying-transitions/によると、willTransitionはアクションハッシュで表示されます。 "{{link-to}}、transitionTo、またはURLを経由して遷移が試みられると、現在アクティブなルート上でwillTransitionアクションが発生します。" - 彼らはそれを "フック"ではなく "アクション"と呼びます。 – Molfar