diff --git a/tests/phpunit/tests/term/meta.php b/tests/phpunit/tests/term/meta.php index 1024881042..684dde41cb 100644 --- a/tests/phpunit/tests/term/meta.php +++ b/tests/phpunit/tests/term/meta.php @@ -150,6 +150,41 @@ class Tests_Term_Meta extends WP_UnitTestCase { } } + public function test_adding_term_meta_should_bust_get_terms_cache() { + $terms = self::factory()->term->create_many( 2, array( 'taxonomy' => 'wptests_tax' ) ); + + add_term_meta( $terms[0], 'foo', 'bar' ); + + // Prime cache. + $found = get_terms( 'wptests_tax', array( + 'hide_empty' => false, + 'fields' => 'ids', + 'meta_query' => array( + array( + 'key' => 'foo', + 'value' => 'bar', + ), + ), + ) ); + + $this->assertEqualSets( array( $terms[0] ), $found ); + + add_term_meta( $terms[1], 'foo', 'bar' ); + + $found = get_terms( 'wptests_tax', array( + 'hide_empty' => false, + 'fields' => 'ids', + 'meta_query' => array( + array( + 'key' => 'foo', + 'value' => 'bar', + ), + ), + ) ); + + $this->assertEqualSets( array( $terms[0], $terms[1] ), $found ); + } + public function test_updating_term_meta_should_bust_get_terms_cache() { $terms = self::factory()->term->create_many( 2, array( 'taxonomy' => 'wptests_tax' ) );