summaryrefslogtreecommitdiff
path: root/spec/controllers/dashboard/projects_controller_spec.rb
diff options
context:
space:
mode:
Diffstat (limited to 'spec/controllers/dashboard/projects_controller_spec.rb')
-rw-r--r--spec/controllers/dashboard/projects_controller_spec.rb51
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..7ae31fc67aa 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 page number is passed' do
+ get :index, format: :atom
+
+ expect(assigns(:events).count).to eq(2)
+ end
+ end
end
end
end