50 lines
1.4 KiB
Ruby
50 lines
1.4 KiB
Ruby
# frozen_string_literal: true
|
|
|
|
require 'spec_helper'
|
|
|
|
RSpec.describe API::Entities::Nuget::DependencyGroup do
|
|
let(:dependency_group) do
|
|
{
|
|
id: 'http://gitlab.com/Sandbox.App/1.0.0.json#dependencygroup',
|
|
type: 'PackageDependencyGroup',
|
|
target_framework: 'fwk test',
|
|
dependencies: [
|
|
{
|
|
id: 'http://gitlab.com/Sandbox.App/1.0.0.json#dependency',
|
|
type: 'PackageDependency',
|
|
name: 'Dependency',
|
|
range: '2.0.0'
|
|
}
|
|
]
|
|
}
|
|
end
|
|
|
|
let(:expected) do
|
|
{
|
|
'@id': 'http://gitlab.com/Sandbox.App/1.0.0.json#dependencygroup',
|
|
'@type': 'PackageDependencyGroup',
|
|
'targetFramework': 'fwk test',
|
|
'dependencies': [
|
|
{
|
|
'@id': 'http://gitlab.com/Sandbox.App/1.0.0.json#dependency',
|
|
'@type': 'PackageDependency',
|
|
'id': 'Dependency',
|
|
'range': '2.0.0'
|
|
}
|
|
]
|
|
}
|
|
end
|
|
let(:entity) { described_class.new(dependency_group) }
|
|
|
|
subject { entity.as_json }
|
|
|
|
it { is_expected.to eq(expected) }
|
|
|
|
context 'dependency group without target framework' do
|
|
let(:dependency_group_with_no_target_framework) { dependency_group.tap { |dg| dg[:target_framework] = nil } }
|
|
let(:expected_no_target_framework) { expected.except(:targetFramework) }
|
|
let(:entity) { described_class.new(dependency_group_with_no_target_framework) }
|
|
|
|
it { is_expected.to eq(expected_no_target_framework) }
|
|
end
|
|
end
|