From 7d33b60f3fd12c20bcc390ae7da9fac5d415ec3c Mon Sep 17 00:00:00 2001
From: Akihiko Odaki <akihiko.odaki.4i@stu.hosei.ac.jp>
Date: Tue, 30 May 2017 01:08:05 +0900
Subject: [PATCH] Cover Oauth::AuthorizedApplicationsController (#3359)

---
 ...authorized_applications_controller_spec.rb | 35 +++++++++++++++----
 1 file changed, 28 insertions(+), 7 deletions(-)

diff --git a/spec/controllers/oauth/authorized_applications_controller_spec.rb b/spec/controllers/oauth/authorized_applications_controller_spec.rb
index f5d64bd90b..2a2b92283f 100644
--- a/spec/controllers/oauth/authorized_applications_controller_spec.rb
+++ b/spec/controllers/oauth/authorized_applications_controller_spec.rb
@@ -5,17 +5,38 @@ require 'rails_helper'
 describe Oauth::AuthorizedApplicationsController do
   render_views
 
-  before do
-    sign_in Fabricate(:user), scope: :user
-  end
-
   describe 'GET #index' do
-    before do
+    subject do
       get :index
     end
 
-    it 'returns http success' do
-      expect(response).to have_http_status(:success)
+    shared_examples 'stores location for user' do
+      it 'stores location for user' do
+        subject
+        expect(controller.stored_location_for(:user)).to eq "/oauth/authorized_applications"
+      end
+    end
+
+    context 'when signed in' do
+      before do
+        sign_in Fabricate(:user), scope: :user
+      end
+
+      it 'returns http success' do
+        subject
+        expect(response).to have_http_status(:success)
+      end
+
+      include_examples 'stores location for user'
+    end
+
+    context 'when not signed in' do
+      it 'redirects' do
+        subject
+        expect(response).to redirect_to '/auth/sign_in'
+      end
+
+      include_examples 'stores location for user'
     end
   end
 end