From 15efe5d5f1dbe2b128ccbe1a63fa2e5d6cc02d15 Mon Sep 17 00:00:00 2001 From: Angie Byron Date: Thu, 22 Jan 2009 18:25:59 +0000 Subject: #362680 by catch: Put all taxonomy tests in one spot. --- modules/taxonomy/taxonomy.test | 54 ++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 54 insertions(+) (limited to 'modules/taxonomy/taxonomy.test') diff --git a/modules/taxonomy/taxonomy.test b/modules/taxonomy/taxonomy.test index 8d6a2c1ba..0047e36ab 100644 --- a/modules/taxonomy/taxonomy.test +++ b/modules/taxonomy/taxonomy.test @@ -500,3 +500,57 @@ class TaxonomyLoadMultipleUnitTest extends TaxonomyWebTestCase { $this->assertEqual($term->tid, $loaded_term->tid, t('Term loaded by name successfully.')); } } + +/** + * Tests for taxonomy hook invocation. + */ +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.')); + } +} -- cgit v1.2.3