[ 'adminhtml', 'Example', ], 'store view label' => [ 'frontend', 'Store view example', ], ]; } /** * In the backend the regular label must be showed. * * @param $area * @param $result * * @magentoDataFixture Magento/Sales/_files/order_status.php * @dataProvider theCorrectLabelIsUsedDependingOnTheAreaProvider */ public function testTheCorrectLabelIsUsedDependingOnTheArea($area, $result) { $objectManager = Bootstrap::getObjectManager(); $objectManager->get(State::class)->setAreaCode($area); /** @var \Magento\Sales\Model\Order $order */ $order = $objectManager->create(\Magento\Sales\Model\Order::class); $order->loadByIncrementId('100000001'); $this->assertEquals($result, $order->getStatusLabel()); } /** * Tests that specified order status frontend label for store should be displayed correctly * * @magentoDataFixture Magento/Sales/_files/order_status_with_different_labels.php */ public function testTheCorrectLabelIsUsedDependingOnTheStore() { $objectManager = Bootstrap::getObjectManager(); $objectManager->get(State::class)->setAreaCode('frontend'); $orderFactory = $objectManager->get(OrderInterfaceFactory::class); $order = $orderFactory->create()->loadByIncrementId('100000001'); $this->assertEquals('Custom status label', $order->getFrontendStatusLabel()); $order->setStoreId(1); $order->save(); $this->assertEquals(1, $order->getStoreId()); $this->assertEquals('First store label', $order->getFrontendStatusLabel()); } }