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;
}