gitlab-org--gitlab-foss/spec/lib/gitlab/gitaly_client/ref_spec.rb

77 lines
2.4 KiB
Ruby
Raw Normal View History

require 'spec_helper'
describe Gitlab::GitalyClient::Ref do
let(:project) { create(:empty_project) }
let(:storage_name) { project.repository_storage }
let(:relative_path) { project.path_with_namespace + '.git' }
let(:client) { described_class.new(project.repository) }
before do
allow(Gitlab.config.gitaly).to receive(:enabled).and_return(true)
end
after do
# When we say `expect_any_instance_of(Gitaly::Ref::Stub)` a double is created,
# and because GitalyClient shares stubs these will get passed from example to
# example, which will cause an error, so we clean the stubs after each example.
Gitlab::GitalyClient.clear_stubs!
end
describe '#branch_names' do
it 'sends a find_all_branch_names message' do
2017-06-21 13:48:12 +00:00
expect_any_instance_of(Gitaly::Ref::Stub)
.to receive(:find_all_branch_names)
.with(gitaly_request_with_path(storage_name, relative_path), kind_of(Hash))
.and_return([])
client.branch_names
end
end
describe '#tag_names' do
it 'sends a find_all_tag_names message' do
2017-06-21 13:48:12 +00:00
expect_any_instance_of(Gitaly::Ref::Stub)
.to receive(:find_all_tag_names)
.with(gitaly_request_with_path(storage_name, relative_path), kind_of(Hash))
.and_return([])
client.tag_names
end
end
describe '#default_branch_name' do
it 'sends a find_default_branch_name message' do
2017-06-21 13:48:12 +00:00
expect_any_instance_of(Gitaly::Ref::Stub)
.to receive(:find_default_branch_name)
.with(gitaly_request_with_path(storage_name, relative_path), kind_of(Hash))
.and_return(double(name: 'foo'))
client.default_branch_name
end
end
describe '#local_branches' do
it 'sends a find_local_branches message' do
2017-06-21 13:48:12 +00:00
expect_any_instance_of(Gitaly::Ref::Stub)
.to receive(:find_local_branches)
.with(gitaly_request_with_path(storage_name, relative_path), kind_of(Hash))
.and_return([])
client.local_branches
end
it 'parses and sends the sort parameter' do
2017-06-21 13:48:12 +00:00
expect_any_instance_of(Gitaly::Ref::Stub)
.to receive(:find_local_branches)
.with(gitaly_request_with_params(sort_by: :UPDATED_DESC), kind_of(Hash))
.and_return([])
client.local_branches(sort_by: 'updated_desc')
end
it 'raises an argument error if an invalid sort_by parameter is passed' do
expect { client.local_branches(sort_by: 'invalid_sort') }.to raise_error(ArgumentError)
end
end
end