From 286fe61013674fe2d245ffc8d2233baf09923e70 Mon Sep 17 00:00:00 2001 From: GitLab Bot Date: Fri, 13 Mar 2020 12:09:22 +0000 Subject: Add latest changes from gitlab-org/gitlab@master --- spec/helpers/releases_helper_spec.rb | 21 ++++++++++++++++++--- 1 file changed, 18 insertions(+), 3 deletions(-) (limited to 'spec/helpers') diff --git a/spec/helpers/releases_helper_spec.rb b/spec/helpers/releases_helper_spec.rb index 3f56c189642..d9d6a324f09 100644 --- a/spec/helpers/releases_helper_spec.rb +++ b/spec/helpers/releases_helper_spec.rb @@ -18,16 +18,31 @@ describe ReleasesHelper do context 'url helpers' do let(:project) { build(:project, namespace: create(:group)) } let(:release) { create(:release, project: project) } + let(:user) { create(:user) } + let(:can_user_create_release) { false } + let(:common_keys) { [:project_id, :illustration_path, :documentation_path] } before do helper.instance_variable_set(:@project, project) helper.instance_variable_set(:@release, release) + allow(helper).to receive(:current_user).and_return(user) + allow(helper).to receive(:can?) + .with(user, :create_release, project) + .and_return(can_user_create_release) end describe '#data_for_releases_page' do - it 'has the needed data to display release blocks' do - keys = %i(project_id illustration_path documentation_path) - expect(helper.data_for_releases_page.keys).to eq(keys) + it 'includes the required data for displaying release blocks' do + expect(helper.data_for_releases_page.keys).to contain_exactly(*common_keys) + end + + context 'when the user is allowed to create a new release' do + let(:can_user_create_release) { true } + + it 'includes new_release_path' do + expect(helper.data_for_releases_page.keys).to contain_exactly(*common_keys, :new_release_path) + expect(helper.data_for_releases_page[:new_release_path]).to eq(new_project_tag_path(project)) + end end end -- cgit v1.2.3