Skip to content

Commit 54c8c00

Browse files
committed
fix: to-pass-feature-test
1 parent 9278a87 commit 54c8c00

2 files changed

Lines changed: 126 additions & 32 deletions

File tree

src/app/Packages/Features/Controller/Tests/WorldHeritageController_registerTest.php

Lines changed: 73 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -2,9 +2,11 @@
22

33
namespace App\Packages\Features\Controller\Tests;
44

5+
use App\Models\Country;
56
use App\Models\WorldHeritage;
67
use App\Packages\Features\QueryUseCases\Dto\WorldHeritageDto;
78
use App\Packages\Features\QueryUseCases\UseCase\CreateWorldHeritageUseCase;
9+
use Database\Seeders\CountrySeeder;
810
use Illuminate\Http\JsonResponse;
911
use Illuminate\Http\Request;
1012
use Illuminate\Support\Facades\DB;
@@ -18,6 +20,8 @@ protected function setUp(): void
1820
{
1921
parent::setUp();
2022
$this->refresh();
23+
$seeder = new CountrySeeder();
24+
$seeder->run();
2125
$this->controller = new WorldHeritageController();
2226
}
2327

@@ -32,6 +36,8 @@ private function refresh(): void
3236
if (env('APP_ENV') === 'testing') {
3337
DB::connection('mysql')->statement('SET FOREIGN_KEY_CHECKS=0;');
3438
WorldHeritage::truncate();
39+
Country::truncate();
40+
DB::table('site_state_parties')->truncate();
3541
DB::connection('mysql')->statement('SET FOREIGN_KEY_CHECKS=1;');
3642
}
3743
}
@@ -40,24 +46,47 @@ private function requestData(): array
4046
{
4147
return [
4248
'id' => 1,
43-
'unesco_id' => '668',
44-
'official_name' => 'Historic Monuments of Ancient Nara',
45-
'name' => 'Historic Monuments of Ancient Nara',
46-
'name_jp' => '古都奈良の文化財',
47-
'country' => 'Japan',
48-
'region' => 'Asia',
49-
'state_party' => 'JP',
50-
'category' => 'cultural',
51-
'criteria' => ['ii', 'iii', 'v'],
52-
'year_inscribed' => 1998,
53-
'area_hectares' => 442.0,
54-
'buffer_zone_hectares' => 320.0,
49+
'unesco_id' => '1133',
50+
'official_name' => "Ancient and Primeval Beech Forests of the Carpathians and Other Regions of Europe",
51+
'name' => "Ancient and Primeval Beech Forests",
52+
'name_jp' => null,
53+
'country' => 'Slovakia',
54+
'region' => 'Europe',
55+
'category' => 'natural',
56+
'criteria' => ['ix'],
57+
'state_party' => null,
58+
'year_inscribed' => 2007,
59+
'area_hectares' => 99947.81,
60+
'buffer_zone_hectares' => 296275.8,
5561
'is_endangered' => false,
56-
'latitude' => 34.6851,
57-
'longitude' => 135.8048,
58-
'short_description' => 'Temples and shrines of the first permanent capital of Japan.',
62+
'latitude' => 0.0,
63+
'longitude' => 0.0,
64+
'short_description' => 'Transnational serial property of European beech forests illustrating post-glacial expansion and ecological processes across Europe.',
5965
'image_url' => '',
60-
'unesco_site_url' => 'https://whc.unesco.org/en/list/668/',
66+
'unesco_site_url' => 'https://whc.unesco.org/en/list/1133/',
67+
'state_party_codes' => [
68+
'AL','AT','BE','BA','BG','HR','CZ','FR','DE','IT','MK','PL','RO','SK','SI','ES','CH','UA'
69+
],
70+
'state_parties_meta' => [
71+
'AL' => ['is_primary' => false, 'inscription_year' => 2007],
72+
'AT' => ['is_primary' => false, 'inscription_year' => 2007],
73+
'BE' => ['is_primary' => false, 'inscription_year' => 2007],
74+
'BA' => ['is_primary' => false, 'inscription_year' => 2007],
75+
'BG' => ['is_primary' => false, 'inscription_year' => 2007],
76+
'HR' => ['is_primary' => false, 'inscription_year' => 2007],
77+
'CZ' => ['is_primary' => false, 'inscription_year' => 2007],
78+
'FR' => ['is_primary' => false, 'inscription_year' => 2007],
79+
'DE' => ['is_primary' => false, 'inscription_year' => 2007],
80+
'IT' => ['is_primary' => false, 'inscription_year' => 2007],
81+
'MK' => ['is_primary' => false, 'inscription_year' => 2007],
82+
'PL' => ['is_primary' => false, 'inscription_year' => 2007],
83+
'RO' => ['is_primary' => false, 'inscription_year' => 2007],
84+
'SK' => ['is_primary' => true, 'inscription_year' => 2007],
85+
'SI' => ['is_primary' => false, 'inscription_year' => 2007],
86+
'ES' => ['is_primary' => false, 'inscription_year' => 2007],
87+
'CH' => ['is_primary' => false, 'inscription_year' => 2007],
88+
'UA' => ['is_primary' => false, 'inscription_year' => 2007],
89+
],
6190
];
6291
}
6392

