summaryrefslogtreecommitdiff
path: root/spec/support/shared_contexts/presenters/nuget_shared_context.rb
blob: dd381db5a8b029ccf0a118aac3a993ce2951f865 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
# frozen_string_literal: true

RSpec.shared_context 'with expected presenters dependency groups' do
  def expected_dependency_groups(project_id, package_name, package_version)
    [
      {
        id: "http://localhost/api/v4/projects/#{project_id}/packages/nuget/metadata/#{package_name}/#{package_version}.json#dependencyGroup/.netstandard2.0",
        target_framework: '.NETStandard2.0',
        type: 'PackageDependencyGroup',
        dependencies: [
          {
            id: "http://localhost/api/v4/projects/#{project_id}/packages/nuget/metadata/#{package_name}/#{package_version}.json#dependencyGroup/.netstandard2.0/newtonsoft.json",
            range: '12.0.3',
            name: 'Newtonsoft.Json',
            type: 'PackageDependency'
          }
        ]
      },
      {
        id: "http://localhost/api/v4/projects/#{project_id}/packages/nuget/metadata/#{package_name}/#{package_version}.json#dependencyGroup",
        type: 'PackageDependencyGroup',
        dependencies: [
          {
            id: "http://localhost/api/v4/projects/#{project_id}/packages/nuget/metadata/#{package_name}/#{package_version}.json#dependencyGroup/castle.core",
            range: '4.4.1',
            name: 'Castle.Core',
            type: 'PackageDependency'
          }
        ]
      }
    ]
  end

  def create_dependencies_for(package)
    dependency1 = Packages::Dependency.find_by(name: 'Newtonsoft.Json', version_pattern: '12.0.3') || create(:packages_dependency, name: 'Newtonsoft.Json', version_pattern: '12.0.3')
    dependency2 = Packages::Dependency.find_by(name: 'Castle.Core', version_pattern: '4.4.1') || create(:packages_dependency, name: 'Castle.Core', version_pattern: '4.4.1')

    create(:packages_dependency_link, :with_nuget_metadatum, package: package, dependency: dependency1)
    create(:packages_dependency_link, package: package, dependency: dependency2)
  end
end