diff options
author | GitLab Bot <gitlab-bot@gitlab.com> | 2023-07-14 06:09:17 +0300 |
---|---|---|
committer | GitLab Bot <gitlab-bot@gitlab.com> | 2023-07-14 06:09:17 +0300 |
commit | c69e4aa48c55a413b1ae0a7cc2f3537e3bdcdbbd (patch) | |
tree | 3940e30b133af16fa91e0b624c45c3298f71fea9 /spec/presenters | |
parent | 804348d39bc1815441c6c4d901a2cf32d5136f9a (diff) |
Add latest changes from gitlab-org/gitlab@master
Diffstat (limited to 'spec/presenters')
-rw-r--r-- | spec/presenters/project_presenter_spec.rb | 29 |
1 files changed, 29 insertions, 0 deletions
diff --git a/spec/presenters/project_presenter_spec.rb b/spec/presenters/project_presenter_spec.rb index b61847b37bb..42c43a59fe2 100644 --- a/spec/presenters/project_presenter_spec.rb +++ b/spec/presenters/project_presenter_spec.rb @@ -388,6 +388,35 @@ RSpec.describe ProjectPresenter do end end + describe '#terraform_states_anchor_data' do + using RSpec::Parameterized::TableSyntax + + let(:anchor_goto_terraform) do + have_attributes( + is_link: true, + label: a_string_including(project.terraform_states.size.to_s), + link: presenter.project_terraform_index_path(project) + ) + end + + where(:terraform_states_exists, :can_read_terraform_state, :expected_result) do + true | true | ref(:anchor_goto_terraform) + true | false | nil + false | true | nil + false | false | nil + end + + with_them do + before do + allow(project.terraform_states).to receive(:exists?).and_return(terraform_states_exists) + allow(presenter).to receive(:can?).with(user, :read_terraform_state, + project).and_return(can_read_terraform_state) + end + + it { expect(presenter.terraform_states_anchor_data).to match(expected_result) } + end + end + describe '#tags_anchor_data' do it 'returns tags data' do expect(presenter.tags_anchor_data).to have_attributes( |