Skip to content

Commit aaaa23d

Browse files
committed
Merge remote-tracking branch 'origin/MAGETWO-99460' into 2.3-develop-pr24
2 parents 3db84d2 + 757a545 commit aaaa23d

File tree

4 files changed

+87
-2
lines changed

4 files changed

+87
-2
lines changed

app/code/Magento/Sales/Model/Order/Config.php

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -181,7 +181,7 @@ protected function maskStatusForArea($area, $code)
181181
/**
182182
* State label getter
183183
*
184-
* @param string $state
184+
* @param string $state
185185
* @return \Magento\Framework\Phrase|string
186186
*/
187187
public function getStateLabel($state)
@@ -213,7 +213,7 @@ public function getStates()
213213
{
214214
$states = [];
215215
foreach ($this->_getCollection() as $item) {
216-
if ($item->getState()) {
216+
if ($item->getState() && $item->getIsDefault()) {
217217
$states[$item->getState()] = __($item->getData('label'));
218218
}
219219
}
Lines changed: 53 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,53 @@
1+
<?php
2+
/**
3+
* Copyright © Magento, Inc. All rights reserved.
4+
* See COPYING.txt for license details.
5+
*/
6+
declare(strict_types=1);
7+
8+
namespace Magento\Sales\Model\Order;
9+
10+
use Magento\TestFramework\Helper\Bootstrap;
11+
use Magento\TestFramework\ObjectManager;
12+
13+
/**
14+
* Test class for \Magento\Sales\Model\Order\Config
15+
*/
16+
class ConfigTest extends \PHPUnit\Framework\TestCase
17+
{
18+
/**
19+
* @var ObjectManager
20+
*/
21+
private $objectManager;
22+
23+
/**
24+
* @var Config
25+
*/
26+
private $orderConfig;
27+
28+
/**
29+
* @inheritdoc
30+
*/
31+
protected function setUp()
32+
{
33+
$this->objectManager = Bootstrap::getObjectManager();
34+
$this->orderConfig = $this->objectManager->create(Config::class);
35+
}
36+
37+
/**
38+
* Correct display of the list of "Order States" after assigning
39+
* the state "complete" to a custom order status.
40+
*
41+
* @magentoDataFixture Magento/Sales/_files/order_status_assign_state_complete.php
42+
*/
43+
public function testCorrectCompleteStatusInStatesList()
44+
{
45+
$allStates = $this->orderConfig->getStates();
46+
/** @var Status $completeStatus */
47+
$completeStatus = $this->objectManager->create(Status::class)
48+
->load(\Magento\Sales\Model\Order::STATE_COMPLETE);
49+
$completeState = $allStates[$completeStatus->getStatus()];
50+
51+
$this->assertEquals($completeStatus->getLabel(), $completeState->getText());
52+
}
53+
}
Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,18 @@
1+
<?php
2+
/**
3+
* Copyright © Magento, Inc. All rights reserved.
4+
* See COPYING.txt for license details.
5+
*/
6+
declare(strict_types=1);
7+
8+
use Magento\Sales\Model\Order\Status;
9+
use Magento\TestFramework\Helper\Bootstrap;
10+
11+
/** @var Status $orderStatus */
12+
$orderStatus = Bootstrap::getObjectManager()->create(Status::class);
13+
$data = [
14+
'status' => 'custom_complete',
15+
'label' => 'Custom Complete Status',
16+
];
17+
$orderStatus->setData($data)->save();
18+
$orderStatus->assignState(\Magento\Sales\Model\Order::STATE_COMPLETE, false, true);
Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,14 @@
1+
<?php
2+
/**
3+
* Copyright © Magento, Inc. All rights reserved.
4+
* See COPYING.txt for license details.
5+
*/
6+
declare(strict_types=1);
7+
8+
use Magento\Sales\Model\Order\Status;
9+
use Magento\TestFramework\Helper\Bootstrap;
10+
11+
/** @var Status $orderStatus */
12+
$orderStatus = Bootstrap::getObjectManager()->create(Status::class);
13+
$orderStatus->load('custom_complete', 'status');
14+
$orderStatus->delete();

0 commit comments

Comments
 (0)