function DrupalWebTestCase::drupalCreateContentType

Creates a custom content type based on default settings.

Parameters

$settings: An array of settings to change from the defaults. Example: 'type' => 'foo'.

Return value

Created content type.

11 calls to DrupalWebTestCase::drupalCreateContentType()
CommentFieldsTest::testCommentDefaultFields in modules/comment/comment.test
Tests that the default 'comment_body' field is correctly added.
ContextualDynamicContextTestCase::setUp in modules/contextual/contextual.test
Sets up a Drupal site for running functional and integration tests.
FieldUIManageFieldsTestCase::testDeleteField in modules/field_ui/field_ui.test
Tests that deletion removes fields and instances as expected.
FieldUITestCase::setUp in modules/field_ui/field_ui.test
Sets up a Drupal site for running functional and integration tests.
ForumTestCase::testForum in modules/forum/forum.test
Tests forum functionality through the admin and user interfaces.

... See full list

File

modules/simpletest/drupal_web_test_case.php, line 1108

Class

DrupalWebTestCase
Test case for typical Drupal tests.

Code

protected function drupalCreateContentType($settings = array()) {
    // Find a non-existent random type name.
    do {
        $name = strtolower($this->randomName(8));
    } while (node_type_get_type($name));
    // Populate defaults array.
    $defaults = array(
        'type' => $name,
        'name' => $name,
        'base' => 'node_content',
        'description' => '',
        'help' => '',
        'title_label' => 'Title',
        'has_title' => 1,
    );
    // Imposed values for a custom type.
    $forced = array(
        'orig_type' => '',
        'old_type' => '',
        'module' => 'node',
        'custom' => 1,
        'modified' => 1,
        'locked' => 0,
    );
    $type = $forced + $settings + $defaults;
    $type = (object) $type;
    $saved_type = node_type_save($type);
    node_types_rebuild();
    menu_rebuild();
    node_add_body_field($type);
    $this->assertEqual($saved_type, SAVED_NEW, t('Created content type %type.', array(
        '%type' => $type->type,
    )));
    // Reset permissions so that permissions for this content type are available.
    $this->checkPermissions(array(), TRUE);
    return $type;
}

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