public function testSaveWithRankNull() { $this->removeClass(); // 一旦全件削除 $ClassName = new ClassName(); $ClassName->setName('class-3')->setCreator($this->Member); $result = $this->app['eccube.repository.class_name']->save($ClassName); $this->assertTrue($result); $faker = $this->getFaker(); $ClassCategory = new ClassCategory(); $ClassCategory->setName($faker->name)->setClassName($ClassName)->setCreator($this->Member); $result = $this->app['eccube.repository.class_category']->save($ClassCategory); $this->assertTrue($result, '保存に成功したかどうか'); $this->expected = 1; $this->actual = $ClassCategory->getRank(); $this->verify('rank は' . $this->expected . 'ではありません'); }
/** * @param \Eccube\Entity\ClassCategory $ClassCategory * @return bool */ public function delete(\Eccube\Entity\ClassCategory $ClassCategory) { $em = $this->getEntityManager(); $em->getConnection()->beginTransaction(); try { $rank = $ClassCategory->getRank(); $ClassName = $ClassCategory->getClassName(); $em->createQueryBuilder()->update('Eccube\\Entity\\ClassCategory', 'cc')->set('cc.rank', 'cc.rank - 1')->where('cc.rank > :rank AND cc.ClassName = :ClassName')->setParameter('rank', $rank)->setParameter('ClassName', $ClassName)->getQuery()->execute(); $ClassCategory->setDelFlg(1); $em->persist($ClassCategory); $em->flush(); $em->getConnection()->commit(); } catch (\Exception $e) { $em->getConnection()->rollback(); return false; } return true; }