Code
Explorer
You are a developer and looking for Shopware projects?
Apply Now!
getAmountTotal example
static
::
assertSame
(
$serialized
[
'deliveries'
]
[
'shippingOrderAddress'
]
[
'city'
]
,
$shippingAddress
->
getCity
(
)
)
;
static
::
assertSame
(
$serialized
[
'deliveries'
]
[
'shippingOrderAddress'
]
[
'company'
]
,
$shippingAddress
->
getCompany
(
)
)
;
static
::
assertSame
(
$serialized
[
'deliveries'
]
[
'shippingOrderAddress'
]
[
'department'
]
,
$shippingAddress
->
getDepartment
(
)
)
;
static
::
assertSame
(
$serialized
[
'deliveries'
]
[
'shippingOrderAddress'
]
[
'countryId'
]
,
$shippingAddress
->
getCountryId
(
)
)
;
static
::
assertSame
(
$serialized
[
'deliveries'
]
[
'shippingOrderAddress'
]
[
'countryStateId'
]
,
$shippingAddress
->
getCountryStateId
(
)
)
;
static
::
assertNotNull
(
$lineItems
=
$order
->
getLineItems
(
)
)
;
static
::
assertNotNull
(
$lineItem
=
$lineItems
->
first
(
)
)
;
static
::
assertSame
(
$serialized
[
'lineItems'
]
, '1x ' .
$lineItem
->
getProductId
(
)
)
;
static
::
assertSame
(
$serialized
[
'amountTotal'
]
,
$order
->
getAmountTotal
(
)
)
;
static
::
assertSame
(
$serialized
[
'stateId'
]
,
$order
->
getStateId
(
)
)
;
static
::
assertSame
(
$serialized
[
'orderDateTime'
]
,
$order
->
getOrderDateTime
(
)
->
format
(
'Y-m-d\Th:i:s.vP'
)
)
;
}
private
function
createOrder
(
)
: OrderEntity
{
// create product
$productId
= Uuid::
randomHex
(
)
;
$product
=
$this
->
getProductData
(
$productId
)
;
/** @var EntityRepository $productRepository */
'config' =>
[
'displayHeader' => true,
'documentDate' =>
$documentDate
,
]
,
]
)
;
}
,
function
DRenderedDocument
$rendered
, OrderEntity
$order
, ContainerInterface
$container
)
: void
{
static
::
assertNotNull
(
$order
->
getCurrency
(
)
)
;
static
::
assertStringContainsString
(
$container
->
get
(
CurrencyFormatter::
class
)
->
formatCurrencyByLanguage
(
$order
->
getAmountTotal
(
)
,
$order
->
getCurrency
(
)
->
getIsoCode
(
)
,
Context::
createDefaultContext
(
)
->
getLanguageId
(
)
,
Context::
createDefaultContext
(
)
,
)
,
$rendered
->
getHtml
(
)
)
;
static
::
assertNotNull
(
$locale
=
$order
->
getLanguage
(
)
->
getLocale
(
)
)
;
$formatter
=
new
\
IntlDateFormatter
(
$locale
->
getCode
(
)
, \IntlDateFormatter::MEDIUM, \IntlDateFormatter::NONE
)
;
$formattedDate
=
$formatter
->
format
(
new
\
DateTime
(
)
)
;
}
static
::
assertNotNull
(
$product
)
;
static
::
assertNotNull
(
$product
->
getPrice
(
)
)
;
$productPriceInclTax
= 10 +
(
$productPrice
*
$productTaxRate
/ 100
)
;
static
::
assertSame
(
$product
->
getPrice
(
)
->
getUnitPrice
(
)
,
$productPriceInclTax
)
;
/** @var TaxRule $taxRule */
$taxRule
=
$product
->
getPrice
(
)
->
getTaxRules
(
)
->
first
(
)
;
static
::
assertSame
(
$taxRule
->
getTaxRate
(
)
,
$productTaxRate
)
;
static
::
assertNotNull
(
$order
->
getAmountTotal
(
)
)
;
static
::
assertEquals
(
$oldTotal
+
$productPriceInclTax
,
$order
->
getAmountTotal
(
)
)
;
}
public
function
testAddProductToOrderTriggersStockUpdate
(
)
: void
{
// create order
$cart
=
$this
->
generateDemoCart
(
)
;
$order
=
$this
->
persistCart
(
$cart
)
;
$orderId
=
$order
[
'orderId'
]
;
$oldTotal
=
$order
[
'total'
]
;
foreach
(
$order
->
getLineItems
(
)
??
[
]
as
$lineItem
)
{
$lineItem
->
setUnitPrice
(
$lineItem
->
getUnitPrice
(
)
/ -1
)
;
$lineItem
->
setTotalPrice
(
$lineItem
->
getTotalPrice
(
)
/ -1
)
;
}
foreach
(
$order
->
getPrice
(
)
->
getCalculatedTaxes
(
)
->
sortByTax
(
)
->
getElements
(
)
as
$tax
)
{
$tax
->
setTax
(
$tax
->
getTax
(
)
/ -1
)
;
}
$order
->
setShippingTotal
(
$order
->
getShippingTotal
(
)
/ -1
)
;
$order
->
setAmountNet
(
$order
->
getAmountNet
(
)
/ -1
)
;
$order
->
setAmountTotal
(
$order
->
getAmountTotal
(
)
/ -1
)
;
return
$order
;
}
private
function
getNumber
(
Context
$context
, OrderEntity
$order
, DocumentGenerateOperation
$operation
)
: string
{
return
$this
->numberRangeValueGenerator->
getValue
(
'document_' . self::TYPE,
$context
,
$order
->
getSalesChannelId
(
)
,
$operation
->
isPreview
(
)
)
;