diff --git a/.gitignore b/.gitignore index 2c1fc0c..38cdbd7 100644 --- a/.gitignore +++ b/.gitignore @@ -1,4 +1,5 @@ /vendor composer.phar composer.lock -.DS_Store \ No newline at end of file +.DS_Store +.idea \ No newline at end of file diff --git a/composer.json b/composer.json index 3977775..a6984d8 100644 --- a/composer.json +++ b/composer.json @@ -14,7 +14,8 @@ "illuminate/support": "~4" }, "require-dev": { - "mockery/mockery": "0.9.*" + "mockery/mockery": "~0.9", + "phpunit/phpunit": "~4.0" }, "autoload": { "psr-0": { diff --git a/tests/CartTest.php b/tests/CartTest.php index 129e347..9b0ef2f 100644 --- a/tests/CartTest.php +++ b/tests/CartTest.php @@ -18,7 +18,7 @@ class CartTest extends PHPUnit_Framework_TestCase { public function setUp() { $session= new SessionMock; - $this->events = m::mock('Illuminate\Events\Dispatcher'); + $this->events = m::mock('Illuminate\Contracts\Events\Dispatcher'); $this->cart = new Cart($session, $this->events); } @@ -36,6 +36,14 @@ class CartTest extends PHPUnit_Framework_TestCase { $this->cart->add('293ad', 'Product 1', 1, 9.99, array('size' => 'large')); } + public function testCartCanAddWithNumericId() + { + $this->events->shouldReceive('fire')->once()->with('cart.add', m::type('array')); + $this->events->shouldReceive('fire')->once()->with('cart.added', m::type('array')); + + $this->cart->add(12345, 'Product 1', 1, 9.99, array('size' => 'large')); + } + public function testCartCanAddArray() { $this->events->shouldReceive('fire')->once()->with('cart.add', m::type('array')); @@ -136,6 +144,19 @@ class CartTest extends PHPUnit_Framework_TestCase { $this->assertEquals('Product 2', $this->cart->content()->first()->name); } + public function testCartCanUpdateItemToNumericId() + { + $this->events->shouldReceive('fire')->once()->with('cart.add', m::type('array')); + $this->events->shouldReceive('fire')->once()->with('cart.added', m::type('array')); + $this->events->shouldReceive('fire')->once()->with('cart.update', m::type('string')); + $this->events->shouldReceive('fire')->once()->with('cart.updated', m::type('string')); + + $this->cart->add('293ad', 'Product 1', 1, 9.99); + $this->cart->update('8cbf215baa3b757e910e5305ab981172', array('id' => 12345)); + + $this->assertEquals(12345, $this->cart->content()->first()->id); + } + public function testCartCanUpdateOptions() { $this->events->shouldReceive('fire')->once()->with('cart.add', m::type('array')); @@ -388,4 +409,3 @@ class CartTest extends PHPUnit_Framework_TestCase { } } -