Eccube\Tests\Fixture\Generator::createDelivery PHP Method

createDelivery() public method

配送方法を生成する.
public createDelivery ( integer $delivery_time_max_pattern = 5 ) : Eccube\Entity\Delivery
$delivery_time_max_pattern integer 配送時間の最大パターン数
return Eccube\Entity\Delivery
    public function createDelivery($delivery_time_max_pattern = 5)
    {
        $Member = $this->app['eccube.repository.member']->find(2);
        $ProductType = $this->app['eccube.repository.master.product_type']->find(1);
        $faker = $this->getFaker();
        $Delivery = new Delivery();
        $Delivery->setServiceName($faker->word)->setName($faker->word)->setDescription($faker->paragraph())->setConfirmUrl($faker->url)->setRank($faker->randomNumber(2))->setCreator($Member)->setProductType($ProductType)->setDelFlg(Constant::DISABLED);
        $this->app['orm.em']->persist($Delivery);
        $this->app['orm.em']->flush($Delivery);
        $delivery_time_patten = $faker->numberBetween(0, $delivery_time_max_pattern);
        for ($i = 0; $i < $delivery_time_patten; $i++) {
            $DeliveryTime = new DeliveryTime();
            $DeliveryTime->setDelivery($Delivery)->setDeliveryTime($faker->word);
            $this->app['orm.em']->persist($DeliveryTime);
            $this->app['orm.em']->flush($DeliveryTime);
            $Delivery->addDeliveryTime($DeliveryTime);
        }
        $Prefs = $this->app['eccube.repository.master.pref']->findAll();
        foreach ($Prefs as $Pref) {
            $DeliveryFee = new DeliveryFee();
            $DeliveryFee->setFee($faker->randomNumber(4))->setPref($Pref)->setDelivery($Delivery);
            $this->app['orm.em']->persist($DeliveryFee);
            $this->app['orm.em']->flush($DeliveryFee);
            $Delivery->addDeliveryFee($DeliveryFee);
        }
        $this->app['orm.em']->flush($Delivery);
        return $Delivery;
    }