function NodeTypeTestCase::testNodeTypeCreation

Tests creating a content type programmatically and via a form.

File

modules/node/node.test, line 1511

Class

NodeTypeTestCase
Tests related to node types.

Code

function testNodeTypeCreation() {
  // Create a content type programmaticaly.
  $type = $this->drupalCreateContentType();
  $type_exists = db_query('SELECT 1 FROM {node_type} WHERE type = :type', array(
    ':type' => $type->type,
  ))
    ->fetchField();
  $this->assertTrue($type_exists, 'The new content type has been created in the database.');
  // Login a test user.
  $web_user = $this->drupalCreateUser(array(
    'create ' . $type->name . ' content',
  ));
  $this->drupalLogin($web_user);
  $this->drupalGet('node/add/' . str_replace('_', '-', $type->name));
  $this->assertResponse(200, 'The new content type can be accessed at node/add.');
  // Create a content type via the user interface.
  $web_user = $this->drupalCreateUser(array(
    'bypass node access',
    'administer content types',
  ));
  $this->drupalLogin($web_user);
  $edit = array(
    'name' => 'foo',
    'title_label' => 'title for foo',
    'type' => 'foo',
  );
  $this->drupalPost('admin/structure/types/add', $edit, t('Save content type'));
  $type_exists = db_query('SELECT 1 FROM {node_type} WHERE type = :type', array(
    ':type' => 'foo',
  ))->fetchField();
  $this->assertTrue($type_exists, 'The new content type has been created in the database.');
}

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