function NodeTypeTestCase::testNodeTypeCreation in Drupal 7
Tests creating a content type programmatically and via a form.
File
- modules/
node/ node.test, line 1490 - Tests for node.module.
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.');
}