Googleログインを含め、至る所で見られる「サインインしたままにする」機能のいくつかのrspecテストをどのように(そしてどこに)書くかについて、私は少し困惑しています。
Web で見つけた例はあまり役に立ちませんでした。具体的には、これら 2 つのシナリオをテストしたいと考えています。
1
- a) ユーザーが [サインインしたままにする] をクリックせずに、有効な資格情報でサインインする
- b) ユーザーがブラウザーを閉じてから再度開き、保護ページを要求します。
- 保護されたページはユーザーに表示されません。
- ユーザーには、サインインを求めるページが表示されます。
2
- a) ユーザーが有効な資格情報を使用してサインインし、[サインインしたままにする] をクリックした
- b) ユーザーがブラウザーを閉じてから再度開き、保護されたページを要求します。
- サインインを求めるページがユーザーに表示されないようにする必要があります。
- ユーザーは保護されたページに移動する必要があります。
この問題を解決するための最初の試みは、セッションに保存した user_id を削除してブラウザーを閉じることをシミュレートすることでした (ブラウザーを閉じると削除されるため)。ただし、リクエストスペックフォルダーで作業していて、セッション変数にアクセスできないため、これらのテストは失敗しました。私の以前の関連する質問:一部の rspec ファイルでセッションが利用可能で、他のファイルでは利用できません。どうして?
これらのテストをrspecで行う最良の方法は何ですか?