Eccube\Tests\Repository\MemberRepositoryTest::testLoadUserByUsernameSetSameRecord PHP Method

testLoadUserByUsernameSetSameRecord() public method

loadUserByUsername内のgetNullOrSingleResultが正しい値を返却するかを確認する ※getNullOrSingleResultは「NonUniqueResultException」をスローするが > > 同一IDのデーターを投入→取得した際にエラーがでないか確認を行う 投入データーは、同一レコード2件 2件のデータを投入しょうとしているが、本ケースでは、LoginIdがプライマリーキーのために > > 重複データーは作成されない 重複データーが作成されなければ、getNullOrSingleResultは「NonUniqueResultException」を > > スローしないため、重複データーが登録されない事、同一プライマリーをflushしてもエラーが > > 発生しない事を確認 結果としては、一件のレコードをかえされる事を期待
    public function testLoadUserByUsernameSetSameRecord()
    {
        $this->Member = $this->app['eccube.repository.member']->find(2);
        $Work = $this->app['orm.em']->getRepository('Eccube\\Entity\\Master\\Work')->find(\Eccube\Entity\Master\Work::WORK_ACTIVE_ID);
        for ($i = 0; $i < 3; $i++) {
            $Member = new Member();
            $Member->setLoginId('member-1')->setPassword('password')->setSalt($this->app['eccube.repository.member']->createSalt(5))->setRank($i)->setWork($Work)->setDelFlg(Constant::DISABLED);
            $Member->setPassword($this->app['eccube.repository.member']->encryptPassword($Member));
            $this->app['orm.em']->persist($Member);
        }
        $this->app['orm.em']->flush();
        $this->actual = 1;
        $this->expected = count($this->app['eccube.repository.member']->loadUserByUsername('admin'));
        $this->verify();
    }