setName('TestLogin'); $account->setName1('Donald'); $account->setName2('Fauntleroy'); $account->setName3('Duck'); $account->setLoginTries(3); $account->setEmail('d.duck@duckburg.com'); $account->setStatus(AccountStatus::ACTIVE); $account->setType(AccountType::USER); $id = AccountMapper::create($account); self::assertGreaterThan(0, $account->getId()); self::assertEquals($id, $account->getId()); $accountR = AccountMapper::get($account->getId()); self::assertEquals($account->getCreatedAt()->format('Y-m-d'), $accountR->getCreatedAt()->format('Y-m-d')); self::assertEquals($account->getName(), $accountR->getName()); self::assertEquals($account->getName1(), $accountR->getName1()); self::assertEquals($account->getName2(), $accountR->getName2()); self::assertEquals($account->getName3(), $accountR->getName3()); self::assertEquals($account->getStatus(), $accountR->getStatus()); self::assertEquals($account->getType(), $accountR->getType()); self::assertEquals($account->getEmail(), $accountR->getEmail()); self::assertEquals($account->getLoginTries(), $accountR->getLoginTries()); } /** * @testdox A empty user password results in a failed login * @covers Modules\Admin\Models\AccountMapper * @group module */ public function testEmptyPasswordLogin() : void { self::assertEquals(LoginReturnType::WRONG_PASSWORD, AccountMapper::login('admin', '')); } /** * @testdox A invalid user password results in a failed login * @covers Modules\Admin\Models\AccountMapper * @group module */ public function testInvalidPasswordLogin() : void { self::assertEquals(LoginReturnType::WRONG_PASSWORD, AccountMapper::login('admin', 'invalid')); } /** * @testdox A invalid user name results in a failed login * @covers Modules\Admin\Models\AccountMapper * @group module */ public function testInvalidUsernameLogin() : void { self::assertEquals(LoginReturnType::WRONG_USERNAME, AccountMapper::login('zzzzInvalidTestzzz', 'orange')); } /** * @testdox A valid user name and password results in a successful login * @covers Modules\Admin\Models\AccountMapper * @group module */ public function testValidLogin() : void { self::assertGreaterThan(0, AccountMapper::login('admin', 'orange')); } /** * @covers Modules\Admin\Models\AccountMapper * @group module */ public function testInvalidLoginTries() : void { $accountR = AccountMapper::get(1); $accountR->setLoginTries(0); AccountMapper::update($accountR); self::assertEquals(LoginReturnType::WRONG_INPUT_EXCEEDED, AccountMapper::login($accountR->getName(), 'orange')); $accountR->setLoginTries(3); AccountMapper::update($accountR); } /** * @covers Modules\Admin\Models\AccountMapper * @group module */ public function testInvalidLoginAccountStatus() : void { $accountR = AccountMapper::get(1); $accountR->setStatus(AccountStatus::BANNED); AccountMapper::update($accountR); self::assertEquals(LoginReturnType::INACTIVE, AccountMapper::login($accountR->getName(), 'orange')); $accountR->setStatus(AccountStatus::ACTIVE); AccountMapper::update($accountR); } /** * @covers Modules\Admin\Models\AccountMapper * @group module */ public function testEmptyLoginPassword() : void { $accountR = AccountMapper::get(1); TestUtils::setMember($accountR, 'password', ''); AccountMapper::update($accountR); self::assertEquals(LoginReturnType::EMPTY_PASSWORD, AccountMapper::login($accountR->getName(), 'orange')); $accountR->generatePassword('orange'); AccountMapper::update($accountR); } }