@@ -153,6 +182,14 @@ private function mockDto(): WorldHeritageDto
153182
->shouldReceive('getUnescoSiteUrl')
154183
->andReturn($this->requestData()['unesco_site_url']);
155184

185+
$mock
186+
->shouldReceive('getStatePartyCodes')
187+
->andReturn($this->requestData()['state_party_codes']);
188+
189+
$mock
190+
->shouldReceive('getStatePartiesMeta')
191+
->andReturn($this->requestData()['state_parties_meta'] ?? []);
192+
156193
return $mock;
157194
}
158195

@@ -185,5 +222,25 @@ public function test_controller_check_value(): void
185222
);
186223

187224
$this->assertEquals(201, $result->getStatusCode());
225+
$this->assertEquals($this->requestData()['id'], $result->getOriginalContent()['data']['id']);
226+
$this->assertEquals($this->requestData()['unesco_id'], $result->getOriginalContent()['data']['unesco_id']);
227+
$this->assertEquals($this->requestData()['official_name'], $result->getOriginalContent()['data']['official_name']);
228+
$this->assertEquals($this->requestData()['name'], $result->getOriginalContent()['data']['name']);
229+
$this->assertEquals($this->requestData()['name_jp'], $result->getOriginalContent()['data']['name_jp']);
230+
$this->assertEquals($this->requestData()['country'], $result->getOriginalContent()['data']['country']);
231+
$this->assertEquals($this->requestData()['region'], $result->getOriginalContent()['data']['region']);
232+
$this->assertEquals($this->requestData()['category'], $result->getOriginalContent()['data']['category']);
233+
$this->assertEquals($this->requestData()['criteria'], $result->getOriginalContent()['data']['criteria']);
234+
$this->assertEquals($this->requestData()['year_inscribed'], $result->getOriginalContent()['data']['year_inscribed']);
235+
$this->assertEquals($this->requestData()['area_hectares'], $result->getOriginalContent()['data']['area_hectares']);
236+
$this->assertEquals($this->requestData()['buffer_zone_hectares'], $result->getOriginalContent()['data']['buffer_zone_hectares']);
237+
$this->assertEquals($this->requestData()['is_endangered'], $result->getOriginalContent()['data']['is_endangered']);
238+
$this->assertEquals($this->requestData()['latitude'], $result->getOriginalContent()['data']['latitude']);
239+
$this->assertEquals($this->requestData()['longitude'], $result->getOriginalContent()['data']['longitude']);
240+
$this->assertEquals($this->requestData()['short_description'], $result->getOriginalContent()['data']['short_description']);
241+
$this->assertEquals($this->requestData()['image_url'], $result->getOriginalContent()['data']['image_url']);
242+
$this->assertEquals($this->requestData()['unesco_site_url'], $result->getOriginalContent()['data']['unesco_site_url']);
243+
$this->assertEquals($this->requestData()['state_party_codes'], $result->getOriginalContent()['data']['state_party_codes']);
244+
$this->assertEquals($this->requestData()['state_parties_meta'], $result->getOriginalContent()['data']['state_parties_meta']);
188245
}
189246
}

src/app/Packages/Features/Tests/CreateOneWorldHeritageTest.php

Lines changed: 53 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,9 @@
22

33
namespace App\Packages\Features\Tests;
44

5+
use App\Models\Country;
56
use App\Models\WorldHeritage;
7+
use Database\Seeders\CountrySeeder;
68
use Illuminate\Support\Facades\DB;
79
use Tests\TestCase;
810

@@ -12,6 +14,8 @@ protected function setUp(): void
1214
{
1315
parent::setUp();
1416
$this->refresh();
17+
$seeder = new CountrySeeder();
18+
$seeder->run();
1519
}
1620

