File: gitlab_ci_spec.rb

package info (click to toggle)
gitlab 17.6.5-19
  • links: PTS, VCS
  • area: main
  • in suites: sid
  • size: 629,368 kB
  • sloc: ruby: 1,915,304; javascript: 557,307; sql: 60,639; xml: 6,509; sh: 4,567; makefile: 1,239; python: 406
file content (48 lines) | stat: -rw-r--r-- 1,206 bytes parent folder | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
# frozen_string_literal: true

require 'fast_spec_helper'
require 'rspec-parameterized'

require_relative '../../support/helpers/gitlab_ci'

RSpec.describe Support::GitlabCi, feature_category: :tooling do # rubocop:disable RSpec/SpecFilePathFormat -- Avoid deep nesting
  using RSpec::Parameterized::TableSyntax

  describe '.predictive_job?' do
    before do
      stub_env('CI_JOB_NAME', name)
    end

    subject { described_class.predictive_job? }

    where(:name, :expected) do
      'rspec-ee unit predictive 4/4' | be_truthy
      'rspec system predictive 1/4'  | be_truthy
      'rspec unit 1/4'               | be_falsey
      nil                            | be_falsey
    end

    with_them do
      it { is_expected.to expected }
    end
  end

  describe '.fail_fast_job?' do
    before do
      stub_env('CI_JOB_NAME', name)
    end

    subject { described_class.fail_fast_job? }

    where(:name, :expected) do
      'rspec fail-fast'              | be_truthy
      'rspec-ee fail-fast'           | be_truthy
      'rspec-ee unit predictive 4/4' | be_falsey
      nil                            | be_falsey
    end

    with_them do
      it { is_expected.to expected }
    end
  end
end