You are here

public function FieldUninstallValidatorTest::testValidateNoDeleted in Drupal 8

Same name and namespace in other branches
  1. 9 core/modules/field/tests/src/Unit/FieldUninstallValidatorTest.php \Drupal\Tests\field\Unit\FieldUninstallValidatorTest::testValidateNoDeleted()
  2. 10 core/modules/field/tests/src/Unit/FieldUninstallValidatorTest.php \Drupal\Tests\field\Unit\FieldUninstallValidatorTest::testValidateNoDeleted()

@covers ::validate

File

core/modules/field/tests/src/Unit/FieldUninstallValidatorTest.php, line 77

Class

FieldUninstallValidatorTest
@coversDefaultClass \Drupal\field\FieldUninstallValidator @group field

Namespace

Drupal\Tests\field\Unit

Code

public function testValidateNoDeleted() {
  $field_storage = $this
    ->getMockBuilder('Drupal\\field\\Entity\\FieldStorageConfig')
    ->disableOriginalConstructor()
    ->getMock();
  $field_storage
    ->expects($this
    ->once())
    ->method('isDeleted')
    ->willReturn(FALSE);
  $field_type = $this
    ->randomMachineName();
  $field_storage
    ->expects($this
    ->once())
    ->method('getType')
    ->willReturn($field_type);
  $field_name = $this
    ->randomMachineName();
  $field_storage
    ->expects($this
    ->once())
    ->method('getLabel')
    ->willReturn($field_name);
  $this->fieldUninstallValidator
    ->expects($this
    ->once())
    ->method('getFieldStoragesByModule')
    ->willReturn([
    $field_storage,
  ]);
  $field_type_label = $this
    ->randomMachineName();
  $this->fieldUninstallValidator
    ->expects($this
    ->once())
    ->method('getFieldTypeLabel')
    ->willReturn($field_type_label);
  $module = $this
    ->randomMachineName();
  $expected = [
    "The <em class=\"placeholder\">{$field_type_label}</em> field type is used in the following field: {$field_name}",
  ];
  $reasons = $this->fieldUninstallValidator
    ->validate($module);
  $this
    ->assertSame($expected, $this
    ->castSafeStrings($reasons));
}