spec/owners_cli_spec.rb in owners-0.0.3 vs spec/owners_cli_spec.rb in owners-0.0.4

- old
+ new

@@ -1,22 +1,46 @@ RSpec.describe Owners::CLI do + subject { capture { command } } + + let(:command) { described_class.start(args) } + + def capture + stdout = $stdout + $stdout = StringIO.new + yield + $stdout.string + ensure + $stdout = stdout + end + describe "for" do - subject { capture { command } } - let(:command) { described_class.start(args) } let(:args) { ["for", "example/app/controllers/users_controller.rb"] } - def capture - stdout = $stdout - $stdout = StringIO.new - yield - $stdout.string - ensure - $stdout = stdout + context "without a specified file" do + it "parses owners correctly" do + expect(subject).to eq("@org/auth\n@org/blog\n") + end end + context "with a specified file" do + before { args << "--file" << "SOMETHING_ELSE" } + + it "overrides the default OWNERS filename" do + begin + expect(subject).to eq("") + ensure + Owners.file = nil + end + end + end + end + + describe "for_diff" do + let(:args) { ["for_diff", "0757297", "d0e67df"] } + context "without a specified file" do it "parses owners correctly" do - expect(subject).to eq("@org/auth\n@org/blog\n") + expect(subject).to eq("@org/blog\n@whitespace\ndata@example.com\n") end end context "with a specified file" do before { args << "--file" << "SOMETHING_ELSE" }