diff --git a/modules/node/node.test b/modules/node/node.test index 0de3355ca52715dcf8df96808f0002b0a70d03a5..a48782b088876f1beaf5c8d375a4c0c4c571f673 100644 --- a/modules/node/node.test +++ b/modules/node/node.test @@ -840,6 +840,23 @@ class NodeTypeTestCase extends DrupalWebTestCase { $this->assertEqual($node_types['article']->name, node_type_get_name('article'), t('Correct node type name has been returned.')); $this->assertEqual($node_types['page']->base, node_type_get_base('page'), t('Correct node type base has been returned.')); } + + /** + * Test creating a content type. + */ + function testNodeTypeCreation() { + $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.'); + } } /** diff --git a/modules/simpletest/drupal_web_test_case.php b/modules/simpletest/drupal_web_test_case.php index 80495ede6b4f3d5a5611b636bda6c383ab797a57..455a1213a0e725b23c86631c7bec18e53a400e75 100644 --- a/modules/simpletest/drupal_web_test_case.php +++ b/modules/simpletest/drupal_web_test_case.php @@ -762,6 +762,7 @@ protected function drupalCreateContentType($settings = array()) { $defaults = array( 'type' => $name, 'name' => $name, + 'base' => 'node_content', 'description' => '', 'help' => '', 'title_label' => 'Title', @@ -783,6 +784,7 @@ protected function drupalCreateContentType($settings = array()) { $saved_type = node_type_save($type); node_types_rebuild(); + menu_rebuild(); $this->assertEqual($saved_type, SAVED_NEW, t('Created content type %type.', array('%type' => $type->type)));