summaryrefslogtreecommitdiff
path: root/spec/lib/bulk_imports/projects/stage_spec.rb
blob: 9fce30f3a81a47f5a1b434c3acc0c304dc5ef796 (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
43
44
45
46
47
48
# frozen_string_literal: true

require 'spec_helper'

# Any new stages must be added to
# `ee/spec/lib/ee/bulk_imports/projects/stage_spec.rb` as well.
RSpec.describe BulkImports::Projects::Stage do
  let(:pipelines) do
    [
      [0, BulkImports::Projects::Pipelines::ProjectPipeline],
      [1, BulkImports::Projects::Pipelines::RepositoryPipeline],
      [1, BulkImports::Projects::Pipelines::ProjectAttributesPipeline],
      [2, BulkImports::Common::Pipelines::LabelsPipeline],
      [2, BulkImports::Common::Pipelines::MilestonesPipeline],
      [2, BulkImports::Common::Pipelines::BadgesPipeline],
      [3, BulkImports::Projects::Pipelines::IssuesPipeline],
      [3, BulkImports::Projects::Pipelines::SnippetsPipeline],
      [4, BulkImports::Projects::Pipelines::SnippetsRepositoryPipeline],
      [4, BulkImports::Common::Pipelines::BoardsPipeline],
      [4, BulkImports::Projects::Pipelines::MergeRequestsPipeline],
      [4, BulkImports::Projects::Pipelines::ExternalPullRequestsPipeline],
      [4, BulkImports::Projects::Pipelines::ProtectedBranchesPipeline],
      [4, BulkImports::Projects::Pipelines::CiPipelinesPipeline],
      [4, BulkImports::Projects::Pipelines::ProjectFeaturePipeline],
      [4, BulkImports::Projects::Pipelines::ContainerExpirationPolicyPipeline],
      [4, BulkImports::Projects::Pipelines::ServiceDeskSettingPipeline],
      [5, BulkImports::Common::Pipelines::WikiPipeline],
      [5, BulkImports::Common::Pipelines::UploadsPipeline],
      [5, BulkImports::Common::Pipelines::LfsObjectsPipeline],
      [5, BulkImports::Projects::Pipelines::AutoDevopsPipeline],
      [5, BulkImports::Projects::Pipelines::PipelineSchedulesPipeline],
      [6, BulkImports::Common::Pipelines::EntityFinisher]
    ]
  end

  subject do
    entity = build(:bulk_import_entity, :project_entity)

    described_class.new(entity)
  end

  describe '#pipelines' do
    it 'list all the pipelines with their stage number, ordered by stage' do
      expect(subject.pipelines & pipelines).to contain_exactly(*pipelines)
      expect(subject.pipelines.last.last).to eq(BulkImports::Common::Pipelines::EntityFinisher)
    end
  end
end