test(tenant): cover split website types and migration
This commit is contained in:
@@ -32,7 +32,7 @@ class DesfilePuraTendenciaSeederTest extends TestCase
|
||||
'codigo' => 'desfile_pura_tendencia',
|
||||
'nombre' => 'Desfile Pura Tendencia',
|
||||
'dominio' => 'desfile-pura-tendencia.localhost',
|
||||
'website_type_code' => 'onticket',
|
||||
'storefront_website_type_code' => 'onticket',
|
||||
'event_title' => 'Desfile Pura Tendencia',
|
||||
'event_location' => 'Salón Centro Recreativo Luz y Fuerza',
|
||||
'event_date_text' => '16 de Octubre 2026',
|
||||
@@ -82,13 +82,13 @@ class DesfilePuraTendenciaSeederTest extends TestCase
|
||||
|
||||
$hero = DB::table('websites_extras')
|
||||
->join(
|
||||
'website_type_extras',
|
||||
'website_type_extras.id',
|
||||
'storefront_website_type_extras',
|
||||
'storefront_website_type_extras.id',
|
||||
'=',
|
||||
'websites_extras.website_type_extra_id',
|
||||
)
|
||||
->where('websites_extras.website_code', 'desfile_pura_tendencia')
|
||||
->where('website_type_extras.codigo', 'heroConfig')
|
||||
->where('storefront_website_type_extras.codigo', 'heroConfig')
|
||||
->value('websites_extras.config');
|
||||
$hero = json_decode($hero, true, flags: JSON_THROW_ON_ERROR);
|
||||
|
||||
|
||||
@@ -3,7 +3,7 @@
|
||||
namespace Tests\Feature\Seeders;
|
||||
|
||||
use App\Domains\Tenant\Models\Tenant;
|
||||
use App\Domains\Tenant\Models\WebsiteType;
|
||||
use App\Domains\Tenant\Models\AdminWebsiteType;
|
||||
use Database\Seeders\SocialMediaSeeder;
|
||||
use Database\Seeders\TenantSeeder;
|
||||
use Database\Seeders\WebsiteTypeSeeder;
|
||||
@@ -25,11 +25,12 @@ class TenantSeederTest extends TestCase
|
||||
TenantSeeder::class,
|
||||
]);
|
||||
|
||||
$websiteType = WebsiteType::query()->where('codigo', 'onticket')->sole();
|
||||
$websiteType = AdminWebsiteType::query()->where('codigo', 'onticket')->sole();
|
||||
$tenant = Tenant::query()->where('codigo', 'onticket')->sole();
|
||||
|
||||
$this->assertSame('onticket', $tenant->client->code);
|
||||
$this->assertSame($websiteType->codigo, $tenant->website_type_code);
|
||||
$this->assertSame($websiteType->codigo, $tenant->admin_website_type_code);
|
||||
$this->assertSame($websiteType->codigo, $tenant->storefront_website_type_code);
|
||||
$this->assertSame($websiteType->nombre, $tenant->nombre);
|
||||
$this->assertSame($websiteType->dominio, $tenant->dominio);
|
||||
$this->assertSame($websiteType->site_title, $tenant->site_title);
|
||||
@@ -94,7 +95,8 @@ class TenantSeederTest extends TestCase
|
||||
->with('websiteExtras.websiteTypeExtra')
|
||||
->sole();
|
||||
|
||||
$this->assertSame('shopit', $sonder->website_type_code);
|
||||
$this->assertSame('shopit', $sonder->storefront_website_type_code);
|
||||
$this->assertSame('shopit', $sonder->admin_website_type_code);
|
||||
$this->assertSame('quantity_and_remove', $sonder->cart_editing_policy->value);
|
||||
$this->assertSame('disabled', $sonder->checkout_editing_policy->value);
|
||||
|
||||
@@ -116,7 +118,8 @@ class TenantSeederTest extends TestCase
|
||||
->with('websiteExtras.websiteTypeExtra')
|
||||
->sole();
|
||||
|
||||
$this->assertSame('onticket', $fiesta->website_type_code);
|
||||
$this->assertSame('onticket', $fiesta->storefront_website_type_code);
|
||||
$this->assertSame('onticket', $fiesta->admin_website_type_code);
|
||||
$this->assertSame('full', $fiesta->cart_editing_policy->value);
|
||||
$this->assertSame('disabled', $fiesta->checkout_editing_policy->value);
|
||||
|
||||
|
||||
@@ -3,7 +3,8 @@
|
||||
namespace Tests\Feature\Seeders;
|
||||
|
||||
use App\Domains\Attachable\Models\Attachment;
|
||||
use App\Domains\Tenant\Models\WebsiteType;
|
||||
use App\Domains\Tenant\Models\AdminWebsiteType;
|
||||
use App\Domains\Tenant\Models\StorefrontWebsiteType;
|
||||
use Database\Seeders\WebsiteTypeSeeder;
|
||||
use Illuminate\Foundation\Testing\RefreshDatabase;
|
||||
use Illuminate\Support\Facades\Storage;
|
||||
@@ -20,7 +21,8 @@ class WebsiteTypeSeederTest extends TestCase
|
||||
$this->seed(WebsiteTypeSeeder::class);
|
||||
$this->seed(WebsiteTypeSeeder::class);
|
||||
|
||||
$this->assertSame(2, WebsiteType::query()->count());
|
||||
$this->assertSame(2, AdminWebsiteType::query()->count());
|
||||
$this->assertSame(2, StorefrontWebsiteType::query()->count());
|
||||
$this->assertSame(5, Attachment::query()->count());
|
||||
|
||||
$expectedPresentation = [
|
||||
@@ -36,9 +38,8 @@ class WebsiteTypeSeederTest extends TestCase
|
||||
'border_color' => '#EAEAEA',
|
||||
];
|
||||
|
||||
$shopIt = WebsiteType::query()
|
||||
$shopIt = AdminWebsiteType::query()
|
||||
->where('codigo', 'shopit')
|
||||
->with('extras')
|
||||
->sole();
|
||||
|
||||
$this->assertSame('ShopIt', $shopIt->nombre);
|
||||
@@ -51,8 +52,9 @@ class WebsiteTypeSeederTest extends TestCase
|
||||
Storage::disk('s3')->assertExists($shopIt->footerLogo->path);
|
||||
$this->assertSame('onticket_favicon.svg', $shopIt->favicon->filename);
|
||||
Storage::disk('s3')->assertExists($shopIt->favicon->path);
|
||||
$this->assertSame(['carousel'], $shopIt->extras->pluck('codigo')->all());
|
||||
$this->assertSame('Carrusel principal', $shopIt->extras->sole()->nombre);
|
||||
$shopItStorefront = StorefrontWebsiteType::query()->where('codigo', 'shopit')->with('extras')->sole();
|
||||
$this->assertSame(['carousel'], $shopItStorefront->extras->pluck('codigo')->all());
|
||||
$this->assertSame('Carrusel principal', $shopItStorefront->extras->sole()->nombre);
|
||||
$this->assertSame([
|
||||
'request_rules' => [
|
||||
'$' => 'required|array|max:10',
|
||||
@@ -64,11 +66,10 @@ class WebsiteTypeSeederTest extends TestCase
|
||||
'attachment_type' => 'image',
|
||||
],
|
||||
],
|
||||
], $shopIt->extras->sole()->config_schema);
|
||||
], $shopItStorefront->extras->sole()->config_schema);
|
||||
|
||||
$onTicket = WebsiteType::query()
|
||||
$onTicket = AdminWebsiteType::query()
|
||||
->where('codigo', 'onticket')
|
||||
->with('extras')
|
||||
->sole();
|
||||
|
||||
$this->assertSame('OnTicket', $onTicket->nombre);
|
||||
@@ -83,12 +84,13 @@ class WebsiteTypeSeederTest extends TestCase
|
||||
$this->assertNotSame($shopIt->footer_logo, $onTicket->footer_logo);
|
||||
$this->assertSame($shopIt->favicon_id, $onTicket->favicon_id);
|
||||
$this->assertSame('onticket_favicon.svg', $onTicket->favicon->filename);
|
||||
$onTicketStorefront = StorefrontWebsiteType::query()->where('codigo', 'onticket')->with('extras')->sole();
|
||||
$this->assertEqualsCanonicalizing(
|
||||
['heroConfig', 'eventConfig', 'additionalInfoConfig'],
|
||||
$onTicket->extras->pluck('codigo')->all(),
|
||||
$onTicketStorefront->extras->pluck('codigo')->all(),
|
||||
);
|
||||
|
||||
$heroSchema = $onTicket->extras->firstWhere('codigo', 'heroConfig')->config_schema;
|
||||
$heroSchema = $onTicketStorefront->extras->firstWhere('codigo', 'heroConfig')->config_schema;
|
||||
$this->assertSame([
|
||||
'request_rules' => [
|
||||
'$' => 'required|array',
|
||||
@@ -106,7 +108,7 @@ class WebsiteTypeSeederTest extends TestCase
|
||||
],
|
||||
], $heroSchema);
|
||||
|
||||
$eventSchema = $onTicket->extras->firstWhere('codigo', 'eventConfig')->config_schema;
|
||||
$eventSchema = $onTicketStorefront->extras->firstWhere('codigo', 'eventConfig')->config_schema;
|
||||
$this->assertSame([
|
||||
'request_rules' => [
|
||||
'$' => 'required|array',
|
||||
@@ -126,7 +128,7 @@ class WebsiteTypeSeederTest extends TestCase
|
||||
'transforms' => [],
|
||||
], $eventSchema);
|
||||
|
||||
$additionalInfoSchema = $onTicket->extras
|
||||
$additionalInfoSchema = $onTicketStorefront->extras
|
||||
->firstWhere('codigo', 'additionalInfoConfig')
|
||||
->config_schema;
|
||||
$this->assertSame([
|
||||
|
||||
Reference in New Issue
Block a user