Sha256: 5c086e8f8dfea063e21b72007848d98f9efbdbf26c88a64fb129699acecd0e74
Contents?: true
Size: 1.82 KB
Versions: 1
Compression:
Stored size: 1.82 KB
Contents
require 'spec_helper' require 'xploy/cli' require 'xploy/error' require 'xploy/version' require 'fakefs/safe' describe Xploy::Cli do let('parameter') do double('Xploy::Parameter').tap do |mock| mock.stub('rest').and_return([]) mock.stub('[]').with(:version).and_return(nil) end end let('api') { double('Xploy::Api') } let('out') { double('stdout').tap { |o| o.stub('puts') } } let('template_class') do double('Xway::Template').tap do |mock| template = double('template').tap do |mock| mock.stub('to_s').and_return('template data...') end mock.stub('new').and_return(template) end end before { Xploy.stub('parameter').and_return(parameter) } subject { described_class.new api, out, template_class } it 'prints usage per default' do parameter.should_receive('print_help!') subject.start end it 'prints version on :version parameter' do parameter.stub('[]').with(:version).and_return(true) out.should_receive('puts').with("xploy #{Xploy::VERSION}") subject.start end it 'prints template on new without path' do out.should_receive('puts').with('template data...') parameter.stub('rest').and_return(['new']) subject.start end it 'writes template on new with path' do FakeFS do parameter.stub('rest').and_return(['new', 'foo.xploy']) subject.start File.read('foo.xploy').should eq('template data...') end end it 'executes commands on api' do api.should_receive('request').with('list').and_return('list result') out.should_receive('puts').with('list result') parameter.stub('rest').and_return(['list']) subject.start end it 'rescues MissingParameter' do parameter.stub('rest') { raise Xploy::MissingParameter, 'foo' } out.should_receive('puts').with('foo') subject.start end end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
xploy-0.1.1.beta | spec/lib/xploy/cli_spec.rb |