refactor(bootstrap): separate event category data
This commit is contained in:
@@ -2,14 +2,14 @@
|
||||
|
||||
namespace App\Domains\Core\Tenant\Resources;
|
||||
|
||||
use App\Shared\Attachable\Models\Attachment;
|
||||
use App\Shared\Attachable\Models\AttachmentCrop;
|
||||
use App\Domains\Commerce\Catalog\Models\Category;
|
||||
use App\Domains\Ticketing\Event\Models\EventDate;
|
||||
use App\Domains\Ticketing\Event\Models\Event;
|
||||
use App\Domains\Ticketing\Event\Services\EventDateInfoFormatter;
|
||||
use App\Domains\Core\Menu\Models\Menu;
|
||||
use App\Domains\Core\Tenant\Models\Tenant;
|
||||
use App\Domains\Ticketing\Event\Models\Event;
|
||||
use App\Domains\Ticketing\Event\Models\EventDate;
|
||||
use App\Domains\Ticketing\Event\Services\EventDateInfoFormatter;
|
||||
use App\Shared\Attachable\Models\Attachment;
|
||||
use App\Shared\Attachable\Models\AttachmentCrop;
|
||||
use Illuminate\Http\Request;
|
||||
use Illuminate\Http\Resources\Json\JsonResource;
|
||||
use Illuminate\Support\Collection;
|
||||
@@ -99,14 +99,19 @@ class TenantResource extends JsonResource
|
||||
'menues',
|
||||
fn () => $this->menuTree($this->menues)
|
||||
),
|
||||
'categories' => $this->storefront_website_type_code === 'onticket_multi_event'
|
||||
? $this->whenLoaded('eventCategories', fn () => $this->eventCategories
|
||||
'categories' => $this->when(
|
||||
$this->storefront_website_type_code !== 'onticket_multi_event',
|
||||
fn () => $this->whenLoaded('categories', fn () => $this->categoryTree($this->categories))
|
||||
),
|
||||
'event_categories' => $this->when(
|
||||
$this->storefront_website_type_code === 'onticket_multi_event',
|
||||
fn () => $this->whenLoaded('eventCategories', fn () => $this->eventCategories
|
||||
->map(fn ($category) => [
|
||||
'id' => $category->id,
|
||||
'nombre' => $category->nombre,
|
||||
'subcategories' => [],
|
||||
])->values())
|
||||
: $this->whenLoaded('categories', fn () => $this->categoryTree($this->categories)),
|
||||
),
|
||||
];
|
||||
}
|
||||
|
||||
|
||||
@@ -2,16 +2,16 @@
|
||||
|
||||
namespace Tests\Feature\Tenant;
|
||||
|
||||
use App\Domains\Commerce\Catalog\Models\Category;
|
||||
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\Tenant\Models\AdminWebsiteType;
|
||||
use App\Domains\Core\Tenant\Models\StorefrontWebsiteType;
|
||||
use App\Domains\Core\Tenant\Models\Tenant;
|
||||
use App\Shared\Attachable\Enums\AttachmentType;
|
||||
use App\Shared\Attachable\Models\Attachment;
|
||||
use App\Shared\Attachable\Models\AttachmentCrop;
|
||||
use App\Domains\Core\Authorization\Enums\RoleCode;
|
||||
use App\Domains\Core\Authorization\Models\Role;
|
||||
use App\Domains\Commerce\Catalog\Models\Category;
|
||||
use App\Domains\Core\Menu\Models\Menu;
|
||||
use App\Domains\Core\Tenant\Models\Tenant;
|
||||
use App\Domains\Core\Tenant\Models\AdminWebsiteType;
|
||||
use App\Domains\Core\Tenant\Models\StorefrontWebsiteType;
|
||||
use Database\Seeders\WebsiteTypeSeeder;
|
||||
use Illuminate\Foundation\Testing\RefreshDatabase;
|
||||
use Illuminate\Http\UploadedFile;
|
||||
@@ -33,10 +33,11 @@ class BootstrapTenantControllerTest extends TestCase
|
||||
|
||||
$this->getJson('/api/tenants/bootstrap?dominio=acme.com&path=%2F')
|
||||
->assertOk()
|
||||
->assertJsonCount(1, 'data.categories')
|
||||
->assertJsonPath('data.categories.0.id', $eventCategory->id)
|
||||
->assertJsonPath('data.categories.0.nombre', 'Música')
|
||||
->assertJsonPath('data.categories.0.subcategories', []);
|
||||
->assertJsonMissingPath('data.categories')
|
||||
->assertJsonCount(1, 'data.event_categories')
|
||||
->assertJsonPath('data.event_categories.0.id', $eventCategory->id)
|
||||
->assertJsonPath('data.event_categories.0.nombre', 'Música')
|
||||
->assertJsonPath('data.event_categories.0.subcategories', []);
|
||||
}
|
||||
|
||||
public function test_it_bootstraps_a_tenant_by_domain(): void
|
||||
|
||||
Reference in New Issue
Block a user