Code
Explorer
You are a developer and looking for Shopware projects?
Apply Now!
setConsiderAdvancedRules example
public
function
testPayloadStructureBasic
(
)
: void
{
$builder
=
new
PromotionItemBuilder
(
)
;
$discount
=
new
PromotionDiscountEntity
(
)
;
$discount
->
setId
(
'D5'
)
;
$discount
->
setType
(
PromotionDiscountEntity::TYPE_ABSOLUTE
)
;
$discount
->
setValue
(
50
)
;
$discount
->
setConsiderAdvancedRules
(
true
)
;
$discount
->
setScope
(
PromotionDiscountEntity::SCOPE_CART
)
;
$currencyFactor
= 0.3;
$ruleCollection
=
new
RuleCollection
(
)
;
$discount
->
setDiscountRules
(
$ruleCollection
)
;
$item
=
$builder
->
buildDiscountLineItem
(
'my-Code-123',
$this
->promotion,
$discount
, 'C1',
$currencyFactor
)
;
$expected
=
[
'promotionId' => 'PR-1',
public
function
testDiscountTargetFilter
(
)
: void
{
$builder
=
new
PromotionItemBuilder
(
)
;
$currencyFactor
=
random_int
(
0,
mt_getrandmax
(
)
)
/
mt_getrandmax
(
)
;
$discount
=
new
PromotionDiscountEntity
(
)
;
$discount
->
setId
(
'D5'
)
;
$discount
->
setType
(
PromotionDiscountEntity::TYPE_ABSOLUTE
)
;
$discount
->
setValue
(
50
)
;
$discount
->
setConsiderAdvancedRules
(
true
)
;
$discount
->
setScope
(
PromotionDiscountEntity::SCOPE_CART
)
;
$amount
= 100;
$operator
= '=';
$discountFilter
=
$this
->
getFakeRule
(
$amount
,
$operator
)
;
$discountRuleEntity
=
new
RuleEntity
(
)
;
$discountRuleEntity
->
setId
(
'foo'
)
;
$discountRuleEntity
->
setPayload
(
$discountFilter
)
;