Code
Explorer
You are a developer and looking for Shopware projects?
Apply Now!
setStateMachineState example
public
function
testOrderPaymentStatusRuleMatching
(
bool
$expected
, string
$orderStateId
, array
$selectedOrderStateIds
, string
$operator
)
: void
{
$stateMachineState
=
new
StateMachineStateEntity
(
)
;
$stateMachineState
->
setTechnicalName
(
OrderTransactionStates::STATE_IN_PROGRESS
)
;
$orderTransactionCollection
=
new
OrderTransactionCollection
(
)
;
$orderTransaction
=
new
OrderTransactionEntity
(
)
;
$orderTransaction
->
setId
(
Uuid::
randomHex
(
)
)
;
$orderTransaction
->
setStateId
(
$orderStateId
)
;
$orderTransaction
->
setStateMachineState
(
$stateMachineState
)
;
$orderTransactionCollection
->
add
(
$orderTransaction
)
;
$order
=
new
OrderEntity
(
)
;
$order
->
setTransactions
(
$orderTransactionCollection
)
;
$cart
=
$this
->
createMock
(
Cart::
class
)
;
$context
=
$this
->
createMock
(
SalesChannelContext::
class
)
;
$scope
=
new
FlowRuleScope
(
$order
,
$cart
,
$context
)
;
$this
->rule->
assign
(
[
'stateIds' =>
$selectedOrderStateIds
, 'operator' =>
$operator
]
)
;
static
::
assertSame
(
$expected
,
$this
->rule->
match
(
$scope
)
)
;
}
// Transactions
$orderTransactionCollection
=
new
OrderTransactionCollection
(
)
;
$orderTransaction
=
new
OrderTransactionEntity
(
)
;
$orderTransaction
->
setId
(
'order-transaction-id'
)
;
$orderTransaction
->
setPaymentMethodId
(
'order-transaction-payment-method-id'
)
;
$stateMachineState
=
new
StateMachineStateEntity
(
)
;
$stateMachineState
->
setId
(
'state-machine-state-id'
)
;
$stateMachineState
->
setTechnicalName
(
'state-machine-state-technical-name'
)
;
$orderTransaction
->
setStateMachineState
(
$stateMachineState
)
;
$orderTransactionCancelled
=
new
OrderTransactionEntity
(
)
;
$orderTransactionCancelled
->
setId
(
'order-transaction-cancelled-id'
)
;
$orderTransactionCancelled
->
setPaymentMethodId
(
'order-transaction-cancelled-payment-method-id'
)
;
$stateMachineStateCancelled
=
new
StateMachineStateEntity
(
)
;
$stateMachineStateCancelled
->
setId
(
'state-machine-cancelled-state-id'
)
;
$stateMachineStateCancelled
->
setTechnicalName
(
'cancelled'
)
;
$orderTransactionCancelled
->
setStateMachineState
(
$stateMachineStateCancelled
)
;
$orderTransactionFailed
=
new
OrderTransactionEntity
(
)
;
$orderTransactionFailed
->
setId
(
'order-transaction-failed-id'
)
;