CustomerOrderItemBaseImageTest.php 1.5 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253
  1. <?php
  2. namespace Webkul\BagistoApi\Tests\Unit\Models;
  3. use Webkul\BagistoApi\Models\CustomerOrderItem;
  4. use Webkul\BagistoApi\Tests\BagistoApiTestCase;
  5. use Webkul\Product\Models\Product;
  6. use Webkul\Product\Models\ProductImage;
  7. class CustomerOrderItemBaseImageTest extends BagistoApiTestCase
  8. {
  9. public function test_base_image_is_json_encoded_string(): void
  10. {
  11. $this->seedRequiredData();
  12. $product = Product::factory()->create();
  13. ProductImage::query()->create([
  14. 'product_id' => $product->id,
  15. 'path' => 'product/15/test-image.webp',
  16. 'position' => 1,
  17. ]);
  18. $item = new CustomerOrderItem;
  19. $item->type = 'simple';
  20. $item->setRelation('product', $product->load('images'));
  21. $item->setRelation('children', collect());
  22. $baseImage = $item->getBaseImage();
  23. expect($baseImage)->toBeString();
  24. $decoded = json_decode($baseImage, true);
  25. expect($decoded)->toBeArray()
  26. ->and($decoded)->toHaveKeys([
  27. 'small_image_url',
  28. 'medium_image_url',
  29. 'large_image_url',
  30. 'original_image_url',
  31. ]);
  32. }
  33. public function test_base_image_is_null_without_product(): void
  34. {
  35. $item = new CustomerOrderItem;
  36. $item->type = 'simple';
  37. $item->setRelation('product', null);
  38. $item->setRelation('children', collect());
  39. expect($item->getBaseImage())->toBeNull();
  40. }
  41. }