require "spec_helper" describe "spade owner" do let(:api_key) { "deadbeef" } let(:creds) { spade_dir("credentials") } before do cd(home) env["HOME"] = home.to_s env["RUBYGEMS_HOST"] = "http://localhost:9292" start_fake(FakeGemcutter.new(api_key)) end context "with a good api key" do before do write_api_key(api_key) end it "registers new owners if package is owned" do spade "owner", "add", "rake", "geddy@example.com" stdout.read.should include("Owner added successfully.") end it "removes owners if package is owned" do spade "owner", "remove", "rake", "geddy@example.com" stdout.read.should include("Owner removed successfully.") end it "lists owners for a gem" do spade "owner", "list", "rake" stdout.read.should == < true stderr.read.should include("Please login first with `spade login`") end it "asks for login first if api key does not exist" do spade "owner", "remove", "rake", "geddy@example.com", :track_stderr => true stderr.read.should include("Please login first with `spade login`") end it "asks for login first if api key does not exist" do spade "owner", "list", "rake", :track_stderr => true stderr.read.should include("Please login first with `spade login`") end it "requires a package name for add" do spade "owner", "add", :track_stderr => true stderr.read.should include("called incorrectly") end it "requires a package name for remove" do spade "owner", "remove", :track_stderr => true stderr.read.should include("called incorrectly") end it "requires a package name for list" do spade "owner", "list", :track_stderr => true stderr.read.should include("called incorrectly") end it "requires a package name for list with default command" do spade "owner", :track_stderr => true stderr.read.should include("called incorrectly") end end