Expand and clarify tests for get_blog_post()

Remove unnecessary user factory use. Be explicit about test scenarios.

See #30080


git-svn-id: https://develop.svn.wordpress.org/trunk@30151 602fd350-edb4-49c9-b593-d223f7449a82
This commit is contained in:
Jeremy Felt 2014-11-01 04:47:00 +00:00
parent ab0324a729
commit d0fa387002

View File

@ -986,32 +986,36 @@ class Tests_Multisite_Site extends WP_UnitTestCase {
$this->assertFalse( is_upload_space_available() );
}
function test_get_blog_post() {
$user_id = $this->factory->user->create( array( 'role' => 'administrator' ) );
$blog_id = $this->factory->blog->create( array( 'user_id' => $user_id, 'path' => '/test_blogpath', 'title' => 'Test Title' ) );
$current_blog_id = get_current_blog_id();
/**
* Test the primary purpose of get_blog_post(), to retrieve a post from
* another site on the network.
*/
function test_get_blog_post_from_another_site_on_network() {
$blog_id = $this->factory->blog->create();
$post_id = $this->factory->post->create(); // Create a post on the primary site, ID 1.
$post = get_post( $post_id );
switch_to_blog( $blog_id );
// The post created and retrieved on the main site should match the one retrieved "remotely".
$this->assertEquals( $post, get_blog_post( 1, $post_id ) );
restore_current_blog();
}
/**
* If get_blog_post() is used on the same site, it should still work.
*/
function test_get_blog_post_from_same_site() {
$post_id = $this->factory->post->create();
$this->assertInstanceOf( 'WP_Post', get_post( $post_id ) );
switch_to_blog( $blog_id );
$this->assertNull( get_post( $post_id ) );
$post = get_blog_post( $current_blog_id, $post_id );
$this->assertInstanceOf( 'WP_Post', $post );
$this->assertEquals( $post_id, $post->ID );
restore_current_blog();
wp_update_post( array( 'ID' => $post_id, 'post_title' => 'A Different Title' ) );
switch_to_blog( $blog_id );
$post = get_blog_post( $current_blog_id, $post_id );
// Make sure cache is good
$this->assertEquals( 'A Different Title', $post->post_title );
$this->assertEquals( get_blog_post( 1, $post_id ), get_post( $post_id ) );
}
$post_id2 = $this->factory->post->create();
// Test get_blog_post() with currently active blog ID.
$post = get_blog_post( $blog_id, $post_id2 );
$this->assertInstanceOf( 'WP_Post', $post );
$this->assertEquals( $post_id2, $post->ID );
restore_current_blog();
/**
* A null response should be returned if an invalid post is requested.
*/
function test_get_blog_post_invalid_returns_null() {
$this->assertNull( get_blog_post( 1, 999999 ) );
}
/**