Skip to content

Commit

Permalink
Adapt coupon basket decorator keys
Browse files Browse the repository at this point in the history
  • Loading branch information
aimeos committed Jun 6, 2021
1 parent 29143b2 commit 0e978bf
Show file tree
Hide file tree
Showing 2 changed files with 23 additions and 23 deletions.
16 changes: 8 additions & 8 deletions lib/mshoplib/src/MShop/Coupon/Provider/Decorator/Basket.php
Expand Up @@ -23,18 +23,18 @@ class Basket
implements \Aimeos\MShop\Coupon\Provider\Decorator\Iface
{
private $beConfig = array(
'basketvalues.total-value-min' => array(
'code' => 'basketvalues.total-value-min',
'internalcode' => 'basketvalues.total-value-min',
'basket.total-value-min' => array(
'code' => 'basket.total-value-min',
'internalcode' => 'basket.total-value-min',
'label' => 'Minimum total value of the basket',
'type' => 'map',
'internaltype' => 'array',
'default' => [],
'required' => false,
),
'basketvalues.total-value-max' => array(
'code' => 'basketvalues.total-value-max',
'internalcode' => 'basketvalues.total-value-max',
'basket.total-value-max' => array(
'code' => 'basket.total-value-max',
'internalcode' => 'basket.total-value-max',
'label' => 'Maximum total value of the basket',
'type' => 'map',
'internaltype' => 'array',
Expand Down Expand Up @@ -81,13 +81,13 @@ public function isAvailable( \Aimeos\MShop\Order\Item\Base\Iface $base ) : bool
$currency = $price->getCurrencyId();
$value = $price->getValue() + $price->getRebate();

$minvalue = $this->getConfigValue( 'basketvalues.total-value-min', [] );
$minvalue = $this->getConfigValue( 'basket.total-value-min', [] );

if( isset( $minvalue[$currency] ) && $minvalue[$currency] > $value ) {
return false;
}

$maxvalue = $this->getConfigValue( 'basketvalues.total-value-max', [] );
$maxvalue = $this->getConfigValue( 'basket.total-value-max', [] );

if( isset( $maxvalue[$currency] ) && $maxvalue[$currency] < $value ) {
return false;
Expand Down
30 changes: 15 additions & 15 deletions lib/mshoplib/tests/MShop/Coupon/Provider/Decorator/BasketTest.php
Expand Up @@ -68,40 +68,40 @@ public function testGetConfigBE()
{
$result = $this->object->getConfigBE();

$this->assertArrayHasKey( 'basketvalues.total-value-min', $result );
$this->assertArrayHasKey( 'basketvalues.total-value-max', $result );
$this->assertArrayHasKey( 'basket.total-value-min', $result );
$this->assertArrayHasKey( 'basket.total-value-max', $result );
}


public function testCheckConfigBE()
{
$attributes = [
'basketvalues.total-value-min' => ['EUR' => '10.5'],
'basketvalues.total-value-max' => ['EUR' => '100'],
'basket.total-value-min' => ['EUR' => '10.5'],
'basket.total-value-max' => ['EUR' => '100'],
];
$result = $this->object->checkConfigBE( $attributes );

$this->assertEquals( 2, count( $result ) );
$this->assertNull( $result['basketvalues.total-value-min'] );
$this->assertNull( $result['basketvalues.total-value-max'] );
$this->assertNull( $result['basket.total-value-min'] );
$this->assertNull( $result['basket.total-value-max'] );
}


public function testCheckConfigBEFailure()
{
$result = $this->object->checkConfigBE( ['basketvalues.total-value-min' => '10.5'] );
$result = $this->object->checkConfigBE( ['basket.total-value-min' => '10.5'] );

$this->assertEquals( 2, count( $result ) );
$this->assertIsString( $result['basketvalues.total-value-min'] );
$this->assertNull( $result['basketvalues.total-value-max'] );
$this->assertIsString( $result['basket.total-value-min'] );
$this->assertNull( $result['basket.total-value-max'] );
}


public function testIsAvailable()
{
$config = array(
'basketvalues.total-value-min' => array( 'EUR' => 320 ),
'basketvalues.total-value-max' => array( 'EUR' => 1000 ),
'basket.total-value-min' => array( 'EUR' => 320 ),
'basket.total-value-max' => array( 'EUR' => 1000 ),
);

$this->couponItem->setConfig( $config );
Expand All @@ -114,8 +114,8 @@ public function testIsAvailable()
public function testIsAvailableTestMinValue()
{
$config = array(
'basketvalues.total-value-min' => array( 'EUR' => 700 ),
'basketvalues.total-value-max' => array( 'EUR' => 1000 ),
'basket.total-value-min' => array( 'EUR' => 700 ),
'basket.total-value-max' => array( 'EUR' => 1000 ),
);

$this->couponItem->setConfig( $config );
Expand All @@ -128,8 +128,8 @@ public function testIsAvailableTestMinValue()
public function testIsAvailableTestMaxValue()
{
$config = array(
'basketvalues.total-value-min' => array( 'EUR' => 50 ),
'basketvalues.total-value-max' => array( 'EUR' => 320 ),
'basket.total-value-min' => array( 'EUR' => 50 ),
'basket.total-value-max' => array( 'EUR' => 320 ),
);

$this->couponItem->setConfig( $config );
Expand Down

0 comments on commit 0e978bf

Please sign in to comment.