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/lib/gitlab/github_import/importer/issue_event_importer_spec.rb')
-rw-r--r--spec/lib/gitlab/github_import/importer/issue_event_importer_spec.rb63
1 files changed, 26 insertions, 37 deletions
diff --git a/spec/lib/gitlab/github_import/importer/issue_event_importer_spec.rb b/spec/lib/gitlab/github_import/importer/issue_event_importer_spec.rb
index 91121f3c3fc..2389489e867 100644
--- a/spec/lib/gitlab/github_import/importer/issue_event_importer_spec.rb
+++ b/spec/lib/gitlab/github_import/importer/issue_event_importer_spec.rb
@@ -2,20 +2,19 @@
require 'spec_helper'
-RSpec.describe Gitlab::GithubImport::Importer::IssueEventImporter, :clean_gitlab_redis_cache do
+RSpec.describe Gitlab::GithubImport::Importer::IssueEventImporter, :clean_gitlab_redis_cache,
+ feature_category: :importers do
let(:importer) { described_class.new(issue_event, project, client) }
- let(:project) { create(:project) }
- let(:client) { instance_double('Gitlab::GithubImport::Client') }
- let(:user) { create(:user) }
- let(:issue) { create(:issue, project: project) }
+ let(:project) { build(:project) }
+ let(:client) { instance_double(Gitlab::GithubImport::Client) }
let(:issue_event) do
Gitlab::GithubImport::Representation::IssueEvent.from_json_hash(
'id' => 6501124486,
'node_id' => 'CE_lADOHK9fA85If7x0zwAAAAGDf0mG',
'url' => 'https://api.github.com/repos/elhowm/test-import/issues/events/6501124486',
- 'actor' => { 'id' => actor_id, 'login' => 'alice' },
+ 'actor' => { 'id' => 1, 'login' => 'alice' },
'event' => event_name,
'commit_id' => '570e7b2abdd848b95f2f578043fc23bd6f6fd24d',
'commit_url' =>
@@ -25,17 +24,13 @@ RSpec.describe Gitlab::GithubImport::Importer::IssueEventImporter, :clean_gitlab
)
end
- let(:actor_id) { user.id }
let(:event_name) { 'closed' }
shared_examples 'triggers specific event importer' do |importer_class|
it importer_class.name do
- specific_importer = double(importer_class.name) # rubocop:disable RSpec/VerifiedDoubles
-
- expect(importer_class)
- .to receive(:new).with(project, client)
- .and_return(specific_importer)
- expect(specific_importer).to receive(:execute).with(issue_event)
+ expect_next_instance_of(importer_class, project, client) do |importer|
+ expect(importer).to receive(:execute).with(issue_event)
+ end
importer.execute
end
@@ -45,85 +40,79 @@ RSpec.describe Gitlab::GithubImport::Importer::IssueEventImporter, :clean_gitlab
context "when it's closed issue event" do
let(:event_name) { 'closed' }
- it_behaves_like 'triggers specific event importer',
- Gitlab::GithubImport::Importer::Events::Closed
+ it_behaves_like 'triggers specific event importer', Gitlab::GithubImport::Importer::Events::Closed
end
context "when it's reopened issue event" do
let(:event_name) { 'reopened' }
- it_behaves_like 'triggers specific event importer',
- Gitlab::GithubImport::Importer::Events::Reopened
+ it_behaves_like 'triggers specific event importer', Gitlab::GithubImport::Importer::Events::Reopened
end
context "when it's labeled issue event" do
let(:event_name) { 'labeled' }
- it_behaves_like 'triggers specific event importer',
- Gitlab::GithubImport::Importer::Events::ChangedLabel
+ it_behaves_like 'triggers specific event importer', Gitlab::GithubImport::Importer::Events::ChangedLabel
end
context "when it's unlabeled issue event" do
let(:event_name) { 'unlabeled' }
- it_behaves_like 'triggers specific event importer',
- Gitlab::GithubImport::Importer::Events::ChangedLabel
+ it_behaves_like 'triggers specific event importer', Gitlab::GithubImport::Importer::Events::ChangedLabel
end
context "when it's renamed issue event" do
let(:event_name) { 'renamed' }
- it_behaves_like 'triggers specific event importer',
- Gitlab::GithubImport::Importer::Events::Renamed
+ it_behaves_like 'triggers specific event importer', Gitlab::GithubImport::Importer::Events::Renamed
end
context "when it's milestoned issue event" do
let(:event_name) { 'milestoned' }
- it_behaves_like 'triggers specific event importer',
- Gitlab::GithubImport::Importer::Events::ChangedMilestone
+ it_behaves_like 'triggers specific event importer', Gitlab::GithubImport::Importer::Events::ChangedMilestone
end
context "when it's demilestoned issue event" do
let(:event_name) { 'demilestoned' }
- it_behaves_like 'triggers specific event importer',
- Gitlab::GithubImport::Importer::Events::ChangedMilestone
+ it_behaves_like 'triggers specific event importer', Gitlab::GithubImport::Importer::Events::ChangedMilestone
end
context "when it's cross-referenced issue event" do
let(:event_name) { 'cross-referenced' }
- it_behaves_like 'triggers specific event importer',
- Gitlab::GithubImport::Importer::Events::CrossReferenced
+ it_behaves_like 'triggers specific event importer', Gitlab::GithubImport::Importer::Events::CrossReferenced
end
context "when it's assigned issue event" do
let(:event_name) { 'assigned' }
- it_behaves_like 'triggers specific event importer',
- Gitlab::GithubImport::Importer::Events::ChangedAssignee
+ it_behaves_like 'triggers specific event importer', Gitlab::GithubImport::Importer::Events::ChangedAssignee
end
context "when it's unassigned issue event" do
let(:event_name) { 'unassigned' }
- it_behaves_like 'triggers specific event importer',
- Gitlab::GithubImport::Importer::Events::ChangedAssignee
+ it_behaves_like 'triggers specific event importer', Gitlab::GithubImport::Importer::Events::ChangedAssignee
end
context "when it's review_requested issue event" do
let(:event_name) { 'review_requested' }
- it_behaves_like 'triggers specific event importer',
- Gitlab::GithubImport::Importer::Events::ChangedReviewer
+ it_behaves_like 'triggers specific event importer', Gitlab::GithubImport::Importer::Events::ChangedReviewer
end
context "when it's review_request_removed issue event" do
let(:event_name) { 'review_request_removed' }
- it_behaves_like 'triggers specific event importer',
- Gitlab::GithubImport::Importer::Events::ChangedReviewer
+ it_behaves_like 'triggers specific event importer', Gitlab::GithubImport::Importer::Events::ChangedReviewer
+ end
+
+ context "when it's merged issue event" do
+ let(:event_name) { 'merged' }
+
+ it_behaves_like 'triggers specific event importer', Gitlab::GithubImport::Importer::Events::Merged
end
context "when it's unknown issue event" do