userList = [Helper::makeUser('userhist.' . randomString(6), 'userhist')]; } public function tearDown(): void { foreach ($this->userList as $user) { $user->remove(); } } public function testHistoryEmail(): void { $user = $this->userList[0]; $email = $user->email(); $newEmail = "new-$email"; $this->assertEquals( 1, $user->history()->registerNewEmail($newEmail, true), 'userhist-record-email' ); $this->assertEquals(2, $user->history()->emailTotal(), 'userhist-email-total'); $list = $user->history()->email(new Search\ASN()); $this->assertEquals($newEmail, $list[0]['email'], 'userhist-list-0'); $this->assertEquals($email, $list[1]['email'], 'userhist-list-1'); } public function testEmailDuplicate(): void { $user = Helper::makeUser('userhist.' . randomString(6), 'userhist'); $this->userList[] = $user; $email = $this->userList[0]->email(); $user->history()->registerNewEmail($email, true); $user->setField('Email', $email)->modify(); $duplicate = $user->history()->emailDuplicate(new Search\ASN()); $this->assertCount(1, $duplicate, 'email-duplicate-count'); $this->assertEquals($this->userList[0]->id, $duplicate[0]['user_id'], 'email-duplicate-user-id'); } public function testEmailReset(): void { $user = $this->userList[0]; $email = 'reset@phpunit'; $this->assertEquals(1, $user->history()->resetEmail($email, '127.2.3.4'), 'email-reset-action'); $this->assertEquals($email, $user->history()->email(new Search\ASN())[0]['email'], 'email-reset-address'); } public function testIpHistory(): void { $user = $this->userList[0]; $this->assertEquals(1, $user->history()->registerSiteIp('127.10.11.12'), 'ipaddr-register'); $this->assertEquals(2, $user->history()->registerSiteIp('127.10.11.12'), 'ipaddr-reregister'); $list = $user->history()->siteIP(); $this->assertCount(1, $list, 'ipaddr-site-history'); $this->assertEquals('127.10.11.12', $list[0]['ip'], 'ipaddr-site-ip'); $this->assertTrue(Helper::recentDate($list[0]['last_seen']->format('c')), 'ipaddr-site-last-seen'); } }