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