diff options
Diffstat (limited to 'spec/serializers/analytics_issue_entity_spec.rb')
-rw-r--r-- | spec/serializers/analytics_issue_entity_spec.rb | 25 |
1 files changed, 21 insertions, 4 deletions
diff --git a/spec/serializers/analytics_issue_entity_spec.rb b/spec/serializers/analytics_issue_entity_spec.rb index 2518eec8c23..447c5e7d02a 100644 --- a/spec/serializers/analytics_issue_entity_spec.rb +++ b/spec/serializers/analytics_issue_entity_spec.rb @@ -17,16 +17,13 @@ RSpec.describe AnalyticsIssueEntity do } end - let(:project) { create(:project, name: 'my project') } let(:request) { EntityRequest.new(entity: :merge_request) } let(:entity) do described_class.new(entity_hash, request: request, project: project) end - context 'generic entity' do - subject { entity.as_json } - + shared_examples 'generic entity' do it 'contains the entity URL' do expect(subject).to include(:url) end @@ -40,4 +37,24 @@ RSpec.describe AnalyticsIssueEntity do expect(subject).not_to include(/variables/) end end + + context 'without subgroup' do + let_it_be(:project) { create(:project, name: 'my project') } + + subject { entity.as_json } + + it_behaves_like 'generic entity' + end + + context 'with subgroup' do + let_it_be(:project) { create(:project, :in_subgroup, name: 'my project') } + + subject { entity.as_json } + + it_behaves_like 'generic entity' + + it 'has URL containing subgroup' do + expect(subject[:url]).to include("#{project.group.parent.name}/#{project.group.name}/my_project/") + end + end end |