# frozen_string_literal: true require "simplecov" SimpleCov.start do add_filter "/test/" enable_coverage :branch end require "em_promise" require "fiber" require "minitest/autorun" require "rantly/minitest_extensions" require "webmock/minitest" begin require "pry-rescue/minitest" require "pry-reload" rescue LoadError # Just helpers for dev, no big deal if missing nil end CONFIG = { sgx: "sgx", component: { jid: "component" }, plans: [ { name: "test_usd", currency: :USD }, { name: "test_bad_currency", currency: :BAD } ], braintree: { merchant_accounts: { USD: "merchant_usd" } } }.freeze BLATHER = Class.new { def <<(*); end }.new.freeze module Minitest class Test def self.property(m, &block) define_method("test_#{m}") do property_of(&block).check { |args| send(m, *args) } end end def self.em(m) alias_method "raw_#{m}", m define_method(m) do EM.run do Fiber.new { begin send("raw_#{m}") ensure EM.stop end }.resume end end end end end