mein-sterntours/packages/digital-bird/shoppingcart/tests/CartItemTest.php
Phase-1-Rollback-Agent e3dc1afd8e WIP: Sicherheitsnetz vor Phase-1-R\u00fcckbau
Enth\u00e4lt gemischt: Laravel-10-Upgrade + Phase 1 (Contacts-Modul, Duplicats-Commands,
Soft-Delete+Merge-Fields) + Phase 2 Code-Umstellungen (inquiry_id, $table='contacts'/'inquiries')
+ Offers-Modul (Migrationen, Models, offer_id in Booking, offer-Disk in filesystems.php).

Phase 2 + Offers werden im folgenden Commit nach dev/backups/phase2-offers-2026-04-17/
verschoben, damit der Workspace auf Phase-1-only (= Test-System-Stand) reduziert ist
und direkt auf Live deploybar wird.

Tarball-Backup zus\u00e4tzlich unter: ../backups-safety/workspace-pre-phase1-rollback-2026-04-17.tar.gz

Made-with: Cursor
2026-04-17 13:40:31 +00:00

56 lines
1.6 KiB
PHP

<?php
namespace Gloudemans\Tests\Shoppingcart;
use Orchestra\Testbench\TestCase;
use Gloudemans\Shoppingcart\CartItem;
use Gloudemans\Shoppingcart\ShoppingcartServiceProvider;
class CartItemTest extends TestCase
{
/**
* Set the package service provider.
*
* @param \Illuminate\Foundation\Application $app
* @return array
*/
protected function getPackageProviders($app)
{
return [ShoppingcartServiceProvider::class];
}
/** @test */
public function it_can_be_cast_to_an_array()
{
$cartItem = new CartItem(1, 'Some item', 10.00, ['size' => 'XL', 'color' => 'red']);
$cartItem->setQuantity(2);
$this->assertEquals([
'id' => 1,
'name' => 'Some item',
'price' => 10.00,
'rowId' => '07d5da5550494c62daf9993cf954303f',
'qty' => 2,
'options' => [
'size' => 'XL',
'color' => 'red'
],
'tax' => 0.0,
'subtotal' => 20.00,
'isSaved' => false
], $cartItem->toArray());
}
/** @test */
public function it_can_be_cast_to_json()
{
$cartItem = new CartItem(1, 'Some item', 10.00, ['size' => 'XL', 'color' => 'red']);
$cartItem->setQuantity(2);
$this->assertJson($cartItem->toJson());
$json = '{"rowId":"07d5da5550494c62daf9993cf954303f","id":1,"name":"Some item","qty":2,"price":10,"options":{"size":"XL","color":"red"},"tax":"0.00","isSaved":false,"subtotal":"20.00"}';
$this->assertEquals($json, $cartItem->toJson());
}
}