seedRequiredData(); $product = Product::factory()->create(); ProductImage::query()->create([ 'product_id' => $product->id, 'path' => 'product/15/test-image.webp', 'position' => 1, ]); $item = new CustomerOrderItem; $item->type = 'simple'; $item->setRelation('product', $product->load('images')); $item->setRelation('children', collect()); $baseImage = $item->getBaseImage(); expect($baseImage)->toBeString(); $decoded = json_decode($baseImage, true); expect($decoded)->toBeArray() ->and($decoded)->toHaveKeys([ 'small_image_url', 'medium_image_url', 'large_image_url', 'original_image_url', ]); } public function test_base_image_is_null_without_product(): void { $item = new CustomerOrderItem; $item->type = 'simple'; $item->setRelation('product', null); $item->setRelation('children', collect()); expect($item->getBaseImage())->toBeNull(); } }