public function testHasForgottenPassword_KeySetConsumeKey_HasForgottenKeyConsumed() { $e = new MongoTestEnvironment(); $e->clean(); $userId = $e->createUser('user1', 'User1', 'user1'); $user = new UserModel($userId); $user->setForgotPassword(7); $user->write(); $hasForgottenPassword = $user->hasForgottenPassword(true); $this->assertTrue($hasForgottenPassword); $this->assertFalse($user->resetPasswordKey); $today = new \DateTime(); $hourMargin = 60; $this->assertWithinMargin($user->resetPasswordExpirationDate->getTimestamp(), $today->getTimestamp(), $hourMargin); }