diff options
author | GitLab Bot <gitlab-bot@gitlab.com> | 2020-06-19 18:08:39 +0000 |
---|---|---|
committer | GitLab Bot <gitlab-bot@gitlab.com> | 2020-06-19 18:08:39 +0000 |
commit | ce493944f48fb2ad08a5381a7ed1f37ced637bd1 (patch) | |
tree | 565c5c3bf18ce60fd6442d7581fc1af7ba148dd1 /spec/controllers/dashboard | |
parent | e9ea5bbdf998d0bafe14cfd3d70fa545d8ebed83 (diff) | |
download | gitlab-ce-ce493944f48fb2ad08a5381a7ed1f37ced637bd1.tar.gz |
Add latest changes from gitlab-org/gitlab@master
Diffstat (limited to 'spec/controllers/dashboard')
-rw-r--r-- | spec/controllers/dashboard/projects_controller_spec.rb | 42 |
1 files changed, 35 insertions, 7 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 |