public function testThePosts() { global $wp_query; $this->assertNull($this->frontend->thePosts(null)); set_query_var('is_search', false); $posts = array(); $posts[] = new WP_Post(); $posts[] = new WP_Post(); $this->assertEquals($this->frontend->thePosts($posts), $posts); set_query_var('is_search', true); set_query_var('is_admin', true); $this->assertEquals($this->frontend->thePosts($posts), $posts); set_query_var('is_search', true); set_query_var('is_admin', false); $this->assertNotEquals($this->frontend->thePosts($posts), $posts); $post = new WP_Post(); $post->ID = 3; $posts = array($post); set_query_var('is_main_query', true); $wp_query->is_main_query = true; $wp_query->is_search = true; $wp_query->is_admin = false; $wp_query->query['s'] = 'aliyun'; $this->aliyunOpenSearchClient->shouldReceive('search')->andReturn(array('posts' => $posts, 'total' => 1))->once(); $this->frontend->preGetPosts($wp_query); $this->assertEquals($this->frontend->thePosts($posts), $posts); }