Sha256: 1e60b9dd2034d497723d87593cb438766257ad5f33f0a02d1855486faa1cfd2b
Contents?: true
Size: 1.46 KB
Versions: 1
Compression:
Stored size: 1.46 KB
Contents
# frozen_string_literal: true $LOAD_PATH.unshift File.expand_path('../lib', __dir__) require 'sms77' require 'sms77/util' RSpec::Matchers.define :be_boolean do match do |value| [true, false].include? value end end RSpec::Matchers.define :be_numeric do match do |value| return true if value.is_a?(Integer) value.scan(/\D/).empty? end end RSpec::Matchers.define :be_lengthy do match do |value| return true if value.is_a?(String) && !Helper.client.sent_with.empty? end end class EnvKeyStore def initialize(key) @key = "SMS77_TEST_#{key}" @store = ENV[@key] end def get(fallback = nil) @store.nil? ? fallback : @store end def set(val, only_on_nil = false) @store = val unless only_on_nil end end class Helper @client = Sms77::Client.new(ENV['SMS77_DUMMY_API_KEY'], 'ruby-test') @is_http = ENV.key?('TEST_HTTP').freeze @stubs = Faraday::Adapter::Test::Stubs.new @virtual_inbound_nr_eplus = '+491771783130' Sms77::Client::BUILDER.adapter(:test, @stubs) unless @is_http Sms77::Client::HTTP_METHODS.each do |method| self.class.define_method(method.name) { |*args| request(@stubs.method(method.name.to_sym), *args) } end def self.request(method, endpoint, stub, params = nil) method.call(Sms77::Client::BASE_PATH + endpoint) { || [200, {}, stub] } unless @is_http @client.method(endpoint).call(*[params].compact) end class << self attr_reader :is_http, :virtual_inbound_nr_eplus, :client end end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
sms77-0.1.0 | spec/spec_helper.rb |