Sha256: a1aab9f0efbb273ef0b13454578d374f78461460f482f240e2b123dfb4d6632e

Contents?: true

Size: 1.16 KB

Versions: 1

Compression:

Stored size: 1.16 KB

Contents

require 'spec_helper'
require 'bundler/audit/cli'

describe Bundler::Audit::CLI do

  context "when update succeeds" do

    before { expect(Bundler::Audit::Database).to receive(:update!).and_return(true) }

    it "prints updated message" do
      expect { subject.update }.to output(/Updated ruby-advisory-db/).to_stdout
    end

    it "prints total advisory count" do
      database = double
      expect(database).to receive(:size).and_return(1234)
      expect(Bundler::Audit::Database).to receive(:new).and_return(database)

      expect { subject.update }.to output(/ruby-advisory-db: 1234 advisories/).to_stdout
    end
  end

  context "when update fails" do

    before { expect(Bundler::Audit::Database).to receive(:update!).and_return(false) }

    it "prints failure message" do
      expect do
        begin
          subject.update
        rescue SystemExit
        end
      end.to output(/Failed updating ruby-advisory-db!/).to_stdout
    end

    it "exits with error status code" do
      expect { subject.update }.to raise_error(SystemExit) do |error|
        expect(error.success?).to eq(false)
        expect(error.status).to eq(1)
      end
    end

  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
bundler-audit-0.5.0 spec/cli_spec.rb