Index: drupal_test_case.php =================================================================== RCS file: /cvs/drupal-contrib/contributions/modules/simpletest/drupal_test_case.php,v retrieving revision 1.45 diff -u -r1.45 drupal_test_case.php --- drupal_test_case.php 20 Jan 2008 10:32:21 -0000 1.45 +++ drupal_test_case.php 21 Jan 2008 03:48:27 -0000 @@ -32,40 +32,21 @@ * * @param settings An array of settings to change from the defaults, in the form of 'body' => 'Hello, world!' */ - function drupalCreateNode($settings = array()) { - + function drupalCreateNode($settings = array(), $type = 'page') { + $content_type = db_fetch_array(db_query("select name, has_body from {node_type} where type='%s'", $type)); // Populate defaults array - $defaults = array( - 'body' => $this->randomName(32), - 'title' => $this->randomName(8), - 'comment' => 2, - 'changed' => time(), - 'format' => 1, - 'moderate' => 0, - 'promote' => 0, - 'revision' => 1, - 'log' => '', - 'status' => 1, - 'sticky' => 0, - 'type' => 'page', - 'revisions' => NULL, - 'taxonomy' => NULL, - ); - $defaults['teaser'] = $defaults['body']; - // If we already have a node, we use the original node's created time, and this - $defaults['date'] = format_date($defaults['created'], 'custom', 'Y-m-d H:i:s O'); + $defaults['title'] = $this->randomName(8); + if ($content_type['has_body']) { + $defaults['body'] = $this->randomName(32); + } + + $edit = ($settings + $defaults); - if (empty($settings['uid'])) { - global $user; - $defaults['uid'] = $user->uid; - } - $node = ($settings + $defaults); - $node = (object)$node; - - node_save($node); + $this->drupalPostRequest("node/add/". $type, $edit, 'Save'); + $this->assertWantedRaw(t('!type %title has been created.', array ('!type' => $content_type['name'], '%title' => $edit['title'])), $content_type['name'] .' created'); - // small hack to link revisions to our test user - db_query('UPDATE {node_revisions} SET uid = %d WHERE vid = %d', $node->uid, $node->vid); + $node = node_load(array('title' => $edit['title'])); + $this->assertNotNull($node, $content_type['name'] ." loaded successfully"); $this->_cleanupNodes[] = $node->nid; return $node; }