View source
<?php
namespace Drupal\Tests\acquia_contenthub\Functional;
use Drupal\Component\Serialization\Json;
use Drupal\Core\StringTranslation\StringTranslationTrait;
class FieldClearingNodeTest extends ContentHubTestBase {
use StringTranslationTrait;
protected $adminUserPermissions = [
'bypass node access',
'administer acquia content hub',
'administer content types',
'access administration pages',
'administer node fields',
];
protected $adminRole;
public static $modules = [
'node',
'acquia_contenthub',
'field',
'field_ui',
'user',
];
public function testFieldClearing() {
$this->adminRole = $this
->createAdminRole('administrator', 'Administrator');
$this
->drupalLogin($this->adminUser);
$entity = $this
->drupalCreateNode([
'type' => 'article',
'title' => 'Test Title',
'body' => [
[
'value' => 'Test Body',
'format' => filter_default_format(),
],
],
]);
$this
->configureContentHubContentTypes('node', [
'article',
]);
$output = $this
->drupalGetCdf('acquia-contenthub-cdf/' . $entity
->getEntityTypeId() . '/' . $entity
->id(), [
'query' => [
'include_references' => 'true',
],
]);
$this
->assertSession()
->statusCodeEquals(200);
$this
->assertEquals($output['entities']['0']['uuid'], $entity
->uuid());
$this
->assertEquals($output['entities']['0']['attributes']['title']['value']['en'], 'Test Title');
$json_body = $output['entities']['0']['attributes']['body']['value']['en'][0];
$body = Json::decode($json_body);
$this
->assertEquals($body['value'], 'Test Body');
$node_edit_url = 'node/' . $entity
->id() . '/edit';
$edit = [];
$edit['body[0][value]'] = '';
$this
->drupalPostForm($node_edit_url, $edit, $this
->t('Save'));
$output = $this
->drupalGetCdf('acquia-contenthub-cdf/' . $entity
->getEntityTypeId() . '/' . $entity
->id(), [
'query' => [
'include_references' => 'true',
],
]);
$this
->assertSession()
->statusCodeEquals(200);
$this
->assertEquals($output['entities']['0']['uuid'], $entity
->uuid());
$this
->assertEquals($output['entities']['0']['attributes']['title']['value']['en'], 'Test Title');
$json_body = $output['entities']['0']['attributes']['body']['value']['en'];
$body = Json::decode($json_body);
$this
->assertEquals($body, NULL);
}
}