- /**
- * Creates a custom content type based on default settings.
- *
- * @param array $values
- * An array of settings to change from the defaults.
- * Example: 'type' => 'foo'.
- *
- * @return \Drupal\node\Entity\NodeType
- * Created content type.
- */
- protected function createContentType(array $values = []) {
- // Find a non-existent random type name.
- if (!isset($values['type'])) {
- do {
- $id = strtolower($this->randomMachineName(8));
- } while (NodeType::load($id));
- }
- else {
- $id = $values['type'];
- }
- $values += [
- 'type' => $id,
- 'name' => $id,
- ];
- $type = NodeType::create($values);
- $status = $type->save();
- node_add_body_field($type);
-
- if ($this instanceof \PHPUnit_Framework_TestCase) {
- $this->assertSame($status, SAVED_NEW, (new FormattableMarkup('Created content type %type.', ['%type' => $type->id()]))->__toString());
- }
- else {
- $this->assertEqual($status, SAVED_NEW, (new FormattableMarkup('Created content type %type.', ['%type' => $type->id()]))->__toString());
- }
-
- return $type;
- }