Sha256: 79d8206a5d0b9d06bf19e06e46bdf879575f542c22f33b2ce1a0887eaf9aa516

Contents?: true

Size: 867 Bytes

Versions: 1

Compression:

Stored size: 867 Bytes

Contents

require "pact/consumer/minitest/version"
require 'pact/consumer'
require 'pact/consumer/spec_hooks'

module Pact
  module Consumer
    module Minitest

      include Pact::Consumer::ConsumerContractBuilders

      def pact_spec_hooks
        @@pact_spec_hooks ||= Pact::Consumer::SpecHooks.new
      end

      module_function :pact_spec_hooks

      def before_suite
        unless defined?(@@before_suite_hook_ran) && @@before_suite_hook_ran
          pact_spec_hooks.before_all
          @@before_suite_hook_ran = true
        end
      end

      def before_setup
        super
        before_suite
        pact_spec_hooks.before_each self.class.name
      end

      def after_teardown
        super
        pact_spec_hooks.after_each self.class.name
      end

    end
  end
end

Minitest.after_run do
  Pact::Consumer::Minitest.pact_spec_hooks.after_suite
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
pact-consumer-minitest-0.0.1 lib/pact/consumer/minitest.rb