mirror of
https://gh.wpcy.net/https://github.com/elementor/wp2static.git
synced 2026-05-28 06:57:28 +08:00
58 lines
1.4 KiB
PHP
58 lines
1.4 KiB
PHP
<?php
|
|
|
|
namespace WP2Static;
|
|
|
|
use PHPUnit\Framework\TestCase;
|
|
use WP_Mock;
|
|
|
|
final class DetectAuthorsURLsTest extends TestCase {
|
|
|
|
|
|
public function testDetect() {
|
|
$site_url = 'https://foo.com/';
|
|
$users = [];
|
|
|
|
// Create some virtual users
|
|
for ( $i = 1; $i <= 3; $i++ ) {
|
|
// Add the user
|
|
$users[] = (object) [ 'ID' => $i ];
|
|
|
|
// Create an author URL for this user
|
|
\WP_Mock::userFunction(
|
|
'get_author_posts_url',
|
|
[
|
|
'times' => 1,
|
|
'args' => [ $i ],
|
|
'return' => "{$site_url}users/{$i}",
|
|
]
|
|
);
|
|
}
|
|
|
|
// create user missing author URL
|
|
$users[] = (object) [ 'ID' => 4 ];
|
|
\WP_Mock::userFunction(
|
|
'get_author_posts_url',
|
|
[
|
|
'times' => 1,
|
|
'args' => [ 4 ],
|
|
'return' => null,
|
|
]
|
|
);
|
|
|
|
\WP_Mock::userFunction(
|
|
'get_users',
|
|
[
|
|
'times' => 1,
|
|
'return' => $users,
|
|
]
|
|
);
|
|
|
|
$expected = [
|
|
"{$site_url}users/1",
|
|
"{$site_url}users/2",
|
|
"{$site_url}users/3",
|
|
];
|
|
$actual = DetectAuthorsURLs::detect();
|
|
$this->assertEquals( $expected, $actual );
|
|
}
|
|
}
|