WordPress.org

Make WordPress Core

Ticket #39055: 39055_tests_current_behavior.diff

File 39055_tests_current_behavior.diff, 3.5 KB (added by fibonaccina, 3 years ago)

Tests changed to reflect current behavior

  • tests/phpunit/tests/query/search.php

     
    88        protected $q;
    99        protected $post_type;
    1010
     11        static $post_ids = array();
     12
     13        public static function wpSetUpBeforeClass( $factory ) {
     14
     15                self::$post_ids[] = $factory->post->create( array( 'post_status'  => 'publish',
     16                                                                   'post_title'   => 'Test post 1',
     17                                                                   'post_content' => '',
     18                                                                   'post_excerpt' => ''
     19                ) );
     20                self::$post_ids[] = $factory->post->create( array( 'post_status'  => 'publish',
     21                                                                   'post_title'   => '',
     22                                                                   'post_content' => 'Test post 2',
     23                                                                   'post_excerpt' => ''
     24                ) );
     25                self::$post_ids[] = $factory->post->create( array( 'post_status'  => 'publish',
     26                                                                   'post_title'   => '',
     27                                                                   'post_content' => '',
     28                                                                   'post_excerpt' => 'Test post 3'
     29                ) );
     30        }
     31
     32        public static function wpTearDownAfterClass() {
     33                foreach( self::$post_ids as $id ) {
     34                        wp_delete_post( $id );
     35                }
     36        }
     37
    1138        function setUp() {
    1239                parent::setUp();
    1340
     
    330357        }
    331358
    332359        /**
     360         * @ticket 39055
     361         */
     362        public function test_search_order_with_include_array_when_no_order_specified() {
     363                $include_array = array ( self::$post_ids[0], self::$post_ids[1], self::$post_ids[2] );
     364                $expected_returned_array = array ( self::$post_ids[2], self::$post_ids[1], self::$post_ids[0] );
     365
     366                $q = new WP_Query( array(
     367                        'include' => $include_array,
     368                        'orderby' => 'include',
     369                        'fields'  => 'ids'
     370                ) );
     371
     372                // Expect post ids from higher to lower value (default DESC) when no 'order' param is passed in
     373                $this->assertSame( $expected_returned_array, $q->posts );
     374        }
     375
     376        /**
     377         * @ticket 39055
     378         */
     379        public function test_search_order_with_include_array_when_order_asc() {
     380                $include_array = array ( self::$post_ids[2], self::$post_ids[1], self::$post_ids[0] );
     381                $expected_returned_array = array ( self::$post_ids[0], self::$post_ids[1], self::$post_ids[2] );
     382
     383                $q = new WP_Query( array(
     384                        'include' => $include_array,
     385                        'orderby' => 'include',
     386                        'order'   => 'asc',
     387                        'fields'  => 'ids'
     388                ) );
     389
     390                // Expect post ids from lower to higher value when order=asc is passed in
     391                $this->assertSame( $expected_returned_array, $q->posts );
     392        }
     393
     394        /**
     395         * @ticket 39055
     396         */
     397        public function test_search_order_with_include_array_when_order_desc() {
     398                $include_array = array ( self::$post_ids[1], self::$post_ids[2], self::$post_ids[0] );
     399                // If input include array is not sorted, results are returned in sorted order
     400                $expected_returned_array = array ( self::$post_ids[2], self::$post_ids[1], self::$post_ids[0] );
     401
     402                $q = new WP_Query( array(
     403                        'include' => $include_array,
     404                        'orderby' => 'include',
     405                        'order'   => 'desc',
     406                        'fields'  => 'ids'
     407                ) );
     408
     409                // Expect post ids from higher to lower value when order=desc is passed in
     410                $this->assertSame( $expected_returned_array, $q->posts );
     411        }
     412
     413        /**
    333414         * Unfiltered search queries for attachment post types should not inlcude
    334415         * filenames to ensure the postmeta JOINs don't happen on the front end.
    335416         *