diff options
Diffstat (limited to 'spec/views/projects')
5 files changed, 69 insertions, 71 deletions
diff --git a/spec/views/projects/commits/show.html.haml_spec.rb b/spec/views/projects/commits/show.html.haml_spec.rb new file mode 100644 index 00000000000..e5e9906a798 --- /dev/null +++ b/spec/views/projects/commits/show.html.haml_spec.rb @@ -0,0 +1,35 @@ +# frozen_string_literal: true + +require 'spec_helper' + +RSpec.describe 'projects/commits/show.html.haml' do + let(:project) { create(:project, :repository) } + let(:commits) { [project.commit] } + let(:path) { 'path/to/doc.md' } + + before do + assign(:project, project) + assign(:id, path) + assign(:repository, project.repository) + assign(:commits, commits) + assign(:hidden_commit_count, 0) + + controller.params[:controller] = 'projects/commits' + controller.params[:action] = 'show' + controller.params[:namespace_id] = project.namespace.to_param + controller.params[:project_id] = project.to_param + + allow(view).to receive(:current_user).and_return(nil) + allow(view).to receive(:namespace_project_signatures_path).and_return("/") + end + + context 'tree controls' do + before do + render + end + + it 'renders atom feed button with matching path' do + expect(rendered).to have_link(href: "#{project_commits_path(project, path)}?format=atom") + end + end +end diff --git a/spec/views/projects/deployments/_confirm_rollback_modal_spec.html_spec.rb b/spec/views/projects/deployments/_confirm_rollback_modal_spec.html_spec.rb deleted file mode 100644 index 2fb7b6187eb..00000000000 --- a/spec/views/projects/deployments/_confirm_rollback_modal_spec.html_spec.rb +++ /dev/null @@ -1,63 +0,0 @@ -# frozen_string_literal: true - -require 'spec_helper' - -RSpec.describe 'projects/deployments/_confirm_rollback_modal' do - let(:environment) { create(:environment, :with_review_app) } - let(:deployments) { environment.deployments } - let(:project) { environment.project } - - before do - assign(:environment, environment) - assign(:deployments, deployments) - assign(:project, project) - end - - context 'when re-deploying last deployment' do - let(:deployment) { deployments.first } - - before do - allow(view).to receive(:deployment).and_return(deployment) - end - - it 'shows "re-deploy"' do - render - - expect(rendered).to have_selector('h4', text: "Re-deploy environment #{environment.name}?") - expect(rendered).to have_selector('p', text: "This action will relaunch the job for commit #{deployment.short_sha}, putting the environment in a previous version. Are you sure you want to continue?") - expect(rendered).to have_selector('a.btn-danger', text: 'Re-deploy') - end - - it 'links to re-deploying the environment' do - expected_link = retry_project_job_path(environment.project, deployment.deployable) - - render - - expect(rendered).to have_selector("a[href='#{expected_link}']", text: 'Re-deploy') - end - end - - context 'when rolling back to previous deployment' do - let(:deployment) { create(:deployment, environment: environment) } - - before do - allow(view).to receive(:deployment).and_return(deployment) - end - - it 'shows "rollback"' do - render - - expect(rendered).to have_selector('h4', text: "Rollback environment #{environment.name}?") - expect(rendered).to have_selector('p', text: "This action will run the job defined by #{environment.name} for commit #{deployment.short_sha}, putting the environment in a previous version. You can revert it by re-deploying the latest version of your application. Are you sure you want to continue?") - expect(rendered).to have_selector('a.btn-danger', text: 'Rollback') - end - - it 'links to re-deploying the environment' do - expected_link = retry_project_job_path(environment.project, deployment.deployable) - - render - - expect(rendered).to have_selector("a[href='#{expected_link}']", text: 'Rollback') - end - end -end diff --git a/spec/views/projects/empty.html.haml_spec.rb b/spec/views/projects/empty.html.haml_spec.rb index 0fb0ae5ff29..70da4fc9e27 100644 --- a/spec/views/projects/empty.html.haml_spec.rb +++ b/spec/views/projects/empty.html.haml_spec.rb @@ -6,7 +6,10 @@ RSpec.describe 'projects/empty' do let_it_be(:user) { create(:user) } let_it_be(:project) { ProjectPresenter.new(create(:project, :empty_repo), current_user: user) } + let(:can_admin_project_member) { true } + before do + allow(view).to receive(:can_admin_project_member?).and_return(can_admin_project_member) allow(view).to receive(:experiment_enabled?).and_return(true) allow(view).to receive(:current_user).and_return(user) assign(:project, project) @@ -47,12 +50,6 @@ RSpec.describe 'projects/empty' do end context 'with invite button on empty projects' do - let(:can_import_members) { true } - - before do - allow(view).to receive(:can_import_members?).and_return(can_import_members) - end - it 'shows invite members info', :aggregate_failures do render @@ -68,7 +65,7 @@ RSpec.describe 'projects/empty' do end context 'when user does not have permissions to invite members' do - let(:can_import_members) { false } + let(:can_admin_project_member) { false } it 'does not show invite member info', :aggregate_failures do render diff --git a/spec/views/projects/merge_requests/show.html.haml_spec.rb b/spec/views/projects/merge_requests/show.html.haml_spec.rb index 40d11342ec4..6b6bc1f0b14 100644 --- a/spec/views/projects/merge_requests/show.html.haml_spec.rb +++ b/spec/views/projects/merge_requests/show.html.haml_spec.rb @@ -3,6 +3,8 @@ require 'spec_helper' RSpec.describe 'projects/merge_requests/show.html.haml', :aggregate_failures do + using RSpec::Parameterized::TableSyntax + include_context 'merge request show action' before do @@ -43,4 +45,32 @@ RSpec.describe 'projects/merge_requests/show.html.haml', :aggregate_failures do end end end + + describe 'gitpod modal' do + let(:gitpod_modal_selector) { '#modal-enable-gitpod' } + let(:user) { create(:user) } + let(:user_gitpod_enabled) { create(:user).tap { |x| x.update!(gitpod_enabled: true) } } + + where(:site_enabled, :current_user, :should_show) do + false | ref(:user) | false + true | ref(:user) | true + true | nil | true + true | ref(:user_gitpod_enabled) | false + end + + with_them do + it 'handles rendering gitpod user enable modal' do + allow(Gitlab::CurrentSettings).to receive(:gitpod_enabled).and_return(site_enabled) + allow(view).to receive(:current_user).and_return(current_user) + + render + + if should_show + expect(rendered).to have_css(gitpod_modal_selector) + else + expect(rendered).to have_no_css(gitpod_modal_selector) + end + end + end + end end diff --git a/spec/views/projects/tree/show.html.haml_spec.rb b/spec/views/projects/tree/show.html.haml_spec.rb index bdf9b08d8f5..62a52bcf83f 100644 --- a/spec/views/projects/tree/show.html.haml_spec.rb +++ b/spec/views/projects/tree/show.html.haml_spec.rb @@ -15,7 +15,6 @@ RSpec.describe 'projects/tree/show' do before do assign(:project, project) assign(:repository, repository) - assign(:lfs_blob_ids, []) allow(view).to receive(:can?).and_return(true) allow(view).to receive(:can_collaborate_with_project?).and_return(true) |