# frozen_string_literal: true

require "test_helper"
require "credit_card_customer_gateway"

Customer::REDIS = Minitest::Mock.new
CreditCardCustomerGateway::DB = Minitest::Mock.new

class CreditCardCustomerGatewayTest < Minitest::Test
	def setup
		@gateway = CreditCardCustomerGateway.new("test@test.net", "0001", true, currency: "CAD")
	end

	def test_no_cc_for_tombed
		Customer::REDIS.expect(:get, "Tombed", ["jmp_customer_trust_level-0001"])
		CreditCardCustomerGateway::DB.expect(:exec_params, [OpenStruct.new(name: "plan_name")])
		assert_raises RuntimeError do
			@gateway.sale("nonce", 1000)
		end
	end
end
