summaryrefslogtreecommitdiff
path: root/spec/lib/gitlab/bitbucket_import/project_creator_spec.rb
blob: e2bee22cf1f7b164e106481cc12b538afbc49294 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
require 'spec_helper'

describe Gitlab::BitbucketImport::ProjectCreator do
  let(:user) { create(:user) }

  let(:repo) do
    double(name: 'Vim',
           slug: 'vim',
           description: 'Test repo',
           is_private: true,
           owner: "asd",
           full_name: 'Vim repo',
           visibility_level: Gitlab::VisibilityLevel::PRIVATE,
           clone_url: 'http://bitbucket.org/asd/vim.git',
           has_wiki?: false)
  end

  let(:namespace) { create(:group) }
  let(:token) { "asdasd12345" }
  let(:secret) { "sekrettt" }
  let(:access_params) { { bitbucket_access_token: token, bitbucket_access_token_secret: secret } }

  before do
    namespace.add_owner(user)
  end

  it 'creates project' do
    expect_next_instance_of(Project) do |project|
      expect(project).to receive(:add_import_job)
    end

    project_creator = described_class.new(repo, 'vim', namespace, user, access_params)
    project = project_creator.execute

    expect(project.import_url).to eq("http://bitbucket.org/asd/vim.git")
    expect(project.visibility_level).to eq(Gitlab::VisibilityLevel::PRIVATE)
  end
end