Skip to content

Commit 6f83a10

Browse files
committed
MAGETWO-62627: [Backport] - Gift message appearing at product level when gift message is disable - for 2.0
1 parent a737da0 commit 6f83a10

File tree

7 files changed

+75
-110
lines changed

7 files changed

+75
-110
lines changed

app/code/Magento/GiftMessage/Model/GiftMessageConfigProvider.php

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -100,11 +100,10 @@ public function getConfig()
100100
GiftMessageHelper::XPATH_CONFIG_GIFT_MESSAGE_ALLOW_ITEMS,
101101
\Magento\Store\Model\ScopeInterface::SCOPE_STORE
102102
);
103-
if ($orderLevelGiftMessageConfiguration) {
104-
$orderMessages = $this->getOrderLevelGiftMessages();
105-
$configuration['isOrderLevelGiftOptionsEnabled'] = (bool)$this->isQuoteVirtual() ? false : true;
106-
$configuration['giftMessage']['orderLevel'] = $orderMessages === null ? true : $orderMessages->getData();
107-
}
103+
104+
$orderMessages = $this->getOrderLevelGiftMessages();
105+
$configuration['isOrderLevelGiftOptionsEnabled'] = $orderLevelGiftMessageConfiguration && ((bool)$this->isQuoteVirtual() ? false : true);
106+
$configuration['giftMessage']['orderLevel'] = $orderMessages === null ? true : $orderMessages->getData();
108107

109108
$itemMessages = $this->getItemLevelGiftMessages();
110109
$configuration['isItemLevelGiftOptionsEnabled'] = $itemLevelGiftMessageConfiguration;
@@ -186,6 +185,7 @@ protected function getItemLevelGiftMessages()
186185
$itemMessages[$itemId]['is_available'] = (bool)$isAvailable;
187186
}
188187
}
188+
189189
return count($itemMessages) === 0 ? null : $itemMessages;
190190
}
191191
}

app/code/Magento/GiftMessage/Test/Unit/Model/GiftMessageConfigProviderTest.php

Lines changed: 11 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -95,10 +95,11 @@ protected function setUp()
9595
}
9696

9797
/**
98-
* @param $productMessageAvailable
99-
* @param $messageData
100-
* @param $expectedItemLevel
98+
* @param null|string $productMessageAvailable
99+
* @param array $messageData
100+
* @param array $expectedItemLevel
101101
* @dataProvider getConfigDataProvider
102+
* @return void
102103
*/
103104
public function testGetConfig(
104105
$productMessageAvailable,
@@ -204,25 +205,25 @@ public function getConfigDataProvider()
204205
'productMessageAvailable' => null,
205206
'messageData' => $messageData,
206207
'expectedItemLevel' => [
207-
'message' => $messageData
208-
]
208+
'message' => $messageData,
209+
],
209210
],
210211
[
211212
'productMessageAvailable' => '0',
212213
'messageData' => $messageData,
213214
'expectedItemLevel' => [
214215
'message' => $messageData,
215-
'is_available' => false
216-
]
216+
'is_available' => false,
217+
],
217218
],
218219
[
219220
'productMessageAvailable' => '1',
220221
'messageData' => $messageData,
221222
'expectedItemLevel' => [
222223
'message' => $messageData,
223-
'is_available' => true
224-
]
225-
]
224+
'is_available' => true,
225+
],
226+
],
226227
];
227228
}
228229
}

dev/tests/integration/testsuite/Magento/GiftMessage/Helper/Message/QuoteItemTest.php

