diff options
Diffstat (limited to 'qa/qa/resource/wiki/group_page.rb')
-rw-r--r-- | qa/qa/resource/wiki/group_page.rb | 48 |
1 files changed, 48 insertions, 0 deletions
diff --git a/qa/qa/resource/wiki/group_page.rb b/qa/qa/resource/wiki/group_page.rb new file mode 100644 index 00000000000..27150ecf6c7 --- /dev/null +++ b/qa/qa/resource/wiki/group_page.rb @@ -0,0 +1,48 @@ +# frozen_string_literal: true + +require 'securerandom' + +module QA + module Resource + module Wiki + class GroupPage < Base + attribute :title + attribute :content + attribute :slug + + attribute :group do + Group.fabricate_via_api! do |group| + group.path = "group-with-wiki-#{SecureRandom.hex(8)}" + end + end + + def initialize + @title = 'Home' + @content = 'This wiki page is created via API' + end + + def resource_web_url(resource) + super + rescue ResourceURLMissingError + "#{group.web_url}/-/wikis/#{slug}" + end + + def api_get_path + "/groups/#{group.id}/wikis/#{slug}" + end + + def api_post_path + "/groups/#{group.id}/wikis" + end + + def api_post_body + { + id: group.id, + content: content, + title: title + } + end + end + end + end +end |