Files
wp-multisite-waas/tests/Admin_Pages/Dashboard_Admin_Page_Test.php
2025-02-15 15:06:43 -07:00

44 lines
1.5 KiB
PHP

<?php
namespace WP_Ultimo\Admin_Pages;
use WP_UnitTestCase;
class Dashboard_Admin_Page_Test extends WP_UnitTestCase {
/**
* Test the register_scripts method enqueues the necessary scripts and styles.
*/
public function test_register_scripts(): void {
// Create a mock instance of Dashboard_Admin_Page and call the register_scripts method
$dashboard_admin_page = $this->getMockBuilder(Dashboard_Admin_Page::class)
->disableOriginalConstructor()
->setMethods(['output'])
->getMock();
// Fake dates for testing
$dashboard_admin_page->start_date = '2023-01-01';
$dashboard_admin_page->end_date = '2023-01-31';
// Execute register_scripts method
$dashboard_admin_page->register_scripts();
// Assert scripts are registered
$this->assertTrue(wp_script_is('wu-apex-charts', 'registered'));
$this->assertTrue(wp_script_is('wu-vue-apex-charts', 'registered'));
$this->assertTrue(wp_script_is('wu-dashboard-stats', 'registered'));
// Assert styles are registered
$this->assertTrue(wp_style_is('wu-apex-charts', 'registered'));
// Assert scripts are enqueued
$this->assertTrue(wp_script_is('wu-dashboard-stats', 'enqueued'));
// Verify localized script data is correct
$localized_vars = wp_scripts()->get_data('wu-dashboard-stats', 'data');
$this->assertStringContainsString('"month_list":["Jan ', $localized_vars);
$this->assertStringContainsString('"today":"', $localized_vars); // Check that today is included
$this->assertStringContainsString('"new_mrr":"New MRR"', $localized_vars);
}
}