Sha256: da61dd75c3894400bdc841368b2f7d1daecd06efba9af6cdc21d92b7a0040b8e

Contents?: true

Size: 1.69 KB

Versions: 7

Compression:

Stored size: 1.69 KB

Contents

describe My::SharesController, type: :controller do
  describe "logged in user" do
    let(:user) { create(:user) }

    before do
      sign_in user
    end

    describe "#index" do
      let(:other_user)   { create(:user) }
      let(:someone_else) { create(:user) }

      let!(:my_work)                  { create(:work, user: user) }
      let!(:unshared_work)            { create(:work, user: other_user) }
      let!(:shared_with_me)           { create(:work, user: other_user, edit_users: [user, other_user]) }
      let!(:read_shared_with_me)      { create(:work, user: other_user, read_users: [user, other_user]) }
      let!(:shared_with_someone_else) { create(:work, user: other_user, edit_users: [someone_else, other_user]) }
      let!(:my_collection)            { create(:public_collection, user: user) }

      it "responds with success" do
        get :index
        expect(response).to be_successful
      end

      context "with multiple pages of results" do
        before { 2.times { create(:work, user: other_user, edit_users: [user, other_user]) } }
        it "paginates" do
          get :index, params: { per_page: 2 }
          expect(assigns[:document_list].length).to eq 2
          get :index, params: { per_page: 2, page: 2 }
          expect(assigns[:document_list].length).to be >= 1
        end
      end

      it "shows only documents that are shared with me via edit access" do
        get :index
        expect(assigns[:document_list].map(&:id)).to contain_exactly(shared_with_me.id)
      end
    end
  end

  describe "#search_facet_path" do
    subject { controller.send(:search_facet_path, id: 'keyword_sim') }
    it { is_expected.to eq "/dashboard/shares/facet/keyword_sim" }
  end
end

Version data entries

7 entries across 7 versions & 1 rubygems

Version Path
sufia-7.4.1 spec/controllers/my/shares_controller_spec.rb
sufia-7.4.0 spec/controllers/my/shares_controller_spec.rb
sufia-7.3.1 spec/controllers/my/shares_controller_spec.rb
sufia-7.3.0 spec/controllers/my/shares_controller_spec.rb
sufia-7.3.0.rc3 spec/controllers/my/shares_controller_spec.rb
sufia-7.3.0.rc2 spec/controllers/my/shares_controller_spec.rb
sufia-7.3.0.rc1 spec/controllers/my/shares_controller_spec.rb