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/projects/destroy_service_spec.rb')
-rw-r--r--spec/services/projects/destroy_service_spec.rb29
1 files changed, 17 insertions, 12 deletions
diff --git a/spec/services/projects/destroy_service_spec.rb b/spec/services/projects/destroy_service_spec.rb
index c00438199fd..955384e518c 100644
--- a/spec/services/projects/destroy_service_spec.rb
+++ b/spec/services/projects/destroy_service_spec.rb
@@ -25,8 +25,12 @@ RSpec.describe Projects::DestroyService, :aggregate_failures, :event_store_publi
expect(project.gitlab_shell.repository_exists?(project.repository_storage, path + '.git')).to be_falsey
end
- it 'publishes a ProjectDeleted event with project id and namespace id' do
- expected_data = { project_id: project.id, namespace_id: project.namespace_id }
+ it 'publishes a ProjectDeletedEvent' do
+ expected_data = {
+ project_id: project.id,
+ namespace_id: project.namespace_id,
+ root_namespace_id: project.root_namespace.id
+ }
expect { destroy_project(project, user, {}) }.to publish_event(Projects::ProjectDeletedEvent).with(expected_data)
end
@@ -119,14 +123,15 @@ RSpec.describe Projects::DestroyService, :aggregate_failures, :event_store_publi
allow(project).to receive(:destroy!).and_return(true)
end
- it "deletes merge request and related records" do
- merge_request_diffs = merge_request.merge_request_diffs
- expect(merge_request_diffs.size).to eq(1)
+ [MergeRequestDiffCommit, MergeRequestDiffFile].each do |model|
+ it "deletes #{model} records of the merge request" do
+ merge_request_diffs = merge_request.merge_request_diffs
+ expect(merge_request_diffs.size).to eq(1)
- mrdc_count = MergeRequestDiffCommit.where(merge_request_diff_id: merge_request_diffs.first.id).count
+ records_count = model.where(merge_request_diff_id: merge_request_diffs.first.id).count
- expect { destroy_project(project, user, {}) }
- .to change { MergeRequestDiffCommit.count }.by(-mrdc_count)
+ expect { destroy_project(project, user, {}) }.to change { model.count }.by(-records_count)
+ end
end
end
@@ -220,7 +225,7 @@ RSpec.describe Projects::DestroyService, :aggregate_failures, :event_store_publi
context 'when flushing caches fail due to Redis' do
before do
new_user = create(:user)
- project.team.add_user(new_user, Gitlab::Access::DEVELOPER)
+ project.team.add_member(new_user, Gitlab::Access::DEVELOPER)
allow_any_instance_of(described_class).to receive(:flush_caches).and_raise(::Redis::CannotConnectError)
end
@@ -454,10 +459,10 @@ RSpec.describe Projects::DestroyService, :aggregate_failures, :event_store_publi
it 'deletes webhooks and logs related to project' do
expect_next_instance_of(WebHooks::DestroyService, user) do |instance|
- expect(instance).to receive(:sync_destroy).with(web_hook1).and_call_original
+ expect(instance).to receive(:execute).with(web_hook1).and_call_original
end
expect_next_instance_of(WebHooks::DestroyService, user) do |instance|
- expect(instance).to receive(:sync_destroy).with(web_hook2).and_call_original
+ expect(instance).to receive(:execute).with(web_hook2).and_call_original
end
expect do
@@ -468,7 +473,7 @@ RSpec.describe Projects::DestroyService, :aggregate_failures, :event_store_publi
context 'when an error is raised deleting webhooks' do
before do
allow_next_instance_of(WebHooks::DestroyService) do |instance|
- allow(instance).to receive(:sync_destroy).and_return(message: 'foo', status: :error)
+ allow(instance).to receive(:execute).and_return(message: 'foo', status: :error)
end
end