Code
Explorer
You are a developer and looking for Shopware projects?
Apply Now!
getPreparedPaymentHandler example
$this
->
registerHandler
(
RefundPaymentHandlerInterface::
class
)
,
$this
->
registerHandler
(
RecurringPaymentHandlerInterface::
class
)
,
$this
->connection,
)
;
$sync
=
$registry
->
getSyncPaymentHandler
(
$this
->ids->
get
(
SynchronousPaymentHandlerInterface::
class
)
)
;
static
::
assertInstanceOf
(
SynchronousPaymentHandlerInterface::
class
,
$sync
)
;
$async
=
$registry
->
getAsyncPaymentHandler
(
$this
->ids->
get
(
AsynchronousPaymentHandlerInterface::
class
)
)
;
static
::
assertInstanceOf
(
AsynchronousPaymentHandlerInterface::
class
,
$async
)
;
$prepared
=
$registry
->
getPreparedPaymentHandler
(
$this
->ids->
get
(
PreparedPaymentHandlerInterface::
class
)
)
;
static
::
assertInstanceOf
(
PreparedPaymentHandlerInterface::
class
,
$prepared
)
;
$refund
=
$registry
->
getRefundPaymentHandler
(
$this
->ids->
get
(
RefundPaymentHandlerInterface::
class
)
)
;
static
::
assertInstanceOf
(
RefundPaymentHandlerInterface::
class
,
$refund
)
;
$recurring
=
$registry
->
getRecurringPaymentHandler
(
$this
->ids->
get
(
RecurringPaymentHandlerInterface::
class
)
)
;
static
::
assertInstanceOf
(
RecurringPaymentHandlerInterface::
class
,
$recurring
)
;
$foo
=
$registry
->
getRecurringPaymentHandler
(
Uuid::
randomHex
(
)
)
;
static
::
assertNull
(
$foo
)
;
}
}
/** * @param array<class-string<PaymentHandlerInterface>> $handlerInstances * * @dataProvider paymentMethodDataProvider */
public
function
testGetPreparedHandler
(
string
$handlerName
, string
$handlerClass
, array
$handlerInstances
)
: void
{
$paymentMethod
=
$this
->
getPaymentMethod
(
$handlerName
)
;
$handler
=
$this
->paymentHandlerRegistry->
getPreparedPaymentHandler
(
$paymentMethod
->
getId
(
)
)
;
if
(
\
in_array
(
PreparedPaymentHandlerInterface::
class
,
$handlerInstances
, true
)
)
{
static
::
assertInstanceOf
(
PreparedPaymentHandlerInterface::
class
,
$handler
)
;
}
else
{
static
::
assertNull
(
$handler
)
;
}
}
/** * @param array<class-string<PaymentHandlerInterface>> $handlerInstances * * @dataProvider paymentMethodDataProvider */