1721
protected function tearDown(): void
@@ -25,31 +29,57 @@ private function refresh(): void
2529
if (env('APP_ENV') === 'testing') {
2630
DB::connection('mysql')->statement('SET FOREIGN_KEY_CHECKS=0;');
2731
WorldHeritage::truncate();
32+
Country::truncate();
33+
DB::table('site_state_parties')->truncate();
2834
DB::connection('mysql')->statement('SET FOREIGN_KEY_CHECKS=1;');
2935
}
3036
}
3137

3238
private static function arrayData(): array
3339
{
3440
return [
35-
'unesco_id' => '660',
36-
'official_name' => 'Buddhist Monuments in the Horyu-ji Area',
37-
'name' => 'Buddhist Monuments in the Horyu-ji Area',
38-
'name_jp' => '法隆寺地域の仏教建造物',
39-
'country' => 'Japan',
40-
'region' => 'Asia',
41-
'state_party' => 'JP',
42-
'category' => 'cultural',
43-
'criteria' => ['ii', 'iii', 'v'],
44-
'year_inscribed' => 1993,
45-
'area_hectares' => 442.0,
46-
'buffer_zone_hectares' => 320.0,
41+
'id' => 1,
42+
'unesco_id' => '1133',
43+
'official_name' => "Ancient and Primeval Beech Forests of the Carpathians and Other Regions of Europe",
44+
'name' => "Ancient and Primeval Beech Forests",
45+
'name_jp' => null,
46+
'country' => 'Slovakia',
47+
'region' => 'Europe',
48+
'category' => 'natural',
49+
'criteria' => ['ix'],
50+
'state_party' => null,
51+
'year_inscribed' => 2007,
52+
'area_hectares' => 99947.81,
53+
'buffer_zone_hectares' => 296275.8,
4754
'is_endangered' => false,
48-
'latitude' => 34.6147,
49-
'longitude' => 135.7355,
50-
'short_description' => "Early Buddhist wooden structures including the world's oldest wooden building.",
55+
'latitude' => 0.0,
56+
'longitude' => 0.0,
57+
'short_description' => 'Transnational serial property of European beech forests illustrating post-glacial expansion and ecological processes across Europe.',
5158
'image_url' => '',
52-
'unesco_site_url' => 'https://whc.unesco.org/en/list/660/',
59+
'unesco_site_url' => 'https://whc.unesco.org/en/list/1133/',
60+
'state_parties' => [
61+
'AL','AT','BE','BA','BG','HR','CZ','FR','DE','IT','MK','PL','RO','SK','SI','ES','CH','UA'
62+
],
63+
'state_parties_meta' => [
64+
'AL' => ['is_primary' => false, 'inscription_year' => 2007],
65+
'AT' => ['is_primary' => false, 'inscription_year' => 2007],
66+
'BE' => ['is_primary' => false, 'inscription_year' => 2007],
67+
'BA' => ['is_primary' => false, 'inscription_year' => 2007],
68+
'BG' => ['is_primary' => false, 'inscription_year' => 2007],
69+
'HR' => ['is_primary' => false, 'inscription_year' => 2007],
70+
'CZ' => ['is_primary' => false, 'inscription_year' => 2007],
71+
'FR' => ['is_primary' => false, 'inscription_year' => 2007],
72+
'DE' => ['is_primary' => false, 'inscription_year' => 2007],
73+
'IT' => ['is_primary' => false, 'inscription_year' => 2007],
74+
'MK' => ['is_primary' => false, 'inscription_year' => 2007],
75+
'PL' => ['is_primary' => false, 'inscription_year' => 2007],
76+
'RO' => ['is_primary' => false, 'inscription_year' => 2007],
77+
'SK' => ['is_primary' => true, 'inscription_year' => 2007],
78+
'SI' => ['is_primary' => false, 'inscription_year' => 2007],
79+
'ES' => ['is_primary' => false, 'inscription_year' => 2007],
80+
'CH' => ['is_primary' => false, 'inscription_year' => 2007],
81+
'UA' => ['is_primary' => false, 'inscription_year' => 2007],
82+
],
5383
];
5484
}
5585

@@ -80,6 +110,13 @@ public function test_feature_check(): void
80110
'short_description',
81111
'image_url',
82112
'unesco_site_url',
113+
'state_party_codes',
114+
'state_parties_meta' => [
115+
'*' => [
116+
'is_primary',
117+
'inscription_year',
118+
],
119+
],
83120
],
84121
]);
85122
}

0 commit comments

Comments
 (0)