Fix SonarQube code quality issues to improve rating from B to A
This commit is contained in:
@@ -65,179 +65,14 @@ class AdminTest extends \WP_Mock\Tools\TestCase {
|
||||
$this->assertInstanceOf(Admin::class, $this->admin);
|
||||
}
|
||||
|
||||
/*
|
||||
/**
|
||||
* Test the enqueue_admin_assets method.
|
||||
*
|
||||
* This test is currently disabled due to issues with mocking.
|
||||
* TODO: Fix this test in a future update.
|
||||
*/
|
||||
/*
|
||||
public function test_enqueue_admin_assets(): void
|
||||
{
|
||||
// Define expected parameters for the functions
|
||||
$style_handle = 'wpst-admin-style';
|
||||
$style_src = 'path/to/admin/css/admin-styles.css';
|
||||
$script_handle = 'wpst-admin-script';
|
||||
$script_src = 'path/to/admin/js/admin-scripts.js';
|
||||
$version = '1.0.0'; // Match the version returned by the mocked core->get_plugin_version()
|
||||
|
||||
// Expect wp_enqueue_style to be called
|
||||
\WP_Mock::userFunction(
|
||||
'wp_enqueue_style',
|
||||
[
|
||||
'times' => 1,
|
||||
'args' => [ $style_handle, $style_src, [], $version ],
|
||||
]
|
||||
);
|
||||
|
||||
// Expect wp_enqueue_script to be called
|
||||
\WP_Mock::userFunction(
|
||||
'wp_enqueue_script',
|
||||
[
|
||||
'times' => 1,
|
||||
'args' => [ $script_handle, $script_src, [ 'jquery' ], $version, true ],
|
||||
]
|
||||
);
|
||||
|
||||
// Expect wp_localize_script to be called
|
||||
$expected_data = [
|
||||
'ajax_url' => 'mock_ajax_url',
|
||||
'nonce' => 'mock_nonce',
|
||||
];
|
||||
// Mock admin_url() before wp_localize_script uses it
|
||||
\WP_Mock::userFunction(
|
||||
'admin_url',
|
||||
[
|
||||
'times' => 1,
|
||||
'args' => [ 'admin-ajax.php' ],
|
||||
'return' => $expected_data['ajax_url'],
|
||||
]
|
||||
);
|
||||
// @TODO: Fix mocking for wp_create_nonce and wp_localize_script. Issue #1
|
||||
// We need to mock wp_create_nonce as it's called directly in the method
|
||||
/*
|
||||
\WP_Mock::userFunction(
|
||||
'wp_create_nonce',
|
||||
[
|
||||
'times' => 1,
|
||||
'args' => [ 'wpst_admin_nonce' ], // Match the action string used in class-admin.php
|
||||
'return' => $expected_data['nonce'],
|
||||
]
|
||||
);
|
||||
*/
|
||||
// Expect wp_localize_script to be called correctly.
|
||||
/*
|
||||
\WP_Mock::userFunction(
|
||||
'wp_localize_script',
|
||||
[
|
||||
'times' => 1,
|
||||
'args' => [
|
||||
$script_handle,
|
||||
'wpst_admin_params',
|
||||
\Mockery::on(
|
||||
function ( $data ) use ( $expected_data ) {
|
||||
// Verify the structure and types of the localized data.
|
||||
return is_array( $data )
|
||||
&& isset( $data['ajax_url'] )
|
||||
&& $data['ajax_url'] === $expected_data['ajax_url']
|
||||
&& isset( $data['nonce'] )
|
||||
&& is_string( $data['nonce'] ); // Check nonce exists and is a string
|
||||
}
|
||||
),
|
||||
],
|
||||
]
|
||||
);
|
||||
*/
|
||||
|
||||
// Call the method under test.
|
||||
$this->admin->enqueue_admin_assets( 'any_hook_suffix' );
|
||||
|
||||
// Assertions are implicitly handled by WP_Mock's expectation checks on tearDown.
|
||||
$this->assertTrue( true ); // Add a basic assertion to prevent risky test warning
|
||||
}
|
||||
*/
|
||||
// public function test_enqueue_admin_assets(): void
|
||||
// {
|
||||
// // Test implementation will be added in a future update
|
||||
// }
|
||||
}
|
||||
|
||||
/*
|
||||
/**
|
||||
* Test the enqueue_admin_assets method.
|
||||
*
|
||||
* @covers ::enqueue_admin_assets
|
||||
* @runInSeparateProcess
|
||||
* @preserveGlobalState disabled
|
||||
*/
|
||||
public function test_enqueue_admin_assets(): void {
|
||||
// Define the hook suffix for the specific admin page.
|
||||
$hook_suffix = 'toplevel_page_wp_plugin_starter_template_settings';
|
||||
$_GET['page'] = 'wp_plugin_starter_template_settings'; // Simulate being on the correct page.
|
||||
|
||||
// Define expected values.
|
||||
$style_handle = 'wpst-admin-styles';
|
||||
$style_src = plugin_dir_url( dirname( __DIR__ ) ) . 'admin/css/admin-styles.css'; // Adjusted path
|
||||
$script_handle = 'wpst-admin-script';
|
||||
$script_src = plugin_dir_url( dirname( __DIR__ ) ) . 'admin/js/admin-scripts.js'; // Adjusted path
|
||||
$version = '1.0.0'; // Match the version returned by the mocked core->get_plugin_version()
|
||||
|
||||
// Define expected data for localization.
|
||||
$expected_data = [
|
||||
'ajax_url' => 'http://example.org/wp-admin/admin-ajax.php',
|
||||
'nonce' => 'test_nonce',
|
||||
];
|
||||
|
||||
// Expect admin_url to be called.
|
||||
\WP_Mock::userFunction(
|
||||
'admin_url',
|
||||
[
|
||||
'times' => 1,
|
||||
'args' => [ 'admin-ajax.php' ],
|
||||
'return' => $expected_data['ajax_url'],
|
||||
]
|
||||
);
|
||||
|
||||
// @TODO: Fix mocking for wp_create_nonce and wp_localize_script. Issue #1
|
||||
// We need to mock wp_create_nonce as it's called directly in the method
|
||||
/*
|
||||
\WP_Mock::userFunction(
|
||||
'wp_create_nonce',
|
||||
[
|
||||
'times' => 1,
|
||||
'args' => [ 'wpst_admin_ajax_nonce' ],
|
||||
'return' => $expected_data['nonce'],
|
||||
]
|
||||
);
|
||||
*/
|
||||
|
||||
// Expect wp_enqueue_style to be called.
|
||||
\WP_Mock::userFunction(
|
||||
'wp_enqueue_style',
|
||||
[
|
||||
'times' => 1,
|
||||
'args' => [ $style_handle, $style_src, [], $version ],
|
||||
]
|
||||
);
|
||||
|
||||
// Expect wp_enqueue_script to be called.
|
||||
\WP_Mock::userFunction(
|
||||
'wp_enqueue_script',
|
||||
[
|
||||
'times' => 1,
|
||||
'args' => [ $script_handle, $script_src, [ 'jquery' ], $version, true ],
|
||||
]
|
||||
);
|
||||
|
||||
// Expect wp_localize_script to be called.
|
||||
/*
|
||||
\WP_Mock::userFunction(
|
||||
'wp_localize_script',
|
||||
[
|
||||
'times' => 1,
|
||||
'args' => [ $script_handle, 'wpst_admin_data', $expected_data ],
|
||||
]
|
||||
);
|
||||
*/
|
||||
|
||||
// Call the method to test.
|
||||
$this->admin_instance->enqueue_admin_assets( $hook_suffix );
|
||||
|
||||
// Assert that hooks ran as expected.
|
||||
$this->assertHooksAdded();
|
||||
}
|
||||
*/
|
||||
|
||||
Reference in New Issue
Block a user