/** * @return mixed */ public function createDelivery() { $faker = $this->getFaker(); // create new delivery $Delivery = $this->app['eccube.repository.delivery']->findOrCreate(0); $Delivery->setConfirmUrl($faker->url); $Delivery->setDelFlg(Constant::DISABLED); $this->app['orm.em']->persist($Delivery); $this->app['orm.em']->flush(); $Prefs = $this->app['eccube.repository.master.pref']->findAll(); foreach ($Prefs as $Pref) { $DeliveryFee = $this->app['eccube.repository.delivery_fee']->findOrCreate(array('Delivery' => $Delivery, 'Pref' => $Pref)); $DeliveryFee->setFee($faker->randomNumber(3)); $this->app['orm.em']->persist($DeliveryFee); $this->app['orm.em']->flush(); $Delivery->addDeliveryFee($DeliveryFee); } $Payment = $this->app['eccube.repository.payment']->findOrCreate(0); $this->app['orm.em']->persist($Payment); $this->app['orm.em']->flush(); $PaymentOption = new PaymentOption(); $PaymentOption->setDelivery($Delivery); $PaymentOption->setPayment($Payment); $PaymentOption->setDeliveryId($Delivery->getId()); $PaymentOption->setPaymentId($Payment->getId()); $this->app['orm.em']->persist($PaymentOption); $this->app['orm.em']->flush(); $Delivery->addPaymentOption($PaymentOption); $this->app['orm.em']->persist($Delivery); $this->app['orm.em']->flush(); return $Delivery; }