Welcome to mirror list, hosted at ThFree Co, Russian Federation.

gitlab.com/gitlab-org/gitlab-foss.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'qa/qa/resource/snippet.rb')
-rw-r--r--qa/qa/resource/snippet.rb32
1 files changed, 31 insertions, 1 deletions
diff --git a/qa/qa/resource/snippet.rb b/qa/qa/resource/snippet.rb
index c4ea6447209..6fdcb1cd29b 100644
--- a/qa/qa/resource/snippet.rb
+++ b/qa/qa/resource/snippet.rb
@@ -3,7 +3,7 @@
module QA
module Resource
class Snippet < Base
- attr_accessor :title, :description, :file_content, :visibility, :file_name
+ attr_accessor :title, :description, :file_content, :visibility, :file_name, :snippet_id
def initialize
@title = 'New snippet title'
@@ -36,6 +36,36 @@ module QA
new_page.click_create_snippet_button
end
end
+
+ def fabricate_via_api!
+ resource_web_url(api_post)
+ rescue ResourceNotFoundError
+ super
+ end
+
+ def api_get_path
+ "/snippets/#{snippet_id}"
+ end
+
+ def api_post_path
+ '/snippets'
+ end
+
+ def api_post_body
+ {
+ title: title,
+ description: description,
+ visibility: visibility.downcase,
+ files: all_file_contents
+ }
+ end
+
+ def all_file_contents
+ @files.insert(0, { name: @file_name, content: @file_content })
+ @files.each do |file|
+ file[:file_path] = file.delete(:name)
+ end
+ end
end
end
end