ルートからの検索リクエストに追加されるデフォルトのパラメーターがあります。これらを ember-cli-mirage でテストしたいのですが、リクエストまたは requestBody をキャプチャして、それに対してアサートできるようにする方法に行き詰まっています。
この SO 投稿で見つけたものに似たものを探していましたが、DOM ではなく実際のリクエストにアクセスする必要があります。currentUrl() を使用して、ユーザーが入力した検索パラメーター (この例では「テキスト」パラメーター) にアクセスできますが、サーバーに送信されたリクエストに含まれるデフォルトのパラメーターは含まれていますが、URL には含まれていません。
ember-cli-mirage を使用して、リクエスト自体をキャプチャしてアサートする方法はありますか?
何かのようなもの
test('it appends default params to request'), function(assert) {
let searchUrl = '/my/route/url';
server.get(searchUrl, (db, request) => {
assert.equal(request.requestBody, "text=abc&all=true");
}
});
編集
次のように、Qunit の非同期ヘルパーを使用してテストに合格することができました。
test('it appends default params to athlete request', function(assert) {
assert.expect(2);
let done = assert.async();
server.get('/athletes', (db, request) => {
let params = request.queryParams;
assert.equal(params["page"], "1");
assert.equal(params["per"], "50");
done();
});
server.create('athlete', {first_name: 'John'});
visit('/athletes');
});
json:api シリアライゼーションに関連するこのテストのコンソールでまだエラーが発生しています。
normalizeResponse must return a valid JSON API document:
* meta must be an object
この失敗に関連する別の質問を別の場所で開き、コメントにリンクします。