新增订单利润页面、共享镜像查询、筛选聚合、明细展示、列设置与导出。 验证:20 项测试通过,249 个断言;真实页面代表订单 26092142570188 验收通过。
48 lines
2.1 KiB
PHP
48 lines
2.1 KiB
PHP
<?php
|
|
|
|
namespace Tests\Unit\View;
|
|
|
|
use PHPUnit\Framework\TestCase;
|
|
use App\Listeners\Menu\ShowInAdmin;
|
|
|
|
require_once dirname(__DIR__, 3) . '/app/Listeners/Menu/ShowInAdmin.php';
|
|
|
|
class BasicDataNavigationTest extends TestCase
|
|
{
|
|
public function test_group_moves_order_data_order_profit_and_refunds_without_changing_pages(): void
|
|
{
|
|
$navigation = require dirname(__DIR__, 3) . '/config/business_navigation.php';
|
|
$grouped = ShowInAdmin::groupBasicData($navigation);
|
|
$slugs = array_column($grouped, 'slug');
|
|
$group = $grouped[array_search('basic-data', $slugs, true)];
|
|
$this->assertSame(['order-data', 'order-profit', 'refunds'], array_column($group['sections'], 'slug'));
|
|
$this->assertNotContains('order-data', $slugs);
|
|
$this->assertNotContains('order-profit', $slugs);
|
|
$this->assertNotContains('refunds', $slugs);
|
|
foreach ($group['sections'] as $section) {
|
|
$this->assertSame($navigation[array_search($section['slug'], array_column($navigation, 'slug'), true)], $section);
|
|
}
|
|
}
|
|
|
|
public function test_group_contains_only_authorized_sections_even_without_directory_permission(): void
|
|
{
|
|
$allowed = [['slug' => 'refunds', 'title' => '退款', 'pages' => [['slug' => 'non-jingxi-refund-data']]]];
|
|
$grouped = ShowInAdmin::groupBasicData($allowed);
|
|
$this->assertSame($allowed, $grouped[0]['sections']);
|
|
$this->assertSame([], ShowInAdmin::groupBasicData([]));
|
|
}
|
|
|
|
public function test_basic_data_is_an_empty_top_level_directory_before_invoice_management(): void
|
|
{
|
|
$navigation = require dirname(__DIR__, 3) . '/config/business_navigation.php';
|
|
$slugs = array_column($navigation, 'slug');
|
|
$index = array_search('basic-data', $slugs, true);
|
|
|
|
$this->assertNotFalse($index);
|
|
$this->assertSame('基础数据', $navigation[$index]['title']);
|
|
$this->assertSame([], $navigation[$index]['pages']);
|
|
$this->assertSame('invoice-management', $slugs[$index + 1]);
|
|
$this->assertCount(1, array_keys($slugs, 'basic-data', true));
|
|
}
|
|
}
|