Sha256: a57b17379f2046b586bac46ade9b91590a2f73d235c7db59b46470e06462f700

Contents?: true

Size: 1.49 KB

Versions: 7

Compression:

Stored size: 1.49 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, per_page: 2
          expect(assigns[:document_list].length).to eq 2
          get :index, 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
end

Version data entries

7 entries across 7 versions & 1 rubygems

Version Path
sufia-7.1.0 spec/controllers/my/shares_controller_spec.rb
sufia-7.0.0 spec/controllers/my/shares_controller_spec.rb
sufia-7.0.0.rc2 spec/controllers/my/shares_controller_spec.rb
sufia-7.0.0.rc1 spec/controllers/my/shares_controller_spec.rb
sufia-7.0.0.beta4 spec/controllers/my/shares_controller_spec.rb
sufia-7.0.0.beta3 spec/controllers/my/shares_controller_spec.rb
sufia-7.0.0.beta2 spec/controllers/my/shares_controller_spec.rb