InactiveDeleteNotificationTest.php in Auto Purge Users 8.3
File
tests/src/Functional/InactiveDeleteNotificationTest.php
View source
<?php
declare (strict_types=1);
namespace Drupal\Tests\purge_users\Functional;
use Drupal\Core\Test\AssertMailTrait;
class InactiveDeleteNotificationTest extends SettingsBase {
use AssertMailTrait;
public function setUp() : void {
parent::setUp();
$this
->addAdminUser();
$this
->createTestUser();
$this
->setBasicConfig();
$this
->config('purge_users.settings')
->set('user_inactive_value', '1')
->set('user_inactive_period', 'year')
->set('enabled_inactive_users', TRUE)
->set('purge_user_cancel_method', 'user_cancel_delete')
->set('send_email_notification', TRUE)
->set('send_email_user_before_notification', FALSE)
->save();
$this->userStorage = $this->container
->get('entity_type.manager')
->getStorage('user');
}
protected function checkConfirmFormResults() : void {
$captured_emails = $this
->getMails();
$this
->assertCount(2, $captured_emails);
$this
->assertEquals(static::getDeletionExpectedEmail(), $captured_emails[0]);
$this
->assertEquals(static::getCancellationExpectedEmail(), $captured_emails[1]);
$account = $this->userStorage
->load($this->admin
->id());
$this
->assertNotNull($account);
$account = $this->userStorage
->load($this->blockedUserToDelete
->id());
$this
->assertNull($account);
}
protected function checkCronResults() : void {
$captured_emails = $this
->getMails();
$this
->assertCount(1, $captured_emails);
$this
->assertEquals(static::getDeletionExpectedEmail(), $captured_emails[0]);
$account = $this->userStorage
->load($this->admin
->id());
$this
->assertNotNull($account);
$account = $this->userStorage
->load($this->blockedUserToDelete
->id());
$this
->assertNull($account);
}
protected function createTestUser() : void {
$this->blockedUserToDelete = $this
->createUser([], NULL, FALSE, [
'mail' => 'testemail@test.test',
'created' => strtotime('-2 year'),
'login' => 0,
]);
$this->blockedUserToDelete->status = 0;
$this->blockedUserToDelete
->save();
}
}