MIF_E31222707/vendor/anayarojo/shoppingcart/tests/CartItemTest.php

68 lines
1.9 KiB
PHP

<?php
namespace Gloudemans\Tests\Shoppingcart;
use Gloudemans\Shoppingcart\CartItem;
use Gloudemans\Shoppingcart\ShoppingcartServiceProvider;
use Orchestra\Testbench\TestCase;
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, 550, ['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,
'subtotal' => 20.00,
'discount' => 0.0,
'weight' => 550.0,
], $cartItem->toArray());
}
/** @test */
public function it_can_be_cast_to_json()
{
$cartItem = new CartItem(1, 'Some item', 10.00, 550, ['size' => 'XL', 'color' => 'red']);
$cartItem->setQuantity(2);
$this->assertJson($cartItem->toJson());
$json = '{"rowId":"07d5da5550494c62daf9993cf954303f","id":1,"name":"Some item","qty":2,"price":10,"weight":550,"options":{"size":"XL","color":"red"},"discount":0,"tax":0,"subtotal":20}';
$this->assertEquals($json, $cartItem->toJson());
}
/** @test */
public function it_formats_price_total_correctly()
{
$cartItem = new CartItem(1, 'Some item', 10.00, 550, ['size' => 'XL', 'color' => 'red']);
$cartItem->setQuantity(2);
$this->assertSame('20.00', $cartItem->priceTotal());
}
}