Exemple #1
0
 public static function initialize(Config $config)
 {
     TransferTrait::initialize($config);
     ItemGroupTrait::initialize($config);
     TimestampsTrait::initialize($config);
     RandomKeyTrait::initialize($config);
     CurrencyTrait::initialize($config);
     $config->setTable('Purchase')->addRels([new Rel\HasMany('items', $config, PurchaseItem::getRepo(), ['inverseOf' => 'purchase']), new Rel\HasMany('storePurchases', $config, StorePurchase::getRepo(), ['inverseOf' => 'purchase']), new Rel\BelongsTo('billing', $config, Address::getRepo())]);
 }
Exemple #2
0
 /**
  * @coversNothing
  */
 public function testIntegration()
 {
     $address = Address::find(1);
     $purchase = Purchase::find(1);
     $country = Country::find(1);
     $city = City::find(2);
     $this->assertSame($purchase, $address->getPurchase());
     $this->assertSame($city, $address->getCity());
     $this->assertSame($country, $address->getCountry());
 }
 public function testStorePurchase()
 {
     $purchase = new Purchase();
     $address = Address::find(1);
     $product1 = Product::find(5);
     $product2 = Product::find(6);
     $product3 = Product::find(7);
     $purchase->setBilling($address);
     $purchase->addProduct($product1, 4)->addProduct($product2)->addProduct($product3)->addProduct($product1);
     Purchase::save($purchase);
     $gateway = Omnipay::getFactory()->create('Dummy');
     $parameters = ['card' => ['number' => '4242424242424242', 'expiryMonth' => 12, 'expiryYear' => date('Y'), 'cvv' => 123], 'clientIp' => '192.168.0.1'];
     $response = $purchase->purchase($gateway, $parameters);
     $this->assertTrue($response->isSuccessful());
     $this->assertEquals('Success', $response->getMessage());
 }
Exemple #4
0
 /**
  * @coversNothing
  */
 public function testIntegration()
 {
     $purchase = Purchase::find(1);
     $item1 = PurchaseItem::find(1);
     $item2 = PurchaseItem::find(2);
     $item3 = PurchaseItem::find(3);
     $item4 = PurchaseItem::find(4);
     $storePurchase1 = StorePurchase::find(1);
     $storePurchase2 = StorePurchase::find(2);
     $billing = Address::find(1);
     $items = $purchase->getItems();
     $this->assertSame([$item1, $item2, $item3, $item4], $purchase->getItems()->toArray());
     $this->assertSame([$storePurchase1, $storePurchase2], $purchase->getStorePurchases()->toArray());
     $this->assertSame($billing, $purchase->getBilling());
 }