Mike McQuaid bdeca530ff
Migrate Homebrew/bundle to Homebrew/brew
Co-authored-by: Bo Anderson <mail@boanderson.me>
2025-03-19 06:47:01 +00:00

50 lines
1.2 KiB
Ruby

# frozen_string_literal: true
require "bundle"
require "cask/cask_loader"
RSpec.describe Homebrew::Bundle::Commands::Add do
subject(:add) do
described_class.run(*args, type:, global:, file:)
end
before { FileUtils.touch file }
after { FileUtils.rm_f file }
let(:global) { false }
context "when called with a valid formula" do
let(:args) { ["hello"] }
let(:type) { :brew }
let(:file) { "/tmp/some_random_brewfile#{Random.rand(2 ** 16)}" }
before do
stub_formula_loader formula("hello") { url "hello-1.0" }
end
it "adds entries to the given Brewfile" do
expect { add }.not_to raise_error
expect(File.read(file)).to include("#{type} \"#{args.first}\"")
end
end
context "when called with a valid cask" do
let(:args) { ["alacritty"] }
let(:type) { :cask }
let(:file) { "/tmp/some_random_brewfile#{Random.rand(2 ** 16)}" }
before do
stub_cask_loader Cask::CaskLoader::FromContentLoader.new(+<<~RUBY).load(config: nil)
cask "alacritty" do
version "1.0"
end
RUBY
end
it "adds entries to the given Brewfile" do
expect { add }.not_to raise_error
expect(File.read(file)).to include("#{type} \"#{args.first}\"")
end
end
end