summaryrefslogtreecommitdiff
path: root/spec/controllers/admin
diff options
context:
space:
mode:
authormo khan <mo@mokhan.ca>2014-08-16 13:17:23 -0600
committermo khan <mo@mokhan.ca>2014-08-16 13:17:23 -0600
commit0a137744679eba08e0c5c7abb93ee91b89116325 (patch)
treee3e423e33e4ebcabfc2554aca68af8381b32c92a /spec/controllers/admin
parentf793b7d6c8584b1e972874d61203a40ecc1599cb (diff)
allow admins to revoke a users session.
Diffstat (limited to 'spec/controllers/admin')
-rw-r--r--spec/controllers/admin/sessions_controller_spec.rb20
1 files changed, 19 insertions, 1 deletions
diff --git a/spec/controllers/admin/sessions_controller_spec.rb b/spec/controllers/admin/sessions_controller_spec.rb
index aedf4105..d6103cb1 100644
--- a/spec/controllers/admin/sessions_controller_spec.rb
+++ b/spec/controllers/admin/sessions_controller_spec.rb
@@ -9,7 +9,7 @@ module Admin
http_login(admin)
end
- describe "index" do
+ describe "#index" do
let(:active_session) { build(:user_session) }
before :each do
@@ -21,6 +21,24 @@ module Admin
expect(assigns(:sessions)).to include(active_session)
end
end
+
+ describe "#destroy" do
+ let(:user_session) { create(:active_session) }
+
+ before :each do
+ UserSession.stub(:find).with(user_session.id).and_return(user_session)
+ user_session.stub(:revoke!).and_return(true)
+ delete :destroy, id: user_session.id
+ end
+
+ it "revokes the specified session" do
+ expect(user_session).to have_received(:revoke!)
+ end
+
+ it "redirects to the index page" do
+ expect(response).to redirect_to(admin_sessions_path)
+ end
+ end
end
end
end