問題の原因が Ember Mirage なのかどうかわかりません。サービスに次のコードがあります。
Ember.$.get({
url: `/api/online-courses/${Ember.get(course, 'id')}/courseData`,
async: false, // use of deferreds, or promises, is deprecated with this setting
beforeSend: function (xhr) {
xhr.setRequestHeader('Authorization', Ember.get(service, 'ajax.headers')['Authorization'])
},
success: (result) => {
globalState.initialized = true
Ember.get(service, 'store').pushPayload('course-datum', result)
initializeValues()
returnVal = 'true'
},
error: (args) => {
returnVal = 'false'
}
})
return returnVal
ファイルで宣言されたルートもありmirage/config.js
ます。単体テスト中にミラージュのみを使用するように設定されています。
テスト中は、XHR リクエストから Mirage ルート ハンドラへのコード実行を追跡できますが、その後は何も実行されません。で定義された成功ハンドラまたはエラー ハンドラのいずれにもヒットしません。Ember.$.get
実際の Web サーバーに対して開発中にこのコードを実行すると、正常に動作します。
Mirage はasync:false
フラグをサポートしていますか? this.pretender.get
また、ここで定義されている同期スタイルを使用して、構文を使用してエンドポイントを宣言しようとしました: https://github.com/pretenderjs/pretender#timing-parameter
しかし、まだ喜びはありません...
アイデア、正しい方向へのナッジなどは大歓迎です。