37 lines
1.2 KiB
PHP
37 lines
1.2 KiB
PHP
<?php
|
|
|
|
namespace Tests\Feature;
|
|
|
|
use Illuminate\Foundation\Testing\RefreshDatabase;
|
|
use Tests\TestCase;
|
|
|
|
class AdminPlatformOrderIndexRowWarnStyleScopedTest extends TestCase
|
|
{
|
|
use RefreshDatabase;
|
|
|
|
protected function loginAsPlatformAdmin(): void
|
|
{
|
|
$this->seed();
|
|
|
|
$this->post('/admin/login', [
|
|
'email' => 'platform.admin@demo.local',
|
|
'password' => 'Platform@123456',
|
|
])->assertRedirect('/admin');
|
|
}
|
|
|
|
public function test_row_warn_style_is_scoped_under_platform_orders_table_only(): void
|
|
{
|
|
$this->loginAsPlatformAdmin();
|
|
|
|
// 通过直接读取 CSS 内容做“范围约束”断言:必须以 .platform-orders-table 开头,避免全局污染
|
|
$css = file_get_contents(public_path('css/admin-components.css'));
|
|
|
|
$this->assertIsString($css);
|
|
// 允许同一套样式同时覆盖仪表盘最近订单(通过 [data-page="admin.dashboard"] 范围),但平台订单列表的 scope 仍必须存在。
|
|
$this->assertStringContainsString('.platform-orders-table .row-warn', $css);
|
|
|
|
// 仅避免“全局 .row-warn{...}”这种写法(会污染其它页面)。
|
|
$this->assertStringNotContainsString("\n.row-warn{", $css);
|
|
}
|
|
}
|