Sha256: c543b40017918c7662297d5c1fa9400e67f2d2a0e02de17bd18a9b0b15d2ef54

Contents?: true

Size: 1.77 KB

Versions: 5

Compression:

Stored size: 1.77 KB

Contents

require "spec_helper"

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

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

      describe "#add" do
        it "approves the requested gem" do
          silence_stdout do
            subject.add 'foo'
          end
          expect(subject.decisions).to be_approved "foo"
        end

        it "approves multiple dependencies" do
          silence_stdout do
            subject.add 'foo', 'bar'
          end
          expect(subject.decisions).to be_approved "foo"
          expect(subject.decisions).to be_approved "bar"
        end

        it "raises a warning if no dependency was specified" do
          silence_stdout do
            expect { subject.add }.to raise_error(ArgumentError)
          end
        end

        it "sets approver and approval message" do
          subject.options = {
            who: "Julian",
            why: "We really need this"
          }
          silence_stdout do
            subject.add("foo")
          end

          approval = subject.decisions.approval_of("foo")
          expect(approval.who).to eq "Julian"
          expect(approval.why).to eq "We really need this"
        end
      end

      describe "remove" do
        it "unapproves the specified dependency" do
          silence_stdout do
            subject.add("test")
            subject.remove("test")
          end
          expect(subject.decisions).not_to be_approved "test"
        end

        it "is cumulative" do
          silence_stdout do
            subject.add("test")
            subject.remove("test")
            subject.add("test")
          end
          expect(subject.decisions).to be_approved "test"
        end
      end
    end
  end
end

Version data entries

5 entries across 5 versions & 1 rubygems

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