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:
authorGitLab Bot <gitlab-bot@gitlab.com>2019-12-17 18:08:15 +0300
committerGitLab Bot <gitlab-bot@gitlab.com>2019-12-17 18:08:15 +0300
commitc2b98d3dbd47ab92c79c702276fe9130d9a28036 (patch)
treebf4071f551fdc12c22b23b2bb66483064e7b9ea9 /spec/presenters
parentbadb9c1deacbea601b02f88811b7e123589d9251 (diff)
Add latest changes from gitlab-org/gitlab@master
Diffstat (limited to 'spec/presenters')
-rw-r--r--spec/presenters/hooks/project_hook_presenter_spec.rb29
-rw-r--r--spec/presenters/hooks/service_hook_presenter_spec.rb30
-rw-r--r--spec/presenters/web_hook_log_presenter_spec.rb47
3 files changed, 106 insertions, 0 deletions
diff --git a/spec/presenters/hooks/project_hook_presenter_spec.rb b/spec/presenters/hooks/project_hook_presenter_spec.rb
new file mode 100644
index 00000000000..773e8ccf51e
--- /dev/null
+++ b/spec/presenters/hooks/project_hook_presenter_spec.rb
@@ -0,0 +1,29 @@
+# frozen_string_literal: true
+
+require 'spec_helper'
+
+describe ProjectHookPresenter do
+ let(:web_hook_log) { create(:web_hook_log) }
+ let(:project) { web_hook_log.web_hook.project }
+ let(:web_hook) { web_hook_log.web_hook }
+
+ describe '#logs_details_path' do
+ subject { web_hook.present.logs_details_path(web_hook_log) }
+
+ let(:expected_path) do
+ "/#{project.namespace.path}/#{project.name}/hooks/#{web_hook.id}/hook_logs/#{web_hook_log.id}"
+ end
+
+ it { is_expected.to eq(expected_path) }
+ end
+
+ describe '#logs_retry_path' do
+ subject { web_hook.present.logs_details_path(web_hook_log) }
+
+ let(:expected_path) do
+ "/#{project.namespace.path}/#{project.name}/hooks/#{web_hook.id}/hook_logs/#{web_hook_log.id}"
+ end
+
+ it { is_expected.to eq(expected_path) }
+ end
+end
diff --git a/spec/presenters/hooks/service_hook_presenter_spec.rb b/spec/presenters/hooks/service_hook_presenter_spec.rb
new file mode 100644
index 00000000000..bea57768e3e
--- /dev/null
+++ b/spec/presenters/hooks/service_hook_presenter_spec.rb
@@ -0,0 +1,30 @@
+# frozen_string_literal: true
+
+require 'spec_helper'
+
+describe ServiceHookPresenter do
+ let(:web_hook_log) { create(:web_hook_log, web_hook: service_hook) }
+ let(:service_hook) { create(:service_hook, service: service) }
+ let(:service) { create(:drone_ci_service, project: project) }
+ let(:project) { create(:project) }
+
+ describe '#logs_details_path' do
+ subject { service_hook.present.logs_details_path(web_hook_log) }
+
+ let(:expected_path) do
+ "/#{project.namespace.path}/#{project.name}/-/services/#{service.to_param}/hook_logs/#{web_hook_log.id}"
+ end
+
+ it { is_expected.to eq(expected_path) }
+ end
+
+ describe '#logs_retry_path' do
+ subject { service_hook.present.logs_retry_path(web_hook_log) }
+
+ let(:expected_path) do
+ "/#{project.namespace.path}/#{project.name}/-/services/#{service.to_param}/hook_logs/#{web_hook_log.id}/retry"
+ end
+
+ it { is_expected.to eq(expected_path) }
+ end
+end
diff --git a/spec/presenters/web_hook_log_presenter_spec.rb b/spec/presenters/web_hook_log_presenter_spec.rb
new file mode 100644
index 00000000000..8812a0ba594
--- /dev/null
+++ b/spec/presenters/web_hook_log_presenter_spec.rb
@@ -0,0 +1,47 @@
+# frozen_string_literal: true
+
+require 'spec_helper'
+
+describe WebHookLogPresenter do
+ include Gitlab::Routing.url_helpers
+
+ describe '#details_path' do
+ let(:web_hook_log) { create(:web_hook_log, web_hook: web_hook) }
+ let(:project) { create(:project) }
+
+ subject { web_hook_log.present.details_path }
+
+ context 'project hook' do
+ let(:web_hook) { create(:project_hook, project: project) }
+
+ it { is_expected.to eq(project_hook_hook_log_path(project, web_hook, web_hook_log)) }
+ end
+
+ context 'service hook' do
+ let(:web_hook) { create(:service_hook, service: service) }
+ let(:service) { create(:drone_ci_service, project: project) }
+
+ it { is_expected.to eq(project_service_hook_log_path(project, service, web_hook_log)) }
+ end
+ end
+
+ describe '#retry_path' do
+ let(:web_hook_log) { create(:web_hook_log, web_hook: web_hook) }
+ let(:project) { create(:project) }
+
+ subject { web_hook_log.present.retry_path }
+
+ context 'project hook' do
+ let(:web_hook) { create(:project_hook, project: project) }
+
+ it { is_expected.to eq(retry_project_hook_hook_log_path(project, web_hook, web_hook_log)) }
+ end
+
+ context 'service hook' do
+ let(:web_hook) { create(:service_hook, service: service) }
+ let(:service) { create(:drone_ci_service, project: project) }
+
+ it { is_expected.to eq(retry_project_service_hook_log_path(project, service, web_hook_log)) }
+ end
+ end
+end