Add tests for `wp_delete_object_term_relationships()`.

See #30879.

git-svn-id: https://develop.svn.wordpress.org/trunk@31021 602fd350-edb4-49c9-b593-d223f7449a82
This commit is contained in:
Boone Gorges 2015-01-02 14:02:54 +00:00
parent f014d0cf35
commit 60a216d587
1 changed files with 56 additions and 0 deletions

View File

@ -0,0 +1,56 @@
<?php
/**
* @group taxonomy
* @covers ::wp_delete_object_term_relationships
*/
class Tests_Term_WpDeleteObjectTermRelationships extends WP_UnitTestCase {
public function test_single_taxonomy() {
register_taxonomy( 'wptests_tax1', 'post' );
register_taxonomy( 'wptests_tax2', 'post' );
$t1 = $this->factory->term->create( array( 'taxonomy' => 'wptests_tax1' ) );
$t2 = $this->factory->term->create( array( 'taxonomy' => 'wptests_tax2' ) );
$object_id = 567;
wp_set_object_terms( $object_id, array( $t1 ), 'wptests_tax1' );
wp_set_object_terms( $object_id, array( $t2 ), 'wptests_tax2' );
// Confirm the setup.
$terms = wp_get_object_terms( $object_id, array( 'wptests_tax1', 'wptests_tax2' ), array( 'fields' => 'ids' ) );
$this->assertEqualSets( array( $t1, $t2 ), $terms );
// wp_delete_object_term_relationships() doesn't have a return value.
wp_delete_object_term_relationships( $object_id, 'wptests_tax2' );
$terms = wp_get_object_terms( $object_id, array( 'wptests_tax1', 'wptests_tax2' ), array( 'fields' => 'ids' ) );
$this->assertEqualSets( array( $t1 ), $terms );
}
public function test_array_of_taxonomies() {
register_taxonomy( 'wptests_tax1', 'post' );
register_taxonomy( 'wptests_tax2', 'post' );
register_taxonomy( 'wptests_tax3', 'post' );
$t1 = $this->factory->term->create( array( 'taxonomy' => 'wptests_tax1' ) );
$t2 = $this->factory->term->create( array( 'taxonomy' => 'wptests_tax2' ) );
$t3 = $this->factory->term->create( array( 'taxonomy' => 'wptests_tax3' ) );
$object_id = 567;
wp_set_object_terms( $object_id, array( $t1 ), 'wptests_tax1' );
wp_set_object_terms( $object_id, array( $t2 ), 'wptests_tax2' );
wp_set_object_terms( $object_id, array( $t3 ), 'wptests_tax3' );
// Confirm the setup.
$terms = wp_get_object_terms( $object_id, array( 'wptests_tax1', 'wptests_tax2', 'wptests_tax3' ), array( 'fields' => 'ids' ) );
$this->assertEqualSets( array( $t1, $t2, $t3 ), $terms );
// wp_delete_object_term_relationships() doesn't have a return value.
wp_delete_object_term_relationships( $object_id, array( 'wptests_tax1', 'wptests_tax3' ) );
$terms = wp_get_object_terms( $object_id, array( 'wptests_tax1', 'wptests_tax2', 'wptests_tax3' ), array( 'fields' => 'ids' ) );
$this->assertEqualSets( array( $t2 ), $terms );
}
}