public function testSaveAndGet() { for ($i = 0; $i < count($this->providerUserList); $i++) { /* @var $providerUser ProviderUser */ $providerUser = $this->providerUserList[$i]; $this->providerUserBook->save($this->providerUserList[$i]); $this->providerUserList[$i] = $providerUser; } $providerUsersInDB = $this->providerUserBook->get(); $this->assertEquals(count($this->providerUserList), count($providerUsersInDB)); for ($i = 0; $i < count($this->providerUserList); $i++) { $currentProviderUser = $this->providerUserList[$i]; $providerUsersInDb = $this->providerUserBook->get($currentProviderUser->getUserId(), $currentProviderUser->getProviderId(), $currentProviderUser->getProviderUserId()); $providerUserInDB = $providerUsersInDb[0]; $this->assertEquals($currentProviderUser, $providerUserInDB); } }
/** * @param int|null $userId * @param string|null $username * @param string|null $email * @return User[] * @throws \Exception */ public function get($userId = null, $username = null, $email = null) { MDataType::mustBeNullableInt($userId); MDataType::mustBeNullableString($username); MDataType::mustBeNullableString($email); $userList = array(); $sql = "CALL mt_user_get(?, ?, ?);"; $query = new MPDOQuery($sql, $this->connection); $query->bindValue($userId); $query->bindValue($username); $query->bindValue($email); $queryResult = $query->exec(); if ($queryResult == false || $query->getResult()->rowCount() <= 0) { return $userList; } foreach ($query->getResult() as $row) { $user = new User(); $enabledDate = \DateTime::createFromFormat('Y-m-d H:i:s', $row['enabled_date']); $user->setId((int) $row['id'])->setEmail($row['email'])->setPassword($row['password'])->setPhoneNumber($row['phone_number'])->setTwoFactorEnabled($row['two_factor_enabled'] == 1 ? true : false)->setEnabledDate($enabledDate)->setEnabled($row['enabled'] == 1 ? true : false)->setAccessFailedCount((int) $row['access_failed_count'])->setUserName($row['username'])->setRoleList($this->roleBook->get((int) $row['id']))->setProviderUserList($this->providerUserBook->get((int) $row['id'])); $userList[] = $user; } return $userList; }