Welcome to mirror list, hosted at ThFree Co, Russian Federation.

gitlab.com/gitlab-org/gitlab-foss.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'spec/views/projects')
-rw-r--r--spec/views/projects/commits/show.html.haml_spec.rb35
-rw-r--r--spec/views/projects/deployments/_confirm_rollback_modal_spec.html_spec.rb63
-rw-r--r--spec/views/projects/empty.html.haml_spec.rb11
-rw-r--r--spec/views/projects/merge_requests/show.html.haml_spec.rb30
-rw-r--r--spec/views/projects/tree/show.html.haml_spec.rb1
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)