feat(variants): add minimum and maximum use dates to variants and update related logic
This commit is contained in:
@@ -22,6 +22,7 @@ use App\Domains\Catalog\Models\VariantDefinition;
|
||||
use App\Domains\Shared\Enums\FieldType;
|
||||
use App\Domains\Tenant\Models\Tenant;
|
||||
use Illuminate\Database\Eloquent\Collection as EloquentCollection;
|
||||
use Illuminate\Support\Carbon;
|
||||
use Tests\TestCase;
|
||||
|
||||
class CatalogModelsTest extends TestCase
|
||||
@@ -136,6 +137,24 @@ class CatalogModelsTest extends TestCase
|
||||
$this->assertSame('catalog_items_attachments', $variant->attachments()->getTable());
|
||||
}
|
||||
|
||||
public function test_variant_use_dates_override_or_inherit_catalog_item_dates(): void
|
||||
{
|
||||
$item = new CatalogItem;
|
||||
$item->minimum_use_date = Carbon::parse('2026-08-01 09:00:00');
|
||||
$item->maximum_use_date = Carbon::parse('2026-08-31 18:00:00');
|
||||
|
||||
$variant = new Variant;
|
||||
$variant->maximum_use_date = Carbon::parse('2026-08-15 18:00:00');
|
||||
$variant->setRelation('catalogItem', $item);
|
||||
|
||||
$this->assertTrue(
|
||||
$variant->getMinimumUseDate()->equalTo($item->minimum_use_date),
|
||||
);
|
||||
$this->assertTrue(
|
||||
$variant->getMaximumUseDate()->equalTo($variant->maximum_use_date),
|
||||
);
|
||||
}
|
||||
|
||||
public function test_inventory_maps_stock_without_a_polymorphic_owner(): void
|
||||
{
|
||||
$inventory = $this->trackedInventory(realStock: 10, reservedStock: 3);
|
||||
|
||||
Reference in New Issue
Block a user