diff options
Diffstat (limited to 'spec/controllers/dashboard/projects_controller_spec.rb')
-rw-r--r-- | spec/controllers/dashboard/projects_controller_spec.rb | 51 |
1 files changed, 49 insertions, 2 deletions
diff --git a/spec/controllers/dashboard/projects_controller_spec.rb b/spec/controllers/dashboard/projects_controller_spec.rb index a13b56deb23..eeac696c3f2 100644 --- a/spec/controllers/dashboard/projects_controller_spec.rb +++ b/spec/controllers/dashboard/projects_controller_spec.rb @@ -86,11 +86,58 @@ describe Dashboard::ProjectsController do end describe 'GET /starred.json' do + subject { get :starred, format: :json } + + let(:projects) { create_list(:project, 2, creator: user) } + before do - get :starred, format: :json + allow(Kaminari.config).to receive(:default_per_page).and_return(1) + + projects.each do |project| + project.add_developer(user) + create(:users_star_project, project_id: project.id, user_id: user.id) + end end - it { is_expected.to respond_with(:success) } + it 'returns success' do + subject + + expect(response).to have_gitlab_http_status(:ok) + end + + it 'paginates the records' do + subject + + expect(assigns(:projects).count).to eq(1) + end + end + end + + context 'atom requests' do + let(:user) { create(:user) } + + before do + sign_in(user) + end + + describe '#index' do + context 'project pagination' do + let(:projects) { create_list(:project, 2, creator: user) } + + before do + allow(Kaminari.config).to receive(:default_per_page).and_return(1) + + projects.each do |project| + project.add_developer(user) + end + end + + it 'does not paginate projects, even if normally restricted by pagination' do + get :index, format: :atom + + expect(assigns(:events).count).to eq(2) + end + end end end end |