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 'spec/services/git/wiki_push_service_spec.rb')
-rw-r--r--spec/services/git/wiki_push_service_spec.rb32
1 files changed, 26 insertions, 6 deletions
diff --git a/spec/services/git/wiki_push_service_spec.rb b/spec/services/git/wiki_push_service_spec.rb
index 7e5d7066e89..878a5c4ccf0 100644
--- a/spec/services/git/wiki_push_service_spec.rb
+++ b/spec/services/git/wiki_push_service_spec.rb
@@ -9,9 +9,13 @@ RSpec.describe Git::WikiPushService, services: true do
let_it_be(:key_id) { create(:key, user: current_user).shell_id }
let(:wiki) { create(:project_wiki, user: current_user) }
- let(:git_wiki) { wiki.wiki }
+ let(:default_branch) { wiki.default_branch }
let(:repository) { wiki.repository }
+ before do
+ repository.create_if_not_exists(default_branch)
+ end
+
describe '#execute' do
it 'executes model-specific callbacks' do
expect(wiki).to receive(:after_post_receive)
@@ -351,7 +355,12 @@ RSpec.describe Git::WikiPushService, services: true do
# that have not gone through our services.
def write_new_page
- generate(:wiki_page_title).tap { |t| git_wiki.write_page(t, 'markdown', 'Hello', commit_details) }
+ generate(:wiki_page_title).tap do |t|
+ repository.create_file(
+ current_user, ::Wiki.sluggified_full_path(t, 'md'), 'Hello',
+ **commit_details
+ )
+ end
end
# We write something to the wiki-repo that is not a page - as, for example, an
@@ -368,15 +377,26 @@ RSpec.describe Git::WikiPushService, services: true do
def update_page(title, new_title = nil)
new_title = title unless new_title.present?
- page = git_wiki.page(title: title)
- git_wiki.update_page(page.path, new_title, 'markdown', 'Hey', commit_details)
+
+ old_path = ::Wiki.sluggified_full_path(title, 'md')
+ new_path = ::Wiki.sluggified_full_path(new_title, 'md')
+
+ repository.update_file(
+ current_user, new_path, 'Hey',
+ **commit_details.merge(previous_path: old_path)
+ )
end
def delete_page(page)
- wiki.delete_page(page, 'commit message')
+ repository.delete_file(current_user, page.path, **commit_details)
end
def commit_details
- create(:git_wiki_commit_details, author: current_user)
+ {
+ branch_name: default_branch,
+ message: "commit message",
+ author_email: current_user.email,
+ author_name: current_user.name
+ }
end
end