Sha256: 7643a9b008e8662342210f7778be1ab42838db92e6f3dcf06a646a050f0a9a1d

Contents?: true

Size: 1.96 KB

Versions: 12

Compression:

Stored size: 1.96 KB

Contents

require 'spec_helper'
require 'fedux_org/stdlib/project/report'
require 'fedux_org/stdlib/filesystem'

describe FeduxOrg::Stdlib::Project::Report do
  context '#generate' do

    it 'generates report' do
      plan = double( 'Plan' )
      allow( plan ).to receive( :file ).and_return { create_file( 'plan.tjp' ) }

      generator = double( 'Generator' )
      expect( generator ).to receive( :generate_report )

      report = FeduxOrg::Stdlib::Project::Report.new( plan, generator )
      report.generate
    end

    it 'generates report only if plan file is newer than output file' do
      plan_file   = create_file( 'plan.tjp' ) 
      report_file = create_file( 'reports/Overview.html' )

      FileUtils.touch report_file, :mtime => Time.now - 2.hours

      plan = double( 'Plan' )
      allow( plan ).to receive( :file ).and_return {plan_file }

      generator = double( 'Generator' )
      expect( generator ).to receive( :generate_report ).once

      switch_to_working_directory do
        report = FeduxOrg::Stdlib::Project::Report.new( plan, generator )
        report.generate
      end
    end

    it 'does not generate report if plan file is older or of eqal age than output file' do
      plan_file   = create_file( 'plan.tjp' ) 
      report_file = create_file( 'reports/Overview.html' )

      FileUtils.touch plan_file, :mtime => Time.now - 2.hours

      plan = double( 'Plan' )
      allow( plan ).to receive( :file ).and_return { plan_file }

      generator = double( 'Generator' )

      switch_to_working_directory do
        report = FeduxOrg::Stdlib::Project::Report.new( plan, generator )
        silence( :stderr ) do
          report.generate
        end
      end
    end
  end

  context '#open' do
    it 'can open a report in a browser' do
      plan = double( 'Plan' )
      generator = double( 'Generator' )
      report = FeduxOrg::Stdlib::Project::Report.new( plan, generator )

      expect(
        report.respond_to? :open
      ).to be_true
    end
  end
end

Version data entries

12 entries across 12 versions & 1 rubygems

Version Path
fedux_org-stdlib-0.3.2 spec/project/report_spec.rb
fedux_org-stdlib-0.3.0 spec/project/report_spec.rb
fedux_org-stdlib-0.2.1 spec/project/report_spec.rb
fedux_org-stdlib-0.1.3 spec/project/report_spec.rb
fedux_org-stdlib-0.1.2 spec/project/report_spec.rb
fedux_org-stdlib-0.1.1 spec/project/report_spec.rb
fedux_org-stdlib-0.1.0 spec/project/report_spec.rb
fedux_org-stdlib-0.0.39 spec/project/report_spec.rb
fedux_org-stdlib-0.0.38 spec/project/report_spec.rb
fedux_org-stdlib-0.0.37 spec/project/report_spec.rb
fedux_org-stdlib-0.0.36 spec/project/report_spec.rb
fedux_org-stdlib-0.0.35 spec/project/report_spec.rb