クッキーレスポンスのシミュレーション

Mirage ではレスポンスヘッダーの設定が可能ですが、XMLHttpRequest の仕様では、明示的に `Set-Cookie` および `Set-Cookie2` ヘッダーへのアクセスを禁止しています。そのため、Mirage のレスポンスではヘッダー経由でクッキーを設定できません。

しかし、ルート関数ハンドラーでクッキーを設定することで、ブラウザレベルでAjax呼び出しからのクッキー受信をシミュレートできます。

this.post("/users/login", (schema) => {
  // log in for 24 hours
  let now = new Date()
  let cookieExpiration = new Date(now.getTime() + 24 * 3600 * 1000)
  document.cookie = `remember_me=cookie-content-here; domain=.dev-domain; path=/; expires=${cookieExpiration.toUTCString()};`

  return schema.users.find(1)
})

これで、JavaScript クライアントコードは、document.cookie を使用して設定されたクッキーにアクセスできるようになります。