Sha256: 43a12bc44748331627fd2709630ce46cff2de5ff6d219cd307f9f1c4643b8cae

Contents?: true

Size: 1.61 KB

Versions: 1

Compression:

Stored size: 1.61 KB

Contents

require File.expand_path(File.dirname(__FILE__) + '/../spec_helper')

describe UsersController do
  render_views

  describe "when Anonymous" do
    it "should render index" do
      get :index

      assert_response :success
    end

    it "should render show" do
      get :show, :id => Factory(:friend, :receiver => Factory(:group).actor).sender_subject.to_param

      assert_response :success
    end

    it "should not render edit" do
      begin
        get :edit, :id => Factory(:user).to_param

        assert false
      rescue CanCan::AccessDenied 
        assert true
      end
    end
  end

  describe "when authenticated" do
    before do
      @user = Factory(:friend, :receiver => Factory(:group).actor).sender_subject

      sign_in @user
    end

    it "should render index" do
      get :index

      assert_response :success
    end

    it "should render self page" do
      get :show, :id => @user.to_param

      assert_response :success
    end

    it "should render other's page" do
      get :show, :id => Factory(:user).to_param

      assert_response :success
    end

    it "should render other's page with activity" do
      tie = Factory(:friend, :receiver => @user.actor)
      friend = tie.sender
      Factory(:post, :_contact_id  => tie.contact_id,
                     :_relation_ids => Array(tie.relation_id))

      get :show, :id => friend.to_param

      response.should be_success
    end

    it "should not render other's edit" do
      begin
        get :edit, :id => Factory(:user).to_param

        assert false
      rescue CanCan::AccessDenied 
        assert true
      end
    end

  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
social_stream-base-0.6.0 spec/controllers/users_controller_spec.rb