Skip to content
Extraits de code Groupes Projets
sessions_controller_spec.rb 1,93 ko
Newer Older
  • Learn to ignore specific revisions
  • # frozen_string_literal: true
    
    
    danielgrippi's avatar
    danielgrippi a validé
    #   Copyright (c) 2010-2011, Diaspora Inc.  This file is
    
    #   licensed under the Affero General Public License version 3 or later.  See
    #   the COPYRIGHT file.
    
    
    describe SessionsController, type: :controller do
    
        @request.env["devise.mapping"] = Devise.mappings[:user]
    
        @user = alice
    
        @user.password = "evankorth"
        @user.password_confirmation = "evankorth"
    
        it "redirects to /stream for a non-mobile user" do
    
          post :create, params: {user: {remember_me: "0", username: @user.username, password: "evankorth"}}
    
          expect(response).to be_redirect
          expect(response.location).to match /^#{stream_url}\??$/
    
    danielgrippi's avatar
    danielgrippi a validé
        it "redirects to /stream for a mobile user" do
    
          request.headers["X_MOBILE_DEVICE"] = true
    
          post :create, params: {user: {remember_me: "0", username: @user.username, password: "evankorth"}}
    
          expect(response).to be_redirect
          expect(response.location).to match /^#{stream_url}\??$/
    
      end
    
      describe "#destroy" do
        before do
    
    cmrd Senya's avatar
    cmrd Senya a validé
          sign_in @user, scope: :user
    
        end
        it "redirects to / for a non-mobile user" do
          delete :destroy
    
          expect(response).to redirect_to new_user_session_path
    
        end
    
        it "redirects to / for a mobile user" do
    
          request.headers["X_MOBILE_DEVICE"] = true
    
          expect(response).to redirect_to root_path
    
    
      describe "#reset_authentication_token" do
        context "for a logged in user" do
          before do
    
    cmrd Senya's avatar
    cmrd Senya a validé
            sign_in @user, scope: :user
    
          end
    
          it "succeeds" do
            expect { @controller.send(:reset_authentication_token) }.to_not raise_error
          end
        end
    
        context "for a logged out user" do
          before do
            sign_out :user
          end
    
          it "succeeds" do
            expect { @controller.send(:reset_authentication_token) }.to_not raise_error
          end
        end
      end