summaryrefslogtreecommitdiff
path: root/qa/qa/resource/import_project.rb
blob: 105d75285f1435dc09d305fd410991b7bd0a56ac (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
# frozen_string_literal: true

module QA
  module Resource
    class ImportProject < Resource::Project
      attr_writer :file_path

      def initialize
        @name = "ImportedProject-#{SecureRandom.hex(8)}"
        @file_path = ::File.join('qa', 'fixtures', 'export.tar.gz')
      end

      def fabricate!
        self.import = true
        super

        group.visit!

        Page::Group::Show.perform(&:go_to_new_project)

        Page::Project::New.perform do |new_project|
          new_project.click_import_project
          new_project.click_gitlab
          new_project.set_imported_project_name(@name)
          new_project.attach_exported_file(@file_path)
          new_project.click_import_gitlab_project
        end
      end

      def fabricate_via_api!
        raise NotImplementedError
      end
    end
  end
end