/**
  * Setups test data.
  */
 public function setUp()
 {
     parent::setUp();
     $this->user = factory('App\\User')->create(['password' => Hash::make('laravel-shop')]);
     Auth::attempt(['email' => $this->user->email, 'password' => 'laravel-shop']);
     $this->cart = App\Cart::current()->add(['price' => 9.99, 'sku' => str_random(15)]);
 }
Beispiel #2
0
 /**
  * Tests item in cart functionality.
  */
 public function testPurchasedItemAttribute()
 {
     $user = factory('App\\User')->create(['password' => Hash::make('laravel-shop')]);
     Auth::attempt(['email' => $user->email, 'password' => 'laravel-shop']);
     $product = App\TestProduct::create(['price' => 9.99, 'sku' => str_random(15), 'name' => str_random(64), 'description' => str_random(500)]);
     $cart = App\Cart::current()->add($product);
     Shop::setGateway('testPass');
     $order = Shop::placeOrder();
     $this->assertTrue($order->isCompleted);
     $this->assertTrue($product->wasPurchased);
     $user->delete();
     $product->delete();
 }
 /**
  * Tests if failed transactions are being created.
  */
 public function testFailedTransactions()
 {
     // Prepare
     $user = factory('App\\User')->create(['password' => Hash::make('laravel-shop')]);
     $bool = Auth::attempt(['email' => $user->email, 'password' => 'laravel-shop']);
     $cart = App\Cart::current()->add(['sku' => '0001', 'price' => 1.99])->add(['sku' => '0002', 'price' => 2.99]);
     Shop::setGateway('testFail');
     // Beging test
     $order = Shop::placeOrder();
     $this->assertNotNull($order);
     $this->assertNotEmpty($order->id);
     $this->assertTrue($order->hasFailed);
     $this->assertEquals(count($order->transactions), 1);
     $user->delete();
 }
Beispiel #4
0
 /**
  * Tests a purchase and shop flow.
  */
 public function testFailPurchase()
 {
     // Prepare
     $user = factory('App\\User')->create(['password' => Hash::make('laravel-shop')]);
     $bool = Auth::attempt(['email' => $user->email, 'password' => 'laravel-shop']);
     $cart = App\Cart::current()->add(['sku' => '0001', 'price' => 1.99])->add(['sku' => '0002', 'price' => 2.99]);
     Shop::setGateway('testFail');
     $this->assertFalse(Shop::checkout());
     $this->assertEquals(Shop::exception()->getMessage(), 'Checkout failed.');
     $order = Shop::placeOrder();
     $this->assertNotNull($order);
     $this->assertNotEmpty($order->id);
     $this->assertTrue($order->hasFailed);
     $this->assertEquals(Shop::exception()->getMessage(), 'Payment failed.');
     $user->delete();
 }
Beispiel #5
0
 /**
  * Tests cart order placement.
  */
 public function testOrderPlacement()
 {
     $cart = App\Cart::current()->add(['sku' => str_random(15), 'price' => 1.99])->add(['sku' => str_random(15), 'price' => 1.99]);
     $order = $cart->placeOrder();
     $this->assertNotEmpty($order);
     $this->assertEquals($order->totalPrice, 3.98);
     $this->assertEquals($cart->count, 0);
     $this->assertEquals($order->count, 2);
     $this->assertTrue($order->isPending);
 }
 /**
  * Tests completed orders based on total amount equals to 0.
  */
 public function testVariedOrderTotal()
 {
     $user = factory('App\\User')->create(['password' => Hash::make('laravel-shop')]);
     Auth::attempt(['email' => $user->email, 'password' => 'laravel-shop']);
     $cart = App\Cart::current();
     $cart->add(['sku' => 'ZERO0000', 'price' => 0.0])->add(['sku' => 'TEN00010', 'price' => 10.0]);
     Shop::setGateway('paypal');
     Shop::gateway()->setCreditCard(Config::get('testing.paypal.creditcard.type'), Config::get('testing.paypal.creditcard.number'), Config::get('testing.paypal.creditcard.month'), Config::get('testing.paypal.creditcard.year'), Config::get('testing.paypal.creditcard.cvv'), Config::get('testing.paypal.creditcard.firstname'), Config::get('testing.paypal.creditcard.lastname'));
     $this->assertTrue(Shop::checkout());
     $order = Shop::placeOrder();
     $this->assertTrue($order->isCompleted);
     $user->delete();
 }