wordpress-develop/tests/phpunit/tests/multisite/msPermalinkCollision.php
Tonya Mork 3f6ba8aeb3 Build/Test Tools: Upgrades Tests_Multisite_MS_Permalink_Collision fixture methods and strict assertion.
Improvements include:

- Upgrades the test fixture methods to the new snake_case methods.
- Reorders the fixture methods for consistency.
- Uses strict assertions of assertSame and assertNotSame.

Follow-up to [51855-51856].

Props hellofromTonya.
See #51147.

git-svn-id: https://develop.svn.wordpress.org/trunk@51857 602fd350-edb4-49c9-b593-d223f7449a82
2021-09-23 21:29:07 +00:00

83 lines
2.0 KiB
PHP

<?php
if ( is_multisite() ) :
/**
* Tests specific to `avoid_blog_page_permalink_collision()` in multisite.
*
* @group multisite
* @group only
*/
class Tests_Multisite_MS_Permalink_Collision extends WP_UnitTestCase {
protected $suppress = false;
protected static $site_id;
protected static $root_page;
protected static $child_page;
protected static $post_and_blog_path = 'permalink-collison';
/**
* Create a blog and the pages we need to test the collision.
*/
public static function wpSetUpBeforeClass( $factory ) {
self::$site_id = self::factory()->blog->create(
array(
'path' => '/' . self::$post_and_blog_path,
)
);
self::$root_page = self::factory()->post->create_and_get(
array(
'post_type' => 'page',
'post_title' => 'Bar',
'post_name' => self::$post_and_blog_path,
)
);
self::$child_page = self::factory()->post->create_and_get(
array(
'post_parent' => self::$root_page->ID,
'post_type' => 'page',
'post_title' => 'Bar',
'post_name' => self::$post_and_blog_path,
)
);
}
/**
* Delete blog and pages we created.
*/
public static function wpTearDownAfterClass() {
wp_delete_site( self::$site_id );
wp_delete_post( self::$root_page->ID );
wp_delete_post( self::$child_page->ID );
}
public function set_up() {
global $wpdb;
parent::set_up();
$this->suppress = $wpdb->suppress_errors();
}
public function tear_down() {
global $wpdb;
$wpdb->suppress_errors( $this->suppress );
parent::tear_down();
}
public function test_avoid_blog_page_permalink_collision_renames_post_name() {
$this->assertNotSame( self::$post_and_blog_path, self::$root_page->post_name );
}
/**
* Ensure `avoid_blog_page_permalink_collision()` doesn't rename child pages post_name.
*
* @ticket 51147
*/
public function test_avoid_blog_page_permalink_collision_doesnt_rename_child_pages() {
$this->assertSame( self::$post_and_blog_path, self::$child_page->post_name );
}
}
endif;