Code
Explorer
You are a developer and looking for Shopware projects?
Apply Now!
CustomerGroupEntity example
public
function
testGetDecoratedShouldThrowException
(
)
: void
{
static
::
expectException
(
DecorationPatternException::
class
)
;
$this
->searchIndexer->
getDecorated
(
)
;
}
public
function
testGlobalData
(
)
: void
{
$context
= Context::
createDefaultContext
(
)
;
$repository
=
$this
->
createMock
(
EntityRepository::
class
)
;
$customerGroup
=
new
CustomerGroupEntity
(
)
;
$customerGroup
->
setUniqueIdentifier
(
Uuid::
randomHex
(
)
)
;
$repository
->
method
(
'search'
)
->
willReturn
(
new
EntitySearchResult
(
'customer_group',
1,
new
EntityCollection
(
[
$customerGroup
]
)
,
null,
new
Criteria
(
)
,
$context
)
)
;
$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
)
,
)
;
}
}
$context
->
setTaxState
(
$order
->
getTaxStatus
(
)
)
;
$salesChannel
=
new
SalesChannelEntity
(
)
;
$salesChannel
->
setId
(
Uuid::
randomHex
(
)
)
;
return
new
SalesChannelContext
(
Context::
createDefaultContext
(
)
,
'foo',
'bar',
$salesChannel
,
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
__construct
(
)
{
$source
=
new
SalesChannelApiSource
(
TestDefaults::SALES_CHANNEL
)
;
parent::
__construct
(
new
Context
(
$source
,
[
]
, Defaults::CURRENCY,
[
Defaults::LANGUAGE_SYSTEM
]
, Defaults::LIVE_VERSION, 1.0, true, CartPrice::TAX_STATE_GROSS
)
,
'token',
'domain-id',
(
new
SalesChannelEntity
(
)
)
->
assign
(
[
'id' => TestDefaults::SALES_CHANNEL
]
)
,
(
new
CurrencyEntity
(
)
)
->
assign
(
[
'id' => Defaults::CURRENCY
]
)
,
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
)
,
[
]
)
;
}
$salesChannel
=
new
SalesChannelEntity
(
)
;
$salesChannel
->
setId
(
Uuid::
randomHex
(
)
)
;
$salesChannel
->
setPaymentMethodId
(
Uuid::
randomHex
(
)
)
;
$paymentMethod
=
new
PaymentMethodEntity
(
)
;
$paymentMethod
->
setId
(
$salesChannel
->
getPaymentMethodId
(
)
)
;
$this
->context =
new
SalesChannelContext
(
new
Context
(
new
SalesChannelApiSource
(
Uuid::
randomHex
(
)
)
)
,
Uuid::
randomHex
(
)
,
null,
$salesChannel
,
new
CurrencyEntity
(
)
,
new
CustomerGroupEntity
(
)
,
new
TaxCollection
(
)
,
$paymentMethod
,
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
(
'entity',
protected
function
setUp
(
)
: void
{
$this
->request =
new
Request
(
)
;
$this
->salesChannelEntity =
new
SalesChannelEntity
(
)
;
$this
->salesChannelEntity->
setId
(
Uuid::
randomHex
(
)
)
;
$this
->context =
new
SalesChannelContext
(
new
Context
(
new
SalesChannelApiSource
(
Uuid::
randomHex
(
)
)
)
,
Uuid::
randomHex
(
)
,
null,
$this
->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
->defaultEvent =
new
StoreApiRouteCacheKeyEvent
(
[
]
,
$this
->request,
$this
->context, null
)
;
}
$country
=
new
CountryEntity
(
)
;
$country
->
setUniqueIdentifier
(
$countryId
)
;
$country
->
setId
(
$countryId
)
;
$paymentMethod
=
new
PaymentMethodEntity
(
)
;
$paymentMethod
->
setUniqueIdentifier
(
$paymentMethodId
)
;
$shippingMethod
=
new
ShippingMethodEntity
(
)
;
$shippingMethod
->
setUniqueIdentifier
(
$shippingMethodId
)
;
$salesChannelEntity
->
setShippingMethod
(
$shippingMethod
)
;
$customerGroup
=
new
CustomerGroupEntity
(
)
;
$customerGroup
->
setUniqueIdentifier
(
$customerGroupId
)
;
yield
'no context data' =>
[
'options' =>
[
]
,
'fetchDataResult' => false,
'fetchParentLanguageResult' => false,
'entitySearchResult' =>
[
]
,
'exceptionMessage' =>
sprintf
(
'No context data found for SalesChannel "%s"', TestDefaults::SALES_CHANNEL
)
,
]
;
yield
'provided language not available' =>
[
$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
)
,
[
]
)
;
}
}
static
::
assertInstanceOf
(
CheckoutRegisterPageLoadedHook::
class
,
$this
->controller->calledHook
)
;
}
public
function
testCustomerGroupRegistration
(
)
: void
{
$context
= Generator::
createSalesChannelContext
(
)
;
$context
->
assign
(
[
'customer' => null
]
)
;
$request
=
new
Request
(
)
;
$request
->attributes->
set
(
'_route', 'frontend.account.customer-group-registration.page'
)
;
$dataBag
=
new
RequestDataBag
(
)
;
$page
=
new
CustomerGroupRegistrationPage
(
)
;
$page
->
setGroup
(
new
CustomerGroupEntity
(
)
)
;
$customerGroupId
= Uuid::
randomHex
(
)
;
$this
->customerGroupRegistrationPageLoader->
expects
(
static
::
once
(
)
)
->
method
(
'load'
)
->
with
(
$request
,
$context
)
->
willReturn
(
$page
)
;
$this
->controller->
customerGroupRegistration
(
$customerGroupId
,
$request
,
$dataBag
,
$context
)
;
static
::
assertSame
(
$page
,
$this
->controller->renderStorefrontParameters
[
'page'
]
)
;
static
::
assertSame
(
$dataBag
,
$this
->controller->renderStorefrontParameters
[
'data'
]
)
;
$this
->decorated =
$this
->
createMock
(
AbstractLandingPageRoute::
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
LandingPageRouteResponse
(
new
LandingPageEntity
(
)
)
;
public
function
testRestoreEmptyStored
(
)
: void
{
$storable
=
new
StorableFlow
(
'name', Context::
createDefaultContext
(
)
)
;
$this
->storer->
restore
(
$storable
)
;
static
::
assertEmpty
(
$storable
->
data
(
)
)
;
}
public
function
testLoadEntity
(
)
: void
{
Feature::
skipTestIfActive
(
'v6.6.0.0',
$this
)
;
$entity
=
new
CustomerGroupEntity
(
)
;
$result
=
$this
->
createMock
(
EntitySearchResult::
class
)
;
$result
->
expects
(
static
::
once
(
)
)
->
method
(
'get'
)
->
willReturn
(
$entity
)
;
$this
->repository->
expects
(
static
::
once
(
)
)
->
method
(
'search'
)
->
willReturn
(
$result
)
;
$customerGroup
=
$this
->storer->
load
(
[
'3443', Context::
createDefaultContext
(
)
]
)
;
static
::
assertEquals
(
$customerGroup
,
$entity
)
;
}
public
function
testLoadNullEntity
(
)
: void
{
$this
->decorated =
$this
->
createMock
(
AbstractCountryStateRoute::
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
CountryStateRouteResponse
(
new
EntitySearchResult
(
'entity',
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
)
)
;
}
}
$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
(
'entity',
/** * @internal */
class
TaxDetectorTest
extends
TestCase
{
use
IntegrationTestBehaviour;
public
function
testUseGrossPrices
(
)
: void
{
$context
=
$this
->
createMock
(
SalesChannelContext::
class
)
;
$customerGroup
=
new
CustomerGroupEntity
(
)
;
$customerGroup
->
setDisplayGross
(
true
)
;
$context
->
expects
(
static
::
once
(
)
)
->
method
(
'getCurrentCustomerGroup'
)
->
willReturn
(
$customerGroup
)
;
$detector
=
$this
->
getContainer
(
)
->
get
(
TaxDetector::
class
)
;
static
::
assertTrue
(
$detector
->
useGross
(
$context
)
)
;
}
public
function
testDoNotUseGrossPrices
(
)
: void
{
$context
=
$this
->
createMock
(
SalesChannelContext::
class
)
;
$customerGroup
=
new
CustomerGroupEntity
(
)
;