diff options
Diffstat (limited to 'qa/qa/factory/resource/project_imported_from_github.rb')
-rw-r--r-- | qa/qa/factory/resource/project_imported_from_github.rb | 37 |
1 files changed, 37 insertions, 0 deletions
diff --git a/qa/qa/factory/resource/project_imported_from_github.rb b/qa/qa/factory/resource/project_imported_from_github.rb new file mode 100644 index 00000000000..df2a3340d60 --- /dev/null +++ b/qa/qa/factory/resource/project_imported_from_github.rb @@ -0,0 +1,37 @@ +require 'securerandom' + +module QA + module Factory + module Resource + class ProjectImportedFromGithub < Resource::Project + attr_writer :personal_access_token, :github_repository_path + + dependency Factory::Resource::Group, as: :group + + product :name do |factory| + factory.name + end + + def fabricate! + group.visit! + + Page::Group::Show.act { go_to_new_project } + + Page::Project::New.perform do |page| + page.go_to_import_project + end + + Page::Project::New.perform do |page| + page.go_to_github_import + end + + Page::Project::Import::Github.perform do |page| + page.add_personal_access_token(@personal_access_token) + page.list_repos + page.import!(@github_repository_path, @name) + end + end + end + end + end +end |