NotificationBeforeUserDeletionTest.php in Auto Purge Users 8.3
File
tests/src/Functional/NotificationBeforeUserDeletionTest.php
View source
<?php
namespace Drupal\Tests\purge_users\Functional;
use Drupal\Core\Test\AssertMailTrait;
class NotificationBeforeUserDeletionTest 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', '5')
->set('user_inactive_period', 'days')
->set('enabled_inactive_users', TRUE)
->set('user_before_notification_value', '2')
->set('user_before_notification_period', 'days')
->set('send_email_user_before_notification', TRUE)
->set('send_email_notification', FALSE)
->save();
$this->userStorage = $this->container
->get('entity_type.manager')
->getStorage('user');
}
protected function checkConfirmFormResults() : void {
$captured_emails = $this
->getMails();
$this
->assertCount(0, $captured_emails);
$account = $this->userStorage
->load($this->admin
->id());
$this
->assertNotNull($account);
$account = $this->userStorage
->load($this->blockedUserToDelete
->id());
$this
->assertNotNull($account);
}
protected function checkCronResults() : void {
$captured_emails = $this
->getMails();
$this
->assertCount(1, $captured_emails);
$this
->assertEquals(static::getCancellationExpectedEmail(), $captured_emails[0]);
$account = $this->userStorage
->load($this->admin
->id());
$this
->assertNotNull($account);
$account = $this->userStorage
->load($this->blockedUserToDelete
->id());
$this
->assertNotNull($account);
}
protected function createTestUser() : void {
$this->blockedUserToDelete = $this
->createUser([], NULL, FALSE, [
'mail' => 'testemail@test.test',
'created' => strtotime('-3 day'),
'login' => 0,
]);
$this->blockedUserToDelete->status = 0;
$this->blockedUserToDelete
->save();
}
}