Skip to content

Commit 9b6d9d0

Browse files
committed
[Directory] Cover action directory/json/countryRegion by Integration Test
1 parent 1ad65a3 commit 9b6d9d0

File tree

3 files changed

+113
-0
lines changed

3 files changed

+113
-0
lines changed
Lines changed: 50 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,50 @@
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\Directory\Controller\Adminhtml\Json;
9+
10+
use Magento\Framework\App\Request\Http as HttpRequest;
11+
use Magento\TestFramework\TestCase\AbstractBackendController;
12+
13+
/**
14+
* @magentoAppArea adminhtml
15+
*/
16+
class CountryRegionTest extends AbstractBackendController
17+
{
18+
/**
19+
* Test Execute without param
20+
*/
21+
public function testExecuteWithNoCountryParam()
22+
{
23+
$this->getRequest()->setMethod(HttpRequest::METHOD_POST);
24+
$this->getRequest()->setPostValue([]);
25+
$this->dispatch('backend/directory/json/countryRegion');
26+
27+
$actual = $this->getResponse()->getBody();
28+
29+
$this->assertEquals('[]', $actual);
30+
}
31+
32+
/**
33+
* Test Execute with region in the fixture
34+
*
35+
* @magentoDataFixture Magento/Directory/_files/example_region_in_country.php
36+
*/
37+
public function testExecute()
38+
{
39+
$this->getRequest()->setMethod(HttpRequest::METHOD_POST);
40+
$this->getRequest()->setPostValue([
41+
'parent' => 'WW'
42+
]);
43+
$this->dispatch('backend/directory/json/countryRegion');
44+
45+
$actual = $this->getResponse()->getBody();
46+
47+
$this->assertContains('Example Region 1', $actual);
48+
$this->assertContains('Example Region 2', $actual);
49+
}
50+
}
Lines changed: 37 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,37 @@
1+
<?php
2+
/**
3+
* Copyright © Magento, Inc. All rights reserved.
4+
* See COPYING.txt for license details.
5+
*/
6+
7+
declare(strict_types=1);
8+
9+
use Magento\TestFramework\Helper\Bootstrap;
10+
use Magento\Directory\Model\Region as RegionModel;
11+
use Magento\Directory\Model\ResourceModel\Region as RegionResource;
12+
13+
$objectManager = Bootstrap::getObjectManager();
14+
15+
$regionData = [
16+
[
17+
'country_id' => 'WW',
18+
'code' => 'ER1',
19+
'default_name' => 'Example Region 1'
20+
],
21+
[
22+
'country_id' => 'WW',
23+
'code' => 'ER2',
24+
'default_name' => 'Example Region 2'
25+
]
26+
];
27+
28+
/** @var RegionModel $region */
29+
$region = $objectManager->create(RegionModel::class);
30+
/** @var RegionResource $regionResource */
31+
$regionResource = $objectManager->get(RegionResource::class);
32+
33+
foreach ($regionData as $data) {
34+
/** @var RegionModel $region */
35+
$region = $objectManager->create(RegionModel::class);
36+
$regionResource->save($region);
37+
}
Lines changed: 26 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,26 @@
1+
<?php
2+
/**
3+
* Copyright © Magento, Inc. All rights reserved.
4+
* See COPYING.txt for license details.
5+
*/
6+
7+
declare(strict_types=1);
8+
9+
use Magento\TestFramework\Helper\Bootstrap;
10+
use Magento\Directory\Model\Region as RegionModel;
11+
use Magento\Directory\Model\ResourceModel\Region as RegionResource;
12+
use Magento\Directory\Model\ResourceModel\Region\Collection as RegionResourceCollection;
13+
14+
$objectManager = Bootstrap::getObjectManager();
15+
$regionCode = ['ER1', 'ER2'];
16+
17+
/** @var RegionResource $regionResource */
18+
$regionResource = $objectManager->get(RegionResource::class);
19+
20+
$regionCollection = $objectManager->create(RegionResourceCollection::class)
21+
->addFieldToFilter('code', ['in' => $regionCode]);
22+
23+
/** @var RegionModel $region */
24+
foreach ($regionCollection as $region) {
25+
$regionResource->delete($region);
26+
}

0 commit comments

Comments
 (0)