fix: 移除应付款项重复终版入口

This commit is contained in:
limeng 2026-09-13 14:41:48 +08:00
parent 179b2cdbcc
commit 69b1949e92
2 changed files with 22 additions and 3 deletions

View File

@ -52,7 +52,13 @@ class ShowInAdmin
public static function groupPayables(array $navigation): array
{
$keys = ['supplier-payables-final', 'courier-payables-final', 'supplier-payables', 'courier-payables', 'raw-board-payables',
$legacyKeys = ['supplier-payables-final', 'courier-payables-final'];
$navigation = array_values(array_filter(
$navigation,
static fn (array $section): bool => ! in_array($section['slug'], $legacyKeys, true)
));
$keys = ['supplier-payables', 'courier-payables', 'raw-board-payables',
'lamination-factory-payables', 'paper-materials', 'edge-banding-materials'];
$children = array_values(array_filter($navigation, static fn (array $section): bool => in_array($section['slug'], $keys, true)));
if ($children === []) {

View File

@ -16,8 +16,15 @@ class PayablesGroupTest extends TestCase
$slugs = array_column($grouped, 'slug');
$index = array_search('payable-items', $slugs, true);
$this->assertSame('store-receivables', $slugs[$index - 1]);
$this->assertCount(8, $grouped[$index]['sections']);
$this->assertSame(['供应商应付(终版)', '快递应付(终版)'], array_column(array_slice($grouped[$index]['sections'], 0, 2), 'title'));
$this->assertCount(6, $grouped[$index]['sections']);
$this->assertSame(['供应商应付', '快递应付'], array_column(array_slice($grouped[$index]['sections'], 0, 2), 'title'));
$this->assertSame(
[],
array_intersect(
['supplier-payables-final', 'courier-payables-final'],
array_column($grouped[$index]['sections'], 'slug')
)
);
$this->assertContains('inventory-management', $slugs);
foreach ($grouped[$index]['sections'] as $section) {
$this->assertNotContains($section['slug'], $slugs);
@ -31,5 +38,11 @@ class PayablesGroupTest extends TestCase
$result = ShowInAdmin::groupPayables($allowed);
$this->assertSame($allowed, $result[0]['sections']);
$this->assertSame([], ShowInAdmin::groupPayables([]));
$legacy = [
['slug' => 'supplier-payables-final', 'title' => '供应商应付(终版)', 'pages' => []],
['slug' => 'courier-payables-final', 'title' => '快递应付(终版)', 'pages' => []],
];
$this->assertSame([], ShowInAdmin::groupPayables($legacy));
}
}