summaryrefslogtreecommitdiff
path: root/qa/qa/resource/import_project.rb
diff options
context:
space:
mode:
Diffstat (limited to 'qa/qa/resource/import_project.rb')
-rw-r--r--qa/qa/resource/import_project.rb35
1 files changed, 35 insertions, 0 deletions
diff --git a/qa/qa/resource/import_project.rb b/qa/qa/resource/import_project.rb
new file mode 100644
index 00000000000..105d75285f1
--- /dev/null
+++ b/qa/qa/resource/import_project.rb
@@ -0,0 +1,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