zend framework2 - Unit test Authentication zend2 -
i writing unit test zend2 authentication. using doctrine2.
my test case is: login method should return true on passing correct credentials.
login working perfactly. when run unit test case found following error:
"php fatal error: call undefined method mock_adapter_8d9bbc77::setidentityvalue() in.....etc ".
i tried lot not found solution.your appreciated.
my actual code authentication in service:
$authservice = $this->getservicelocator()->get('zend\authentication\authenticationservice'); $adapter = $authservice->getadapter(); $adapter->setidentityvalue($data->login);//error line $adapter->setcredentialvalue($data->password); my test case:
public function loginmethodshouldreturntrueonpassingcorrectcredentials() { $this->loginform = new login; $this->loginform->init(); $this->loginform->get('email')->setvalue('test@test.com'); $this->loginform->get('password')->setvalue('gshafdsadf123123'); $this->loginform->get('loginsubmit')->setvalue('login'); $servicelocator = bootstrap::getservicemanager(); $entitymanager = $servicelocator->get('doctrine.entitymanager.orm_default'); $entityrepositorymock = $this->getmockbuilder('ease\entityrepository\user') ->disableoriginalconstructor() ->getmock(); $entitymanager->method("getrepository") ->willreturn($entityrepositorymock); $adaptermock = $this->getmockbuilder('zend\authentication\adapter\adapter') ->disableoriginalconstructor() ->getmock(); $adaptermock->expects($this->once())->method('setidentityvalue')->with('test@test.com'); $adaptermock->expects($this->once())->method('setcredentialvalue')->with('gshafdsadf123123'); $authmock = $this->getmockbuilder('zend\authentication\authenticationservice') ->disableoriginalconstructor() ->getmock(); $authmock->expects($this->once())->method('getadapter')->willreturn($adaptermock); $servicelocator->setservice('zend\authentication\authenticationservice', $authmock); $servicelocator->setservice('doctrine.entitymanager.orm_default', $entitymanager); $userserviceinstance = $this->getuserservice(); $returnvalue = $userserviceinstance->handleloginform($this->loginform); $this->assertsame($returnvalue, true); }
Comments
Post a Comment