summaryrefslogtreecommitdiff
path: root/spec/lib/gitlab/ci/config/entry/inherit/variables_spec.rb
blob: b1a8fbcdbe0da53de9e0cd56fb50d94e87d0f961 (plain)
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
# frozen_string_literal: true

require 'spec_helper'

RSpec.describe ::Gitlab::Ci::Config::Entry::Inherit::Variables do
  using RSpec::Parameterized::TableSyntax

  subject { described_class.new(config) }

  context 'validations' do
    where(:config, :valid) do
      true        | true
      false       | true
      %w[A]       | true
      %w[A B]     | true
      %i[image]   | true
      [true]      | false
      "string"    | false
    end

    with_them do
      it do
        expect(subject.valid?).to eq(valid)
      end
    end
  end

  describe '#inherit?' do
    where(:config, :inherit) do
      true  | true
      false | false
      %w[A] | true
      %w[B] | false
    end

    with_them do
      it do
        expect(subject.inherit?('A')).to eq(inherit)
      end
    end
  end
end