CityFeatureTest.php 1.4 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849
  1. <?php
  2. namespace Tests\Feature;
  3. use App\Shop\Cities\City;
  4. use App\Shop\Countries\Country;
  5. use App\Shop\Provinces\Province;
  6. use App\Shop\States\State;
  7. use Tests\TestCase;
  8. class CityFeatureTest extends TestCase
  9. {
  10. /** @test */
  11. public function it_can_show_the_edit_page()
  12. {
  13. $country = factory(Country::class)->create();
  14. $province = factory(Province::class)->create([
  15. 'country_id' => $country->id
  16. ]);
  17. $state = factory(State::class)->create();
  18. $city = factory(City::class)->create([
  19. 'province_id' => $province->id,
  20. 'state_code' => $state->state_code
  21. ]);
  22. $this
  23. ->actingAs($this->employee, 'employee')
  24. ->get(route('admin.countries.provinces.cities.edit', [$country->id, $province->id, $city->name]))
  25. ->assertStatus(200)
  26. ->assertSee($city->name);
  27. }
  28. /** @test */
  29. public function it_error_when_the_city_name_is_already_existing()
  30. {
  31. $country = factory(Country::class)->create();
  32. $province = factory(Province::class)->create();
  33. $city = factory(City::class)->create();
  34. $city2 = factory(City::class)->create();
  35. $this
  36. ->actingAs($this->employee, 'employee')
  37. ->put(route('admin.countries.provinces.cities.update', [$country->id, $province->id, $city->id]), ['name' => $city2->name])
  38. ->assertSessionHasErrors();
  39. }
  40. }