Code
Explorer
You are a developer and looking for Shopware projects?
Apply Now!
CurrencyEntity example
$this
->decorated =
$this
->
createMock
(
AbstractCountryRoute::
class
)
;
$this
->cache =
$this
->
createMock
(
CacheInterface::
class
)
;
$this
->eventDispatcher =
new
EventDispatcher
(
)
;
$salesChannel
=
new
SalesChannelEntity
(
)
;
$salesChannel
->
setId
(
Uuid::
randomHex
(
)
)
;
$this
->context =
new
SalesChannelContext
(
new
Context
(
new
SalesChannelApiSource
(
Uuid::
randomHex
(
)
)
)
,
Uuid::
randomHex
(
)
,
null,
$salesChannel
,
new
CurrencyEntity
(
)
,
new
CustomerGroupEntity
(
)
,
new
TaxCollection
(
)
,
new
PaymentMethodEntity
(
)
,
new
ShippingMethodEntity
(
)
,
new
ShippingLocation
(
new
CountryEntity
(
)
, null, null
)
,
new
CustomerEntity
(
)
,
new
CashRoundingConfig
(
1, 1.1, true
)
,
new
CashRoundingConfig
(
1, 1.1, true
)
)
;
$this
->response =
new
CountryRouteResponse
(
new
EntitySearchResult
(
$salesChannel
=
new
SalesChannelEntity
(
)
;
$salesChannel
->
setPaymentMethodIds
(
[
'payment-method-id'
]
)
;
$base
= Context::
createDefaultContext
(
)
;
$base
->
setRuleIds
(
[
'payment-method-availability-rule-id'
]
)
;
return
new
SalesChannelContext
(
$base
,
'token',
null,
$salesChannel
,
new
CurrencyEntity
(
)
,
new
CustomerGroupEntity
(
)
,
new
TaxCollection
(
)
,
$paymentMethod
,
new
ShippingMethodEntity
(
)
,
new
ShippingLocation
(
new
CountryEntity
(
)
, null, null
)
,
null,
new
CashRoundingConfig
(
2, 3, true
)
,
new
CashRoundingConfig
(
2, 3, true
)
,
)
;
}
}
$this
->decorated =
$this
->
createMock
(
AbstractProductCrossSellingRoute::
class
)
;
$this
->cache =
$this
->
createMock
(
CacheInterface::
class
)
;
$this
->eventDispatcher =
new
EventDispatcher
(
)
;
$salesChannel
=
new
SalesChannelEntity
(
)
;
$salesChannel
->
setId
(
Uuid::
randomHex
(
)
)
;
$this
->context =
new
SalesChannelContext
(
new
Context
(
new
SalesChannelApiSource
(
Uuid::
randomHex
(
)
)
)
,
Uuid::
randomHex
(
)
,
null,
$salesChannel
,
new
CurrencyEntity
(
)
,
new
CustomerGroupEntity
(
)
,
new
TaxCollection
(
)
,
new
PaymentMethodEntity
(
)
,
new
ShippingMethodEntity
(
)
,
new
ShippingLocation
(
new
CountryEntity
(
)
, null, null
)
,
new
CustomerEntity
(
)
,
new
CashRoundingConfig
(
1, 1.1, true
)
,
new
CashRoundingConfig
(
1, 1.1, true
)
)
;
$this
->response =
new
ProductCrossSellingRouteResponse
(
new
CrossSellingElementCollection
(
)
)
;
protected
function
setUp
(
)
: void
{
$this
->decorated =
$this
->
createMock
(
AbstractProductSuggestRoute::
class
)
;
$this
->cache =
$this
->
createMock
(
CacheInterface::
class
)
;
$this
->eventDispatcher =
new
EventDispatcher
(
)
;
$this
->context =
new
SalesChannelContext
(
new
Context
(
new
SalesChannelApiSource
(
Uuid::
randomHex
(
)
)
)
,
Uuid::
randomHex
(
)
,
null,
new
SalesChannelEntity
(
)
,
new
CurrencyEntity
(
)
,
new
CustomerGroupEntity
(
)
,
new
TaxCollection
(
)
,
new
PaymentMethodEntity
(
)
,
new
ShippingMethodEntity
(
)
,
new
ShippingLocation
(
new
CountryEntity
(
)
, null, null
)
,
new
CustomerEntity
(
)
,
new
CashRoundingConfig
(
1, 1.1, true
)
,
new
CashRoundingConfig
(
1, 1.1, true
)
)
;
$this
->cachedRout =
new
CachedProductSuggestRoute
(
$this
->decorated =
$this
->
createMock
(
AbstractPaymentMethodRoute::
class
)
;
$this
->cache =
$this
->
createMock
(
CacheInterface::
class
)
;
$this
->eventDispatcher =
new
EventDispatcher
(
)
;
$salesChannel
=
new
SalesChannelEntity
(
)
;
$salesChannel
->
setId
(
Uuid::
randomHex
(
)
)
;
$this
->context =
new
SalesChannelContext
(
new
Context
(
new
SalesChannelApiSource
(
Uuid::
randomHex
(
)
)
)
,
Uuid::
randomHex
(
)
,
null,
$salesChannel
,
new
CurrencyEntity
(
)
,
new
CustomerGroupEntity
(
)
,
new
TaxCollection
(
)
,
new
PaymentMethodEntity
(
)
,
new
ShippingMethodEntity
(
)
,
new
ShippingLocation
(
new
CountryEntity
(
)
, null, null
)
,
new
CustomerEntity
(
)
,
new
CashRoundingConfig
(
1, 1.1, true
)
,
new
CashRoundingConfig
(
1, 1.1, true
)
)
;
$this
->response =
new
PaymentMethodRouteResponse
(
new
EntitySearchResult
(
// Ensure flash massage is shown
static
::
assertEquals
(
'danger error.CHECKOUT__ORDER_ORDER_NOT_FOUND',
$this
->controller->flash
)
;
static
::
assertEquals
(
new
RedirectResponse
(
'http://localhost/account/order'
)
,
$response
)
;
}
public
function
testOrderAlreadyPaid
(
)
: void
{
$ids
=
new
IdsCollection
(
)
;
$salesChannelContext
= Generator::
createSalesChannelContext
(
)
;
$salesChannelContext
->
assign
(
[
'currency'
=>
(
new
CurrencyEntity
(
)
)
->
assign
(
[
'id' =>
$ids
->
get
(
'currency'
)
,
]
)
,
]
)
;
$order
=
(
new
OrderEntity
(
)
)
->
assign
(
[
'_uniqueIdentifier' => Uuid::
randomHex
(
)
,
'currencyId' =>
$ids
->
get
(
'currency'
)
,
'deliveries' =>
new
OrderDeliveryCollection
(
)
,
]
)
;
$orders
=
new
OrderCollection
(
[
$order
]
)
;
private
function
getSalesChannelContext
(
string
$salesChanelId
)
: SalesChannelContext
{
$salesChannelEntity
=
new
SalesChannelEntity
(
)
;
$salesChannelEntity
->
setId
(
$salesChanelId
)
;
return
new
SalesChannelContext
(
Context::
createDefaultContext
(
)
,
'foo',
'bar',
$salesChannelEntity
,
new
CurrencyEntity
(
)
,
new
CustomerGroupEntity
(
)
,
new
TaxCollection
(
)
,
new
PaymentMethodEntity
(
)
,
new
ShippingMethodEntity
(
)
,
new
ShippingLocation
(
new
CountryEntity
(
)
, null, null
)
,
new
CustomerEntity
(
)
,
new
CashRoundingConfig
(
2, 0.01, true
)
,
new
CashRoundingConfig
(
2, 0.01, true
)
,
[
]
)
;
}
}
public
function
testPayloadPercentageMaxValueWithAdvancedPrices
(
)
: void
{
$currencyFactor
=
random_int
(
0,
mt_getrandmax
(
)
)
/
mt_getrandmax
(
)
;
$discount
=
new
PromotionDiscountEntity
(
)
;
$discount
->
setId
(
'D5'
)
;
$discount
->
setType
(
PromotionDiscountEntity::TYPE_PERCENTAGE
)
;
$discount
->
setValue
(
40
)
;
$discount
->
setMaxValue
(
30.0
)
;
$discount
->
setScope
(
PromotionDiscountEntity::SCOPE_CART
)
;
$currency
=
new
CurrencyEntity
(
)
;
$currency
->
setId
(
'currency'
)
;
$this
->salesChannelContext->
method
(
'getCurrency'
)
->
willReturn
(
$currency
)
;
$advancedPrice
=
new
PromotionDiscountPriceEntity
(
)
;
$advancedPrice
->
setUniqueIdentifier
(
Uuid::
randomHex
(
)
)
;
$advancedPrice
->
setCurrency
(
$currency
)
;
$advancedPrice
->
setCurrencyId
(
$currency
->
getId
(
)
)
;
$advancedPrice
->
setPrice
(
20
)
;
$discount
->
setPromotionDiscountPrices
(
new
PromotionDiscountPriceCollection
(
[
$advancedPrice
]
)
)
;
$builder
=
new
PromotionItemBuilder
(
)
;
$this
->decorated =
$this
->
createMock
(
AbstractProductDetailRoute::
class
)
;
$this
->cache =
$this
->
createMock
(
CacheInterface::
class
)
;
$this
->eventDispatcher =
new
EventDispatcher
(
)
;
$salesChannel
=
new
SalesChannelEntity
(
)
;
$salesChannel
->
setId
(
Uuid::
randomHex
(
)
)
;
$this
->context =
new
SalesChannelContext
(
new
Context
(
new
SalesChannelApiSource
(
Uuid::
randomHex
(
)
)
)
,
Uuid::
randomHex
(
)
,
null,
$salesChannel
,
new
CurrencyEntity
(
)
,
new
CustomerGroupEntity
(
)
,
new
TaxCollection
(
)
,
new
PaymentMethodEntity
(
)
,
new
ShippingMethodEntity
(
)
,
new
ShippingLocation
(
new
CountryEntity
(
)
, null, null
)
,
new
CustomerEntity
(
)
,
new
CashRoundingConfig
(
1, 1.1, true
)
,
new
CashRoundingConfig
(
1, 1.1, true
)
)
;
$this
->response =
new
ProductDetailRouteResponse
(
new
SalesChannelProductEntity
(
)
,
$salesChannelEntity
=
new
SalesChannelEntity
(
)
;
$salesChannelEntity
->
setId
(
'salesChannelId'
)
;
$salesChannelEntity
->
setNavigationCategoryId
(
'navigationCategoryId'
)
;
$salesChannelEntity
->
setServiceCategoryId
(
'serviceCategoryId'
)
;
$salesChannelEntity
->
setFooterCategoryId
(
'footerCategoryId'
)
;
return
new
SalesChannelContext
(
Context::
createDefaultContext
(
)
,
'foo',
'bar',
$salesChannelEntity
,
new
CurrencyEntity
(
)
,
new
CustomerGroupEntity
(
)
,
new
TaxCollection
(
)
,
new
PaymentMethodEntity
(
)
,
new
ShippingMethodEntity
(
)
,
new
ShippingLocation
(
new
CountryEntity
(
)
, null, null
)
,
new
CustomerEntity
(
)
,
new
CashRoundingConfig
(
2, 0.01, true
)
,
new
CashRoundingConfig
(
2, 0.01, true
)
,
[
]
)
;
}
}
$currencyFactor
=
random_int
(
0,
mt_getrandmax
(
)
)
/
mt_getrandmax
(
)
;
$standardDiscountValue
= 50;
$currencyDiscountValue
= 10;
$discount
=
new
PromotionDiscountEntity
(
)
;
$discount
->
setId
(
'D5'
)
;
$discount
->
setType
(
PromotionDiscountEntity::TYPE_ABSOLUTE
)
;
$discount
->
setValue
(
$standardDiscountValue
)
;
$discount
->
setScope
(
PromotionDiscountEntity::SCOPE_CART
)
;
$currency
=
new
CurrencyEntity
(
)
;
$currency
->
setId
(
'C1'
)
;
$advancedPrice
=
new
PromotionDiscountPriceEntity
(
)
;
$advancedPrice
->
setUniqueIdentifier
(
Uuid::
randomHex
(
)
)
;
$advancedPrice
->
setCurrency
(
$currency
)
;
$advancedPrice
->
setCurrencyId
(
$currency
->
getId
(
)
)
;
$advancedPrice
->
setPrice
(
$currencyDiscountValue
)
;
$advancedPricesCollection
=
new
PromotionDiscountPriceCollection
(
[
]
)
;
$advancedPricesCollection
->
add
(
$advancedPrice
)
;
$this
->decorated =
$this
->
createMock
(
AbstractShippingMethodRoute::
class
)
;
$this
->cache =
$this
->
createMock
(
CacheInterface::
class
)
;
$this
->eventDispatcher =
new
EventDispatcher
(
)
;
$salesChannel
=
new
SalesChannelEntity
(
)
;
$salesChannel
->
setId
(
Uuid::
randomHex
(
)
)
;
$this
->context =
new
SalesChannelContext
(
new
Context
(
new
SalesChannelApiSource
(
Uuid::
randomHex
(
)
)
)
,
Uuid::
randomHex
(
)
,
null,
$salesChannel
,
new
CurrencyEntity
(
)
,
new
CustomerGroupEntity
(
)
,
new
TaxCollection
(
)
,
new
PaymentMethodEntity
(
)
,
new
ShippingMethodEntity
(
)
,
new
ShippingLocation
(
new
CountryEntity
(
)
, null, null
)
,
new
CustomerEntity
(
)
,
new
CashRoundingConfig
(
1, 1.1, true
)
,
new
CashRoundingConfig
(
1, 1.1, true
)
)
;
$this
->response =
new
ShippingMethodRouteResponse
(
new
EntitySearchResult
(
static
::
assertEquals
(
[
$idC
]
,
$salesChannelContext
->
getRuleIdsByAreas
(
[
'd'
]
)
)
;
static
::
assertEquals
(
[
]
,
$salesChannelContext
->
getRuleIdsByAreas
(
[
'f'
]
)
)
;
}
private
function
getSalesChannelContext
(
)
: SalesChannelContext
{
return
new
SalesChannelContext
(
Context::
createDefaultContext
(
)
,
'foo',
'bar',
new
SalesChannelEntity
(
)
,
new
CurrencyEntity
(
)
,
new
CustomerGroupEntity
(
)
,
new
TaxCollection
(
)
,
new
PaymentMethodEntity
(
)
,
new
ShippingMethodEntity
(
)
,
new
ShippingLocation
(
new
CountryEntity
(
)
, null, null
)
,
new
CustomerEntity
(
)
,
new
CashRoundingConfig
(
2, 0.01, true
)
,
new
CashRoundingConfig
(
2, 0.01, true
)
)
;
}
}
$this
->executor =
$this
->
createMock
(
ScriptExecutor::
class
)
;
$salesChannel
=
new
SalesChannelEntity
(
)
;
$salesChannel
->
setId
(
Uuid::
randomHex
(
)
)
;
$salesChannel
->
setShippingMethodId
(
Uuid::
randomHex
(
)
)
;
$shippingMethod
=
new
ShippingMethodEntity
(
)
;
$shippingMethod
->
setId
(
$salesChannel
->
getShippingMethodId
(
)
)
;
$this
->context =
new
SalesChannelContext
(
new
Context
(
new
SalesChannelApiSource
(
Uuid::
randomHex
(
)
)
)
,
Uuid::
randomHex
(
)
,
null,
$salesChannel
,
new
CurrencyEntity
(
)
,
new
CustomerGroupEntity
(
)
,
new
TaxCollection
(
)
,
new
PaymentMethodEntity
(
)
,
$shippingMethod
,
new
ShippingLocation
(
new
CountryEntity
(
)
, null, null
)
,
new
CustomerEntity
(
)
,
new
CashRoundingConfig
(
1, 1.1, true
)
,
new
CashRoundingConfig
(
1, 1.1, true
)
,
)
;
$this
->response =
new
ShippingMethodRouteResponse
(
new
EntitySearchResult
(
static
::
assertInstanceOf
(
SalesChannelContext::
class
,
$retrievedSalesChannelContext
)
;
static
::
assertEquals
(
'foo',
$retrievedSalesChannelContext
->
getToken
(
)
)
;
}
private
function
createSalesChannelContext
(
)
: SalesChannelContext
{
return
new
SalesChannelContext
(
Context::
createDefaultContext
(
)
,
'foo',
'bar',
new
SalesChannelEntity
(
)
,
new
CurrencyEntity
(
)
,
new
CustomerGroupEntity
(
)
,
new
TaxCollection
(
)
,
new
PaymentMethodEntity
(
)
,
new
ShippingMethodEntity
(
)
,
new
ShippingLocation
(
new
CountryEntity
(
)
, null, null
)
,
new
CustomerEntity
(
)
,
new
CashRoundingConfig
(
2, 0.01, true
)
,
new
CashRoundingConfig
(
2, 0.01, true
)
)
;
}
}