Sha256: fc642f89ff153c395d270110e3e26daf6eea70026794e4699fdec46e51117e22

Contents?: true

Size: 1.38 KB

Versions: 5

Compression:

Stored size: 1.38 KB

Contents

require 'spec_helper'
require 'minimart/web/html_generator'

describe Minimart::Web::HtmlGenerator do
  let(:cookbooks) do
    Minimart::Web::Cookbooks.new(inventory_directory: 'spec/fixtures')
  end

  let(:web_directory) { test_directory }
  let(:assets_directory) { File.join(web_directory, 'assets') }
  let(:stylesheets_directory) { File.join(assets_directory, 'stylesheets') }
  let(:javascripts_directory) { File.join(assets_directory, 'javascripts') }

  subject do
    Minimart::Web::HtmlGenerator.new(
      web_directory: web_directory,
      cookbooks:     cookbooks)
  end

  describe '#generate' do
    it 'should copy any available assets' do
      subject.generate
      expect(Dir.exist?(assets_directory)).to eq true
    end

    it 'should minify raw CSS files' do
      subject.generate
      expect(Dir.entries(stylesheets_directory)).to include('application.min.css')
    end

    it 'should unglify raw JS files' do
      subject.generate
      expect(Dir.entries(javascripts_directory)).to include('application.min.js')
    end

    it 'should generate the dashboard page' do
      expect_any_instance_of(Minimart::Web::DashboardGenerator).to receive(:generate)
      subject.generate
    end

    it 'should generate show pages for any of the cookbooks' do
      expect_any_instance_of(Minimart::Web::CookbookShowPageGenerator).to receive(:generate)
      subject.generate
    end
  end
end

Version data entries

5 entries across 5 versions & 1 rubygems

Version Path
minimart-1.2.5 spec/lib/minimart/web/html_generator_spec.rb
minimart-1.2.4 spec/lib/minimart/web/html_generator_spec.rb
minimart-1.2.3 spec/lib/minimart/web/html_generator_spec.rb
minimart-1.2.0 spec/lib/minimart/web/html_generator_spec.rb
minimart-1.1.6 spec/lib/minimart/web/html_generator_spec.rb