feat(phone): split phone number components into separate fields and update related models and resources

This commit is contained in:
2026-09-30 13:39:24 -03:00
parent 77dd0e2715
commit f3e226130f
6 changed files with 201 additions and 2 deletions

View File

@@ -2,10 +2,13 @@
namespace Tests\Feature\Auth;
use App\Domains\Core\Address\Models\Address;
use App\Domains\Core\Auth\Models\User;
use App\Domains\Core\Authorization\Enums\RoleCode;
use App\Domains\Core\Authorization\Models\Role;
use App\Domains\Core\Menu\Models\Menu;
use App\Domains\Core\PhoneNumber\Models\PhoneNumber;
use App\Domains\Core\Tenant\Models\SocialMedia;
use App\Domains\Core\Tenant\Models\Tenant;
use Illuminate\Foundation\Testing\RefreshDatabase;
use Laravel\Sanctum\Sanctum;
@@ -46,6 +49,21 @@ class AdminAppMeControllerTest extends TestCase
$tenant->menues()->sync([$catalog->code, $staff->code, $storefront->code]);
$otherTenant->menues()->sync([$staff->code]);
$instagram = SocialMedia::query()->create([
'code' => 'instagram', 'name' => 'Instagram', 'icon' => 'fa-brands fa-instagram',
]);
$tenant->socialMedia()->attach($instagram->code, ['url' => 'https://instagram.com/acme', 'orden' => 0]);
$address = Address::query()->create(['label' => 'Principal', 'address_text' => 'San Martín 123']);
$tenant->addresses()->attach($address->id, ['is_main' => true]);
$phone = PhoneNumber::query()->create([
'label' => 'Principal',
'country_code' => '+54',
'mobile_prefix' => '9',
'area_code' => '0341',
'local_number' => '6658247',
]);
$tenant->phoneNumbers()->attach($phone->id, ['is_main' => true]);
$user = User::factory()->create([
'nombre_apellido' => 'Admin Acme',
'email' => 'admin@acme.test',
@@ -59,6 +77,11 @@ class AdminAppMeControllerTest extends TestCase
->assertJsonPath('data.user.id', $user->id)
->assertJsonPath('data.user.email', 'admin@acme.test')
->assertJsonPath('data.tenant.codigo', 'acme')
->assertJsonPath('data.tenant.social_media.0.url', 'https://instagram.com/acme')
->assertJsonPath('data.tenant.addresses.0.address_text', 'San Martín 123')
->assertJsonPath('data.tenant.phone_numbers.0.number', '+54 9 (0341) 6658247')
->assertJsonPath('data.tenant.phone_numbers.0.area_code', '0341')
->assertJsonPath('data.tenant.phone_numbers.0.local_number', '6658247')
->assertJsonCount(1, 'data.tenant.menues')
->assertJsonPath('data.tenant.menues.0.code', 'admin.catalog')
->assertJsonPath('data.tenant.menues.0.label', 'Catálogo')