drupal/modules/simpletest/tests/taxonomy_test.test

54 lines
1.8 KiB
Plaintext

<?php
// $Id$
class TaxonomyHooksTestCase extends DrupalWebTestCase {
function getInfo() {
return array(
'name' => t('Taxonomy term hooks'),
'description' => t('Hooks for taxonomy term load/save/delete.'),
'group' => t('Taxonomy')
);
}
function setUp() {
parent::setUp('taxonomy', 'taxonomy_test');
$taxonomy_admin = $this->drupalCreateUser(array('administer taxonomy'));
$this->drupalLogin($taxonomy_admin);
}
/**
* Test that hooks are run correctly on creating, editing and deleting a term.
*/
function testTaxonomyTermHooks() {
// Create a taxonomy vocabulary.
$edit = array(
'name' => $this->randomName(),
);
$this->drupalPost('admin/content/taxonomy/add', $edit, t('Save'));
// Create a term with one antonym.
$edit = array(
'name' => $this->randomName(),
'antonyms' => 'Long',
);
$this->drupalPost('admin/content/taxonomy/1/add', $edit, t('Save'));
$terms = taxonomy_get_term_by_name($edit['name']);
$term = taxonomy_term_load($terms[0]->tid);
$this->assertEqual($term->antonyms[0], $edit['antonyms'], t('Antonyms were loaded into the term object'));
// Update the term with a different antonym.
$edit = array(
'name' => $this->randomName(),
'antonyms' => 'Short',
);
$this->drupalPost('taxonomy/term/' . $term->tid . '/edit', $edit, t('Save'));
$term = taxonomy_term_load($term->tid, TRUE);
$this->assertTrue(in_array($edit['antonyms'], $term->antonyms), t('Antonym was successfully edited'));
// Delete the term.
taxonomy_term_delete($term->tid);
$antonyms = db_query('SELECT taid FROM {term_antonym} WHERE tid = :tid', array(':tid' => $term->tid))->fetchField();
$this->assertFalse($antonyms, t('The antonyms were deleted from the database.'));
}
}