summaryrefslogtreecommitdiff
path: root/spec/unit/dotnet/index_spec.rb
blob: 50e1ed1f66dbdcb061604659f060de688cc0b6a8 (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
# frozen_string_literal: true

RSpec.describe Spandx::Dotnet::Index do
  subject { described_class.new(directory:, gateway:) }

  let(:gateway) { instance_double(Spandx::Dotnet::NugetGateway) }
  let(:directory) { Dir.mktmpdir('spandx') }

  after do
    FileUtils.rm_r(directory, force: true, secure: true)
  end

  describe '#update!' do
    let(:item) { { 'id' => 'Polaroider', 'version' => '0.2.0', 'licenseExpression' => 'MIT' } }
    let(:cache) { Spandx::Core::Cache.new('nuget', root: directory) }

    before do
      allow(gateway).to receive(:each).and_yield(item)

      subject.update!
    end

    specify { expect(cache.licenses_for('Polaroider', '0.2.0')).to match_array(['MIT']) }
  end
end