Sha256: f0e9aa166ce33207231f35ea9f30526f09f6c8513767dbb4b6abe42e3cc22b13

Contents?: true

Size: 1.75 KB

Versions: 18

Compression:

Stored size: 1.75 KB

Contents

require File.join(File.dirname(__FILE__),'generator_spec_helper')

describe "Generator" do
  appname = 'mynewapp'
  source = 'mysource'
  path = File.expand_path(File.join(File.dirname(__FILE__)))
  
  before(:each) do
    FileUtils.mkdir_p '/tmp'
  end
  
  describe "AppGenerator" do
    it "should complain if no name is specified" do
      lambda {
        Rhoconnect::AppGenerator.new('/tmp',{})
      }.should raise_error(Templater::TooFewArgumentsError)
    end
    
    before(:each) do
      @generator = Rhoconnect::AppGenerator.new('/tmp',{},appname)
    end
    
    it "should create new application files" do
      SecureRandom.should_receive(:hex).with(64).any_number_of_times
      [ 
        'Gemfile',
        'Rakefile',
        "application.rb",
        'config.ru',
        'public',
        'settings/settings.yml',
        'settings/license.key',
        'spec/spec_helper.rb'
      ].each do |template|
        @generator.should create("/tmp/#{appname}/#{template}")
      end
    end
  end
  
  describe "SourceGenerator" do
    it "should complain if no name is specified" do
      lambda {
        Rhoconnect::SourceGenerator.new('/tmp',{})
      }.should raise_error(Templater::TooFewArgumentsError)
    end
    
    before(:each) do
      FileUtils.rm_rf "/tmp/#{appname}"
      @app_generator = Rhoconnect::AppGenerator.new('/tmp',{},appname)
      @app_generator.invoke!
      Bundler.with_clean_env do
        @app_generator.after_run
      end
      @generator = Rhoconnect::SourceGenerator.new("/tmp/#{appname}",{},source)
    end
    
    it "should create new source adapter and spec" do
      @generator.should create("/tmp/#{appname}/sources/#{source}.rb")
      @generator.should create("/tmp/#{appname}/spec/sources/#{source}_spec.rb")
    end
  end
  
end

Version data entries

18 entries across 18 versions & 1 rubygems

Version Path
rhoconnect-3.4.5 spec/generator/generator_spec.rb
rhoconnect-3.4.4 spec/generator/generator_spec.rb
rhoconnect-3.4.3 spec/generator/generator_spec.rb
rhoconnect-3.4.2 spec/generator/generator_spec.rb
rhoconnect-3.3.6 spec/generator/generator_spec.rb
rhoconnect-3.3.5 spec/generator/generator_spec.rb
rhoconnect-3.3.4 spec/generator/generator_spec.rb
rhoconnect-3.3.3 spec/generator/generator_spec.rb
rhoconnect-3.3.2 spec/generator/generator_spec.rb
rhoconnect-3.3.1 spec/generator/generator_spec.rb
rhoconnect-3.3.1.beta4 spec/generator/generator_spec.rb
rhoconnect-3.3.1.beta3 spec/generator/generator_spec.rb
rhoconnect-3.3.1.beta2 spec/generator/generator_spec.rb
rhoconnect-3.2.1 spec/generator/generator_spec.rb
rhoconnect-3.2.0 spec/generator/generator_spec.rb
rhoconnect-3.2.0.beta5 spec/generator/generator_spec.rb
rhoconnect-3.2.0.beta4 spec/generator/generator_spec.rb
rhoconnect-3.2.0.beta3 spec/generator/generator_spec.rb