require "spec_helper" require "foreman/cli" describe "Foreman::CLI" do subject { Foreman::CLI.new } describe "start" do describe "with a non-existent Procfile" do it "prints an error" do mock_error(subject, "Procfile does not exist.") do dont_allow.instance_of(Foreman::Engine).start subject.start end end end describe "with a Procfile" do before(:each) { write_procfile } it "runs successfully" do dont_allow(subject).error mock.instance_of(Foreman::Engine).start({}) subject.start end end end describe "export" do describe "with a non-existent Procfile" do it "prints an error" do mock_error(subject, "Procfile does not exist.") do dont_allow.instance_of(Foreman::Engine).export subject.export("testapp") end end end describe "with a Procfile" do before(:each) { write_procfile } describe "with an invalid formatter" do it "prints an error" do mock_error(subject, "Unknown export format: invalidformatter.") do subject.export("invalidformatter") end end end describe "with a valid config" do before(:each) { write_foreman_config("testapp") } it "runs successfully" do dont_allow(subject).error mock.instance_of(Foreman::Export::Upstart).export("/tmp/foo", {}) subject.export("upstart", "/tmp/foo") end end end end end