diff options
author | GitLab Bot <gitlab-bot@gitlab.com> | 2020-11-29 21:09:41 +0300 |
---|---|---|
committer | GitLab Bot <gitlab-bot@gitlab.com> | 2020-11-29 21:09:41 +0300 |
commit | 8e9cf65bd7110d2e433176fdf8031f2f8ad28025 (patch) | |
tree | 70a005fe53b5ea2b8ce36a00c29cf2c1ae46f867 /spec/workers/gitlab/github_import | |
parent | c1948ee4e5f9b5ee0794dc367f131e9c6036d811 (diff) |
Add latest changes from gitlab-org/gitlab@master
Diffstat (limited to 'spec/workers/gitlab/github_import')
3 files changed, 76 insertions, 1 deletions
diff --git a/spec/workers/gitlab/github_import/import_pull_request_review_worker_spec.rb b/spec/workers/gitlab/github_import/import_pull_request_review_worker_spec.rb new file mode 100644 index 00000000000..cd14d6631d5 --- /dev/null +++ b/spec/workers/gitlab/github_import/import_pull_request_review_worker_spec.rb @@ -0,0 +1,23 @@ +# frozen_string_literal: true + +require 'spec_helper' + +RSpec.describe Gitlab::GithubImport::ImportPullRequestReviewWorker do + it { is_expected.to include_module(Gitlab::GithubImport::ObjectImporter) } + + describe '#representation_class' do + it { expect(subject.representation_class).to eq(Gitlab::GithubImport::Representation::PullRequestReview) } + end + + describe '#importer_class' do + it { expect(subject.importer_class).to eq(Gitlab::GithubImport::Importer::PullRequestReviewImporter) } + end + + describe '#counter_name' do + it { expect(subject.counter_name).to eq(:github_importer_imported_pull_request_reviews) } + end + + describe '#counter_description' do + it { expect(subject.counter_description).to eq('The number of imported GitHub pull request reviews') } + end +end diff --git a/spec/workers/gitlab/github_import/stage/import_pull_requests_merged_by_worker_spec.rb b/spec/workers/gitlab/github_import/stage/import_pull_requests_merged_by_worker_spec.rb index 2538aafca68..6fcb5db2a54 100644 --- a/spec/workers/gitlab/github_import/stage/import_pull_requests_merged_by_worker_spec.rb +++ b/spec/workers/gitlab/github_import/stage/import_pull_requests_merged_by_worker_spec.rb @@ -27,7 +27,7 @@ RSpec.describe Gitlab::GithubImport::Stage::ImportPullRequestsMergedByWorker do expect(Gitlab::GithubImport::AdvanceStageWorker) .to receive(:perform_async) - .with(project.id, { '123' => 2 }, :issues_and_diff_notes) + .with(project.id, { '123' => 2 }, :pull_request_reviews) worker.import(client, project) end diff --git a/spec/workers/gitlab/github_import/stage/import_pull_requests_reviews_worker_spec.rb b/spec/workers/gitlab/github_import/stage/import_pull_requests_reviews_worker_spec.rb new file mode 100644 index 00000000000..7acf1a338d3 --- /dev/null +++ b/spec/workers/gitlab/github_import/stage/import_pull_requests_reviews_worker_spec.rb @@ -0,0 +1,52 @@ +# frozen_string_literal: true + +require 'spec_helper' + +RSpec.describe Gitlab::GithubImport::Stage::ImportPullRequestsReviewsWorker do + let(:project) { create(:project) } + let(:import_state) { create(:import_state, project: project) } + let(:worker) { described_class.new } + let(:client) { double(:client) } + + describe '#import' do + it 'does not import with the feature disabled' do + stub_feature_flags(github_import_pull_request_reviews: false) + + expect(Gitlab::JobWaiter) + .to receive(:new) + .and_return(double(key: '123', jobs_remaining: 0)) + + expect(Gitlab::GithubImport::AdvanceStageWorker) + .to receive(:perform_async) + .with(project.id, { '123' => 0 }, :issues_and_diff_notes) + + worker.import(client, project) + end + + it 'imports all the pull request reviews' do + stub_feature_flags(github_import_pull_request_reviews: true) + + importer = double(:importer) + + waiter = Gitlab::JobWaiter.new(2, '123') + + expect(Gitlab::GithubImport::Importer::PullRequestsReviewsImporter) + .to receive(:new) + .with(project, client) + .and_return(importer) + + expect(importer) + .to receive(:execute) + .and_return(waiter) + + expect(import_state) + .to receive(:refresh_jid_expiration) + + expect(Gitlab::GithubImport::AdvanceStageWorker) + .to receive(:perform_async) + .with(project.id, { '123' => 2 }, :issues_and_diff_notes) + + worker.import(client, project) + end + end +end |