<?php use Codeception\Util\Fixtures; use Faker\Factory as Faker; $config = parse_ini_file('tests/acceptance/config.ini', true); /** * create fixture * このデータは$appを使って直接eccubeのデータベースに作成される * よってCodeceptionの設定によってコントロールされず、テスト後もデータベース内にこのデータは残る * データの件数によって、作成するかどうか判定される */ require_once $config['eccube_path'] . 'autoload.php'; $app = Eccube\Application::getInstance(); // Disable to TransactionListener. $app->setTestMode(true); $app->initialize(); $app->initializePlugin(); $app->register(new \Eccube\Tests\ServiceProvider\FixtureServiceProvider()); $app->boot(); // この Fixture は Cest ではできるだけ使用せず, 用途に応じた Fixture を使用すること Fixtures::add('app', $app); use Eccube\Common\Constant; use Eccube\Entity\Customer; use Eccube\Entity\Master\CustomerStatus; $faker = Faker::create('ja_JP'); Fixtures::add('faker', $faker); $num = $app['orm.em']->getRepository('Eccube\\Entity\\Customer')->createQueryBuilder('o')->select('count(o.id)')->where('o.del_flg = 0')->getQuery()->getSingleScalarResult(); if ($num < $config['fixture_customer_num']) { $num = $config['fixture_customer_num'] - $num; for ($i = 0; $i < $num; $i++) { $email = microtime(true) . '.' . $faker->safeEmail;