Lines changed: 12 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -10,11 +10,15 @@
1010
*/
1111
class QuoteItemTest extends \PHPUnit_Framework_TestCase
1212
{
13-
/** @var \Magento\Framework\ObjectManagerInterface */
14-
protected $objectManager;
13+
/**
14+
* @var \Magento\Framework\ObjectManagerInterface
15+
*/
16+
private $objectManager;
1517

16-
/** @var \Magento\Quote\Model\Quote\Item\ToOrderItem */
17-
protected $toOrderItem;
18+
/**
19+
* @var \Magento\Quote\Model\Quote\Item\ToOrderItem
20+
*/
21+
private $toOrderItem;
1822

1923
protected function setUp()
2024
{
@@ -29,6 +33,7 @@ protected function setUp()
2933
* @magentoDataFixture Magento/Bundle/_files/product.php
3034
* @magentoDataFixture Magento/GiftMessage/_files/simple_quote_using_product.php
3135
* @magentoConfigFixture default_store sales/gift_options/allow_items 0
36+
* @return void
3237
*/
3338
public function testMessageAvailableMatchesDefaultFalse()
3439
{
@@ -48,6 +53,7 @@ public function testMessageAvailableMatchesDefaultFalse()
4853
* @magentoDataFixture Magento/Bundle/_files/product.php
4954
* @magentoDataFixture Magento/GiftMessage/_files/simple_quote_using_product.php
5055
* @magentoConfigFixture default_store sales/gift_options/allow_items 1
56+
* @return void
5157
*/
5258
public function testMessageAvailableMatchesDefaultTrue()
5359
{
@@ -67,6 +73,7 @@ public function testMessageAvailableMatchesDefaultTrue()
6773
* @magentoDataFixture Magento/GiftMessage/_files/product_with_message_available.php
6874
* @magentoDataFixture Magento/GiftMessage/_files/simple_quote_using_product.php
6975
* @magentoConfigFixture default_store sales/gift_options/allow_items 0
76+
* @return void
7077
*/
7178
public function testMessageAvailable()
7279
{
@@ -86,6 +93,7 @@ public function testMessageAvailable()
8693
* @magentoDataFixture Magento/GiftMessage/_files/product_with_message_not_available.php
8794
* @magentoDataFixture Magento/GiftMessage/_files/simple_quote_using_product.php
8895
* @magentoConfigFixture default_store sales/gift_options/allow_items 1
96+
* @return void
8997
*/
9098
public function testMessageNotAvailable()
9199
{

dev/tests/integration/testsuite/Magento/GiftMessage/_files/product_with_message_available.php

Lines changed: 11 additions & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -9,27 +9,14 @@
99
\Magento\Catalog\Model\Product::class
1010
);
1111

12-
$product->setTypeId(
13-
'virtual'
14-
)->setId(
15-
1
16-
)->setAttributeSetId(
17-
4
18-
)->setName(
19-
'Simple Product'
20-
)->setSku(
21-
'simple'
22-
)->setPrice(
23-
10
24-
)->setStoreId(
25-
1
26-
)->setStockData(
27-
['use_config_manage_stock' => 1, 'qty' => 100, 'is_qty_decimal' => 0, 'is_in_stock' => 100]
28-
)->setVisibility(
29-
\Magento\Catalog\Model\Product\Visibility::VISIBILITY_BOTH
30-
)->setStatus(
31-
\Magento\Catalog\Model\Product\Attribute\Source\Status::STATUS_ENABLED
32-
)->setData(
33-
'gift_message_available',
34-
'1'
35-
)->save();
12+
$product->setTypeId('virtual')
13+
->setId(1)
14+
->setAttributeSetId(4)
15+
->setName('Simple Product')
16+
->setSku('simple')
17+
->setPrice(10)
18+
->setStoreId(1)
19+
->setStockData(['use_config_manage_stock' => 1, 'qty' => 100, 'is_qty_decimal' => 0, 'is_in_stock' => 100,])
20+
->setVisibility(\Magento\Catalog\Model\Product\Visibility::VISIBILITY_BOTH)
21+
->setStatus(\Magento\Catalog\Model\Product\Attribute\Source\Status::STATUS_ENABLED)
22+
->setData('gift_message_available', '1')->save();

dev/tests/integration/testsuite/Magento/GiftMessage/_files/product_with_message_not_available.php

Lines changed: 11 additions & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -9,27 +9,14 @@
99
\Magento\Catalog\Model\Product::class
1010
);
1111

12-
$product->setTypeId(
13-
'virtual'
14-
)->setId(
15-
1
16-
)->setAttributeSetId(
17-
4
18-
)->setName(
19-
'Simple Product'
20-
)->setSku(
21-
'simple'
22-
)->setPrice(
23-
10
24-
)->setStoreId(
25-
1
26-
)->setStockData(
27-
['use_config_manage_stock' => 1, 'qty' => 100, 'is_qty_decimal' => 0, 'is_in_stock' => 100]
28-
)->setVisibility(
29-
\Magento\Catalog\Model\Product\Visibility::VISIBILITY_BOTH
30-
)->setStatus(
31-
\Magento\Catalog\Model\Product\Attribute\Source\Status::STATUS_ENABLED
32-
)->setData(
33-
'gift_message_available',
34-
'0'
35-
)->save();
12+
$product->setTypeId('virtual')->setId(1)
13+
->setAttributeSetId(4)
14+
->setName('Simple Product')
15+
->setSku('simple')
16+
->setPrice(10)
17+
->setStoreId(1)
18+
->setStockData(['use_config_manage_stock' => 1, 'qty' => 100, 'is_qty_decimal' => 0, 'is_in_stock' => 100])
19+
->setVisibility(\Magento\Catalog\Model\Product\Visibility::VISIBILITY_BOTH)
20+
->setStatus(\Magento\Catalog\Model\Product\Attribute\Source\Status::STATUS_ENABLED)
21+
->setData('gift_message_available', '0')
22+
->save();

dev/tests/integration/testsuite/Magento/GiftMessage/_files/quote_with_null_message_available.php

Lines changed: 19 additions & 33 deletions
Original file line numberDiff line numberDiff line change
@@ -9,43 +9,29 @@
99
);
1010

1111
/** @var $product \Magento\Catalog\Model\Product */
12-
$product = \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->create('Magento\Catalog\Model\Product');
13-
$product->setTypeId(
14-
'virtual'
15-
)->setId(
16-
1
17-
)->setAttributeSetId(
18-
4
19-
)->setName(
20-
'Simple Product'
21-
)->setSku(
22-
'simple'
23-
)->setPrice(
24-
10
25-
)->setStoreId(
26-
1
27-
)->setStockData(
28-
['use_config_manage_stock' => 1, 'qty' => 100, 'is_qty_decimal' => 0, 'is_in_stock' => 100]
29-
)->setVisibility(
30-
\Magento\Catalog\Model\Product\Visibility::VISIBILITY_BOTH
31-
)->setStatus(
32-
\Magento\Catalog\Model\Product\Attribute\Source\Status::STATUS_ENABLED
33-
)->save();
12+
$product = \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->create(Magento\Catalog\Model\Product::class);
13+
$product->setTypeId('virtual')
14+
->setId(1)
15+
->setAttributeSetId(4)
16+
->setName('Simple Product')
17+
->setSku('simple')
18+
->setPrice(10)
19+
->setStoreId(1)
20+
->setStockData(['use_config_manage_stock' => 1, 'qty' => 100, 'is_qty_decimal' => 0, 'is_in_stock' => 100])
21+
->setVisibility(\Magento\Catalog\Model\Product\Visibility::VISIBILITY_BOTH)
22+
->setStatus(\Magento\Catalog\Model\Product\Attribute\Source\Status::STATUS_ENABLED)
23+
->save();
3424
$product->load(1);
3525

3626
/** @var $quote \Magento\Quote\Model\Quote */
37-
$quote = \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->create('Magento\Quote\Model\Quote');
27+
$quote = \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->create(\Magento\Quote\Model\Quote::class);
28+
$storeId = \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->get(
29+
\Magento\Store\Model\StoreManagerInterface::class
30+
)->getStore()->getId();
31+
$quoteItem = $quote->setStoreId($storeId)
32+
->setReservedOrderId('test01')
33+
->addProduct($product, 10);
3834

39-
$quoteItem = $quote->setStoreId(
40-
\Magento\TestFramework\Helper\Bootstrap::getObjectManager()->get(
41-
'Magento\Store\Model\StoreManagerInterface'
42-
)->getStore()->getId()
43-
)->setReservedOrderId(
44-
'test01'
45-
)->addProduct(
46-
$product,
47-
10
48-
);
4935
/** @var $quoteItem \Magento\Quote\Model\Quote\Item */
5036
$quoteItem->setQty(1);
5137
$quote->getPayment()->setMethod('checkmo');

dev/tests/integration/testsuite/Magento/GiftMessage/_files/simple_quote_using_product.php

Lines changed: 6 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -11,17 +11,13 @@
1111

1212
/** @var $quote \Magento\Quote\Model\Quote */
1313
$quote = \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->create(\Magento\Quote\Model\Quote::class);
14+
$storeId = \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->get(
15+
\Magento\Store\Model\StoreManagerInterface::class
16+
)->getStore()->getId();
1417

15-
$quoteItem = $quote->setStoreId(
16-
\Magento\TestFramework\Helper\Bootstrap::getObjectManager()->get(
17-
\Magento\Store\Model\StoreManagerInterface::class
18-
)->getStore()->getId()
19-
)->setReservedOrderId(
20-
'test01'
21-
)->addProduct(
22-
$product,
23-
10
24-
);
18+
$quoteItem = $quote->setStoreId($storeId)
19+
->setReservedOrderId('test01')
20+
->addProduct($product, 10);
2521
/** @var $quoteItem \Magento\Quote\Model\Quote\Item */
2622
$quoteItem->setQty(1);
2723
$quote->getPayment()->setMethod('checkmo');

0 commit comments

Comments
 (0)