Sha256: b0cfa1d5dcd1f25f3d3901b22710b01227041ad961a69e23334e94dc2d9f9090

Contents?: true

Size: 1.17 KB

Versions: 14

Compression:

Stored size: 1.17 KB

Contents

# frozen_string_literal: true

require File.expand_path("../../test_helper", File.dirname(__FILE__))
require "coverband/integrations/report_middleware"

class ReportMiddlewareTest < Minitest::Test
  def setup
    super
    Coverband.configure do |config|
      config.background_reporting_enabled = false
    end
  end

  test "reports coverage" do
    request = Rack::MockRequest.env_for("/anything.json")
    Coverband::Collectors::Coverage.instance.expects(:report_coverage)
    middleware = Coverband::ReportMiddleware.new(fake_app)
    middleware.call(request)
  end

  test "reports coverage when an error is raised" do
    request = Rack::MockRequest.env_for("/anything.json")
    Coverband::Collectors::Coverage.instance.reset_instance
    Coverband::Collectors::Coverage.instance.expects(:report_coverage).once
    middleware = Coverband::ReportMiddleware.new(fake_app_raise_error)
    begin
      middleware.call(request)
    rescue
      nil
    end
  end

  private

  def fake_app
    @fake_app ||= lambda do |env|
      [200, {"content-type" => "text/plain"}, env["PATH_INFO"]]
    end
  end

  def fake_app_raise_error
    @fake_app_raise_error ||= -> { raise "hell" }
  end
end

Version data entries

14 entries across 14 versions & 1 rubygems

Version Path
coverband-6.1.4 test/coverband/integrations/report_middleware_test.rb
coverband-6.1.3 test/coverband/integrations/report_middleware_test.rb
coverband-6.1.2 test/coverband/integrations/report_middleware_test.rb
coverband-6.1.2.rc.1 test/coverband/integrations/report_middleware_test.rb
coverband-6.1.1 test/coverband/integrations/report_middleware_test.rb
coverband-6.1.0 test/coverband/integrations/report_middleware_test.rb
coverband-6.0.3.rc.4 test/coverband/integrations/report_middleware_test.rb
coverband-6.0.3.rc.3 test/coverband/integrations/report_middleware_test.rb
coverband-6.0.3.rc.2 test/coverband/integrations/report_middleware_test.rb
coverband-6.0.3.rc.1 test/coverband/integrations/report_middleware_test.rb
coverband-6.0.2 test/coverband/integrations/report_middleware_test.rb
coverband-6.0.1 test/coverband/integrations/report_middleware_test.rb
coverband-6.0.1.rc.1 test/coverband/integrations/report_middleware_test.rb
coverband-6.0.0 test/coverband/integrations/report_middleware_test.rb