Sha256: 582a98e1a28b1da96de8fed7f5426482ab04c16ed6c65433798dac373d234808

Contents?: true

Size: 1.71 KB

Versions: 16

Compression:

Stored size: 1.71 KB

Contents

require "spec_helper"

module LicenseFinder
  module CLI
    describe Licenses do
      let(:decisions) { Decisions.new }

      before do
        allow(Decisions).to receive(:fetch_saved) { decisions }
      end

      describe "add" do
        it "updates the license on the requested gem" do
          silence_stdout do
            subject.add 'foo_gem', 'foo_license'
          end
          expect(subject.decisions.licenses_of("foo_gem").first.name).to eq "foo_license"
        end

        it "allows multiple licenses" do
          silence_stdout do
            subject.add 'foo_gem', 'one'
            subject.add 'foo_gem', 'two'
          end
          licenses = subject.decisions.licenses_of("foo_gem")
          expect(licenses.map(&:name)).to match_array %w[one two]
        end
      end

      describe "remove" do
        it "removes the license from the dependency" do
          silence_stdout do
            subject.add("test", "lic")
            subject.remove("test", "lic")
          end
          expect(subject.decisions.licenses_of("test")).to be_empty
        end

        it "removes just one license from the dependency" do
          silence_stdout do
            subject.add("test", "one")
            subject.add("test", "two")
            subject.remove("test", "one")
          end
          licenses = subject.decisions.licenses_of("test")
          expect(licenses.map(&:name)).to eq ["two"]
        end

        it "is cumulative" do
          silence_stdout do
            subject.add("test", "lic")
            subject.remove("test", "lic")
            subject.add("test", "lic")
          end
          expect(subject.decisions.licenses_of("test").first.name).to eq "lic"
        end
      end
    end
  end
end

Version data entries

16 entries across 16 versions & 1 rubygems

Version Path
license_finder-3.0.4 spec/lib/license_finder/cli/licenses_spec.rb
license_finder-3.0.2 spec/lib/license_finder/cli/licenses_spec.rb
license_finder-3.0.1 spec/lib/license_finder/cli/licenses_spec.rb
license_finder-3.0.0 spec/lib/license_finder/cli/licenses_spec.rb
license_finder-2.1.2 spec/lib/license_finder/cli/licenses_spec.rb
license_finder-2.1.1 spec/lib/license_finder/cli/licenses_spec.rb
license_finder-2.1.0 spec/lib/license_finder/cli/licenses_spec.rb
license_finder-2.1.0.rc9 spec/lib/license_finder/cli/licenses_spec.rb
license_finder-2.1.0.rc8 spec/lib/license_finder/cli/licenses_spec.rb
license_finder-2.1.0.rc7 spec/lib/license_finder/cli/licenses_spec.rb
license_finder-2.1.0.rc6 spec/lib/license_finder/cli/licenses_spec.rb
license_finder-2.1.0.rc5 spec/lib/license_finder/cli/licenses_spec.rb
license_finder-2.1.0.rc4 spec/lib/license_finder/cli/licenses_spec.rb
license_finder-2.1.0.rc3 spec/lib/license_finder/cli/licenses_spec.rb
license_finder-2.1.0.rc2 spec/lib/license_finder/cli/licenses_spec.rb
license_finder-2.1.0.rc1 spec/lib/license_finder/cli/licenses_spec.rb