diff options
Diffstat (limited to 'spec/helpers/ci/pipeline_editor_helper_spec.rb')
-rw-r--r-- | spec/helpers/ci/pipeline_editor_helper_spec.rb | 64 |
1 files changed, 50 insertions, 14 deletions
diff --git a/spec/helpers/ci/pipeline_editor_helper_spec.rb b/spec/helpers/ci/pipeline_editor_helper_spec.rb index a08517d0c57..2287718db5a 100644 --- a/spec/helpers/ci/pipeline_editor_helper_spec.rb +++ b/spec/helpers/ci/pipeline_editor_helper_spec.rb @@ -36,20 +36,56 @@ RSpec.describe Ci::PipelineEditorHelper do subject(:pipeline_editor_data) { helper.js_pipeline_editor_data(project) } - it 'returns pipeline editor data' do - expect(pipeline_editor_data).to eq({ - "ci-config-path": project.ci_config_path_or_default, - "commit-sha" => project.commit.sha, - "default-branch" => project.default_branch, - "empty-state-illustration-path" => 'foo', - "initial-branch-name": nil, - "lint-help-page-path" => help_page_path('ci/lint', anchor: 'validate-basic-logic-and-syntax'), - "new-merge-request-path" => '/mock/project/-/merge_requests/new', - "project-path" => project.path, - "project-full-path" => project.full_path, - "project-namespace" => project.namespace.full_path, - "yml-help-page-path" => help_page_path('ci/yaml/README') - }) + context 'with a project with commits' do + it 'returns pipeline editor data' do + expect(pipeline_editor_data).to eq({ + "ci-config-path": project.ci_config_path_or_default, + "ci-examples-help-page-path" => help_page_path('ci/examples/README'), + "ci-help-page-path" => help_page_path('ci/README'), + "commit-sha" => project.commit.sha, + "default-branch" => project.default_branch, + "empty-state-illustration-path" => 'foo', + "initial-branch-name": nil, + "lint-help-page-path" => help_page_path('ci/lint', anchor: 'validate-basic-logic-and-syntax'), + "needs-help-page-path" => help_page_path('ci/yaml/README', anchor: 'needs'), + "new-merge-request-path" => '/mock/project/-/merge_requests/new', + "pipeline_etag" => graphql_etag_pipeline_sha_path(project.commit.sha), + "pipeline-page-path" => project_pipelines_path(project), + "project-path" => project.path, + "project-full-path" => project.full_path, + "project-namespace" => project.namespace.full_path, + "runner-help-page-path" => help_page_path('ci/runners/README'), + "total-branches" => project.repository.branches.length, + "yml-help-page-path" => help_page_path('ci/yaml/README') + }) + end + end + + context 'with an empty project' do + let(:project) { create(:project, :empty_repo) } + + it 'returns pipeline editor data' do + expect(pipeline_editor_data).to eq({ + "ci-config-path": project.ci_config_path_or_default, + "ci-examples-help-page-path" => help_page_path('ci/examples/README'), + "ci-help-page-path" => help_page_path('ci/README'), + "commit-sha" => '', + "default-branch" => project.default_branch, + "empty-state-illustration-path" => 'foo', + "initial-branch-name": nil, + "lint-help-page-path" => help_page_path('ci/lint', anchor: 'validate-basic-logic-and-syntax'), + "needs-help-page-path" => help_page_path('ci/yaml/README', anchor: 'needs'), + "new-merge-request-path" => '/mock/project/-/merge_requests/new', + "pipeline_etag" => '', + "pipeline-page-path" => project_pipelines_path(project), + "project-path" => project.path, + "project-full-path" => project.full_path, + "project-namespace" => project.namespace.full_path, + "runner-help-page-path" => help_page_path('ci/runners/README'), + "total-branches" => 0, + "yml-help-page-path" => help_page_path('ci/yaml/README') + }) + end end end end |