gitlab-org--gitlab-foss/spec/workers/gitlab/github_import/import_pull_request_worker_...

53 lines
1.5 KiB
Ruby

# frozen_string_literal: true
require 'spec_helper'
describe Gitlab::GithubImport::ImportPullRequestWorker do
let(:worker) { described_class.new }
describe '#import' do
it 'imports a pull request' do
project = double(:project, full_path: 'foo/bar')
client = double(:client)
importer = double(:importer)
hash = {
'iid' => 42,
'title' => 'My Pull Request',
'description' => 'This is my pull request',
'source_branch' => 'my-feature',
'source_branch_sha' => '123abc',
'target_branch' => 'master',
'target_branch_sha' => '456def',
'source_repository_id' => 400,
'target_repository_id' => 200,
'source_repository_owner' => 'alice',
'state' => 'closed',
'milestone_number' => 4,
'user' => { 'id' => 4, 'login' => 'alice' },
'assignee' => { 'id' => 4, 'login' => 'alice' },
'created_at' => Time.zone.now.to_s,
'updated_at' => Time.zone.now.to_s,
'merged_at' => Time.zone.now.to_s
}
expect(Gitlab::GithubImport::Importer::PullRequestImporter)
.to receive(:new)
.with(
an_instance_of(Gitlab::GithubImport::Representation::PullRequest),
project,
client
)
.and_return(importer)
expect(importer)
.to receive(:execute)
expect(worker.counter)
.to receive(:increment)
.and_call_original
worker.import(project, client, hash)
end
end
end