![]() Server : Apache System : Linux server2.corals.io 4.18.0-348.2.1.el8_5.x86_64 #1 SMP Mon Nov 15 09:17:08 EST 2021 x86_64 User : corals ( 1002) PHP Version : 7.4.33 Disable Function : exec,passthru,shell_exec,system Directory : /home/corals/old/dev/tests/integration/testsuite/Magento/Customer/Model/ |
<?php /** * Copyright © Magento, Inc. All rights reserved. * See COPYING.txt for license details. */ namespace Magento\Customer\Model; use Magento\Store\Model\ScopeInterface; use Magento\TestFramework\Helper\Bootstrap; /** * Test for Magento\Customer\Model\GroupManagement */ class GroupManagementTest extends \PHPUnit\Framework\TestCase { /** * @var \Magento\Framework\ObjectManagerInterface */ protected $objectManager; /** * @var \Magento\Customer\Api\GroupManagementInterface */ protected $groupManagement; protected function setUp(): void { $this->objectManager = Bootstrap::getObjectManager(); $this->groupManagement = $this->objectManager->get(\Magento\Customer\Api\GroupManagementInterface::class); } /** * @param $testGroup * @param $storeId * * @dataProvider getDefaultGroupDataProvider */ public function testGetDefaultGroupWithStoreId($testGroup, $storeId) { $this->assertDefaultGroupMatches($testGroup, $storeId); } /** * @magentoDataFixture Magento/Store/_files/core_second_third_fixturestore.php */ public function testGetDefaultGroupWithNonDefaultStoreId() { /** @var \Magento\Store\Model\StoreManagerInterface $storeManager */ $storeManager = Bootstrap::getObjectManager()->get(\Magento\Store\Model\StoreManagerInterface::class); $nonDefaultStore = $storeManager->getStore('secondstore'); $nonDefaultStoreId = $nonDefaultStore->getId(); /** @var \Magento\Framework\App\MutableScopeConfig $scopeConfig */ $scopeConfig = $this->objectManager->get(\Magento\Framework\App\MutableScopeConfig::class); $scopeConfig->setValue( \Magento\Customer\Model\GroupManagement::XML_PATH_DEFAULT_ID, 2, ScopeInterface::SCOPE_STORE, 'secondstore' ); $testGroup = ['id' => 2, 'code' => 'Wholesale', 'tax_class_id' => 3, 'tax_class_name' => 'Retail Customer']; $this->assertDefaultGroupMatches($testGroup, $nonDefaultStoreId); } /** */ public function testGetDefaultGroupWithInvalidStoreId() { $this->expectException(\Magento\Framework\Exception\NoSuchEntityException::class); $storeId = 1234567; $this->groupManagement->getDefaultGroup($storeId); } public function testIsReadonlyWithGroupId() { $testGroup = ['id' => 3, 'code' => 'General', 'tax_class_id' => 3, 'tax_class_name' => 'Retail Customer']; $this->assertFalse($this->groupManagement->isReadonly($testGroup['id'])); } /** */ public function testIsReadonlyWithInvalidGroupId() { $this->expectException(\Magento\Framework\Exception\NoSuchEntityException::class); $testGroup = ['id' => 4, 'code' => 'General', 'tax_class_id' => 3, 'tax_class_name' => 'Retail Customer']; $this->groupManagement->isReadonly($testGroup['id']); } public function testGetNotLoggedInGroup() { $notLoggedInGroup = $this->groupManagement->getNotLoggedInGroup(); $this->assertEquals(GroupManagement::NOT_LOGGED_IN_ID, $notLoggedInGroup->getId()); } public function testGetLoggedInGroups() { $loggedInGroups = $this->groupManagement->getLoggedInGroups(); foreach ($loggedInGroups as $group) { $this->assertNotEquals(GroupManagement::NOT_LOGGED_IN_ID, $group->getId()); $this->assertNotEquals(GroupManagement::CUST_GROUP_ALL, $group->getId()); } } public function testGetAllGroup() { $allGroup = $this->groupManagement->getAllCustomersGroup(); $this->assertEquals(32000, $allGroup->getId()); } /** * @return array */ public function getDefaultGroupDataProvider() { /** @var \Magento\Store\Model\StoreManagerInterface $storeManager */ $storeManager = Bootstrap::getObjectManager()->get(\Magento\Store\Model\StoreManagerInterface::class); $defaultStoreId = $storeManager->getStore()->getId(); return [ 'no store id' => [ ['id' => 1, 'code' => 'General', 'tax_class_id' => 3, 'tax_class_name' => 'Retail Customer'], null, ], 'default store id' => [ ['id' => 1, 'code' => 'General', 'tax_class_id' => 3, 'tax_class_name' => 'Retail Customer'], $defaultStoreId, ], ]; } /** * @param $testGroup * @param $storeId */ private function assertDefaultGroupMatches($testGroup, $storeId) { $group = $this->groupManagement->getDefaultGroup($storeId); $this->assertEquals($testGroup['id'], $group->getId()); $this->assertEquals($testGroup['code'], $group->getCode()); $this->assertEquals($testGroup['tax_class_id'], $group->getTaxClassId()); $this->assertEquals($testGroup['tax_class_name'], $group->getTaxClassName()); } }