Sha256: 8ee9015922a8d9649d949f8064027b0c34384da159437d707fcc45be18275d47

Contents?: true

Size: 1.75 KB

Versions: 10

Compression:

Stored size: 1.75 KB

Contents

describe Lono::Template::DSL do
  context "tmp/lono_project" do
    it "#evaluate_templates" do
      dsl = Lono::Template::DSL.new(
        quiet: true
      )
      dsl.evaluate_templates
      templates = dsl.instance_variable_get(:@templates)
      template_names = templates.map { |h| h[:name] }
      expect(template_names).to include("example")
    end
  end

  context "lono generate" do
    before(:each) do
      dsl = Lono::Template::DSL.new(quiet: true)
      dsl.run
    end

    it "should generate cloudformation template" do
      template = YAML.load_file("#{Lono.root}/output/templates/example.yml")
      expect(template['Description']).to include "AWS CloudFormation Sample Template"
    end

    # <%= partial("security_group", desc: "whatever", port: 22)
    it "partial local variables become instance variables in partial view" do
      template = YAML.load_file("#{Lono.root}/output/templates/example.yml")
      desc = template['Resources']['InstanceSecurityGroup']['Properties']['GroupDescription']
      expect(desc).to eq 'Enable SSH access via port 22'
    end

    it "partials should have access to variables" do
      text = IO.read("#{Lono.root}/output/templates/example.yml")
      expect(text).to include("override_test=overridden-by-development")
    end

    it "should have access to custom helpers" do
      text = IO.read("#{Lono.root}/output/templates/example.yml")
      expect(text).to include("custom_helper value")
    end
  end

  context "yaml parse error" do
    let(:dsl) do
      Lono::Template::DSL.new(quiet: true)
    end

    it "show exact line of error code when yaml is invalid" do
      IO.write("tmp/bad.yml", <<EOL)
test: 1
foo
  test
EOL
      out = dsl.validate("tmp/bad.yml")
      expect(out).to include("2 foo")
    end

  end
end

Version data entries

10 entries across 10 versions & 1 rubygems

Version Path
lono-4.2.1 spec/lib/lono/template/dsl_spec.rb
lono-4.2.0 spec/lib/lono/template/dsl_spec.rb
lono-4.1.0 spec/lib/lono/template/dsl_spec.rb
lono-4.0.6 spec/lib/lono/template/dsl_spec.rb
lono-4.0.5 spec/lib/lono/template/dsl_spec.rb
lono-4.0.4 spec/lib/lono/template/dsl_spec.rb
lono-4.0.3 spec/lib/lono/template/dsl_spec.rb
lono-4.0.2 spec/lib/lono/template/dsl_spec.rb
lono-4.0.1 spec/lib/lono/template/dsl_spec.rb
lono-4.0.0 spec/lib/lono/template/dsl_spec.rb