Eccube\Tests\Web\Admin\Setting\Shop\DeliveryControllerTest::createDelivery PHP Method

createDelivery() public method

public createDelivery ( ) : mixed
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;
    }