function FieldUninstallValidatorTest::testValidateNoDeleted

Same name and namespace in other branches
  1. 9 core/modules/field/tests/src/Unit/FieldUninstallValidatorTest.php \Drupal\Tests\field\Unit\FieldUninstallValidatorTest::testValidateNoDeleted()
  2. 8.9.x core/modules/field/tests/src/Unit/FieldUninstallValidatorTest.php \Drupal\Tests\field\Unit\FieldUninstallValidatorTest::testValidateNoDeleted()
  3. 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 76

Class

FieldUninstallValidatorTest
@coversDefaultClass <a href="/api/drupal/core%21modules%21field%21src%21FieldUninstallValidator.php/class/FieldUninstallValidator/11.x" title="Prevents uninstallation of modules providing active field storage." class="local">\Drupal\field\FieldUninstallValidator</a> @group field

Namespace

Drupal\Tests\field\Unit

Code

public function testValidateNoDeleted() : void {
    $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->assertEquals($expected, $reasons);
}

Buggy or inaccurate documentation? Please file an issue. Need support? Need help programming? Connect with the Drupal community.