Sha256: 277ca4e8da93b47695eb7a0cd1445d32dfd39b772828938872072659e35ebcce

Contents?: true

Size: 1.71 KB

Versions: 6

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(: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

6 entries across 6 versions & 1 rubygems

Version Path
license_finder-2.0.4 spec/lib/license_finder/cli/licenses_spec.rb
license_finder-2.0.3 spec/lib/license_finder/cli/licenses_spec.rb
license_finder-2.0.2 spec/lib/license_finder/cli/licenses_spec.rb
license_finder-2.0.1 spec/lib/license_finder/cli/licenses_spec.rb
license_finder-2.0.0 spec/lib/license_finder/cli/licenses_spec.rb
license_finder-2.0.0.rc2 spec/lib/license_finder/cli/licenses_spec.rb