public function ReadonlymodeKernelTest::testReadonlyValidation in Read only mode 2.0.x
Make sure that entities fail validation during read-only maintenance mode.
File
- tests/
src/ Kernel/ ReadonlymodeKernelTest.php, line 39
Class
- ReadonlymodeKernelTest
- Test the entity validation.
Namespace
Drupal\Tests\readonlymode\KernelCode
public function testReadonlyValidation() {
$existing = $this
->createUser();
$violations = $existing
->validate();
self::assertEquals(0, $violations
->count());
/** @var \Drupal\readonlymode\ReadonlymodeManager $manager */
$manager = \Drupal::service('readonlymode.manager');
self::assertFalse($manager
->isReadonly());
$manager
->setReadonly(TRUE);
self::assertTrue($manager
->isReadonly());
$name = $this
->randomMachineName();
$new = User::create([
'name' => $name,
'mail' => $name . '@example.com',
'pass' => \Drupal::service('password_generator')
->generate(),
'status' => 1,
]);
// This warning is configurable, here we test also the token replacement.
$warning = 'Data not saved. Drupal is currently under maintenance.';
$violations = $new
->validate();
self::assertEquals(1, $violations
->count());
self::assertEquals($warning, $violations[0]
->getMessage());
$violations = $existing
->validate();
self::assertEquals(1, $violations
->count());
self::assertEquals($warning, $violations[0]
->getMessage());
}