lundi 22 mai 2017

How to stub model method for rspec controller test

I'm trying to stub the model method which I'm using in my controller, but it never seems to be working. Can someone let me know the proper way to do it

User Controller

 if current_user.user_token
      @user = @account.users.find(params[:id])
      @user.revoke_seat(:admin, current_user)
      render :template => "/admin/users/revoke_seat"
    else
      render :js => "window.location.href='#{server_url}/oauth/authorize?response_type=code&client_id=#{client_id}&state=#{request.referrer}?auto_revoke_seat=true&redirect_uri=#{auth_service_callback_url}";
    end

Rspec

 before do
    users(:admin).stub(:internal_admin?).and_return(true)
    login_as :admin
    user.stub(:user_token).and_return("123123")
  end

  it "should redirect to authentication service to generate access token" do
      expect(user).to receive(:user_token).and_return(true)
      xhr :put, :revoke_seat, account_id: account.id, id: user.id
      expect(response).to render_template('admin/users/revoke_seat')
      expect(assigns(:account)).to eq(account)
      expect(assigns(:user)).to eq(user)
    end

Aucun commentaire:

Enregistrer un commentaire