{-# LANGUAGE OverloadedStrings #-} {-# LANGUAGE RankNTypes #-} {-# LANGUAGE RecordWildCards #-} module Web.Stripe.Test.AllTests where import Test.Hspec (hspec) import Web.Stripe.Test.Config (getConfig) import Web.Stripe.Test.Account (accountTests) import Web.Stripe.Test.ApplicationFee (applicationFeeTests) import Web.Stripe.Test.ApplicationFeeRefund (applicationFeeRefundTests) import Web.Stripe.Test.Balance (balanceTests) import Web.Stripe.Test.Charge (chargeTests) import Web.Stripe.Test.Card (cardTests) import Web.Stripe.Test.Coupon (couponTests) import Web.Stripe.Test.Customer (customerTests) import Web.Stripe.Test.Discount (discountTests) import Web.Stripe.Test.Dispute (disputeTests) import Web.Stripe.Test.Invoice (invoiceTests) import Web.Stripe.Test.InvoiceItem (invoiceItemTests) import Web.Stripe.Test.Plan (planTests) import Web.Stripe.Test.Recipient (recipientTests) import Web.Stripe.Test.Refund (refundTests) import Web.Stripe.Test.Subscription (subscriptionTests) import Web.Stripe.Test.Token (tokenTests) import Web.Stripe.Test.Transfer (transferTests) import Web.Stripe.Test.Event (eventTests) import Web.Stripe.Test.Prelude (Stripe) import Web.Stripe.Client (StripeConfig, StripeError) ------------------------------------------------------------------------------ -- | Main test function entry point allTests :: (forall a. StripeConfig -> Stripe a -> IO (Either StripeError a)) -> IO () allTests stripe' = do config <- getConfig stripe' let stripe = stripe' config hspec $ do chargeTests stripe refundTests stripe customerTests stripe cardTests stripe subscriptionTests stripe planTests stripe couponTests stripe discountTests stripe invoiceTests stripe invoiceItemTests stripe disputeTests stripe transferTests stripe -- recipientTests stripe applicationFeeTests stripe applicationFeeRefundTests stripe accountTests stripe balanceTests stripe tokenTests stripe eventTests stripe