summaryrefslogtreecommitdiff
path: root/spec/controllers/dashboard
diff options
context:
space:
mode:
authorGitLab Bot <gitlab-bot@gitlab.com>2020-07-20 12:26:25 +0000
committerGitLab Bot <gitlab-bot@gitlab.com>2020-07-20 12:26:25 +0000
commita09983ae35713f5a2bbb100981116d31ce99826e (patch)
tree2ee2af7bd104d57086db360a7e6d8c9d5d43667a /spec/controllers/dashboard
parent18c5ab32b738c0b6ecb4d0df3994000482f34bd8 (diff)
downloadgitlab-ce-a09983ae35713f5a2bbb100981116d31ce99826e.tar.gz
Add latest changes from gitlab-org/gitlab@13-2-stable-ee
Diffstat (limited to 'spec/controllers/dashboard')
-rw-r--r--spec/controllers/dashboard/projects_controller_spec.rb42
-rw-r--r--spec/controllers/dashboard/snippets_controller_spec.rb4
-rw-r--r--spec/controllers/dashboard/todos_controller_spec.rb9
3 files changed, 47 insertions, 8 deletions
diff --git a/spec/controllers/dashboard/projects_controller_spec.rb b/spec/controllers/dashboard/projects_controller_spec.rb
index ee043fde0ff..1e1d9519f78 100644
--- a/spec/controllers/dashboard/projects_controller_spec.rb
+++ b/spec/controllers/dashboard/projects_controller_spec.rb
@@ -5,13 +5,14 @@ require 'spec_helper'
RSpec.describe Dashboard::ProjectsController do
include ExternalAuthorizationServiceHelpers
+ let_it_be(:user) { create(:user) }
+
describe '#index' do
context 'user not logged in' do
it_behaves_like 'authenticates sessionless user', :index, :atom
end
context 'user logged in' do
- let_it_be(:user) { create(:user) }
let_it_be(:project) { create(:project) }
let_it_be(:project2) { create(:project) }
@@ -71,8 +72,6 @@ RSpec.describe Dashboard::ProjectsController do
context 'json requests' do
render_views
- let(:user) { create(:user) }
-
before do
sign_in(user)
end
@@ -114,16 +113,14 @@ RSpec.describe Dashboard::ProjectsController do
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) }
+ let_it_be(:projects) { create_list(:project, 2, creator: user) }
+ context 'project pagination' do
before do
allow(Kaminari.config).to receive(:default_per_page).and_return(1)
@@ -138,6 +135,37 @@ RSpec.describe Dashboard::ProjectsController do
expect(assigns(:events).count).to eq(2)
end
end
+
+ describe 'rendering' do
+ include DesignManagementTestHelpers
+ render_views
+
+ let(:project) { projects.first }
+ let!(:design_event) { create(:design_event, project: project) }
+ let!(:wiki_page_event) { create(:wiki_page_event, project: project) }
+ let!(:issue_event) { create(:closed_issue_event, project: project) }
+ let(:design) { design_event.design }
+ let(:wiki_page) { wiki_page_event.wiki_page }
+ let(:issue) { issue_event.issue }
+
+ before do
+ enable_design_management
+ project.add_developer(user)
+ end
+
+ it 'renders all kinds of event without error', :aggregate_failures do
+ get :index, format: :atom
+
+ expect(assigns(:events)).to include(design_event, wiki_page_event, issue_event)
+ expect(response).to render_template('dashboard/projects/index')
+ expect(response.body).to include(
+ "uploaded design #{design.to_reference}",
+ "created wiki page #{wiki_page.title}",
+ "joined project #{project.full_name}",
+ "closed issue #{issue.to_reference}"
+ )
+ end
+ end
end
end
end
diff --git a/spec/controllers/dashboard/snippets_controller_spec.rb b/spec/controllers/dashboard/snippets_controller_spec.rb
index 3c316d07408..d981f738e70 100644
--- a/spec/controllers/dashboard/snippets_controller_spec.rb
+++ b/spec/controllers/dashboard/snippets_controller_spec.rb
@@ -3,7 +3,7 @@
require 'spec_helper'
RSpec.describe Dashboard::SnippetsController do
- let(:user) { create(:user) }
+ let_it_be(:user) { create(:user) }
before do
sign_in(user)
@@ -26,5 +26,7 @@ RSpec.describe Dashboard::SnippetsController do
get :index
end
+
+ it_behaves_like 'snippets sort order'
end
end
diff --git a/spec/controllers/dashboard/todos_controller_spec.rb b/spec/controllers/dashboard/todos_controller_spec.rb
index f0aa351bee0..2e3328ae4d2 100644
--- a/spec/controllers/dashboard/todos_controller_spec.rb
+++ b/spec/controllers/dashboard/todos_controller_spec.rb
@@ -42,6 +42,15 @@ RSpec.describe Dashboard::TodosController do
expect(response).to have_gitlab_http_status(:ok)
end
+
+ context 'tracking visits' do
+ let_it_be(:authorized_project) { create(:project, :public) }
+
+ it_behaves_like 'tracking unique visits', :index do
+ let(:request_params) { { project_id: authorized_project.id } }
+ let(:target_id) { 'u_analytics_todos' }
+ end
+ end
end
context "with render_views" do