diff --git a/public/js/admin.js b/public/js/admin.js index 4711082..d43fcd4 100644 --- a/public/js/admin.js +++ b/public/js/admin.js @@ -55,8 +55,13 @@ } var h = String(window.location.hash || ''); - if (h === '#add-payment-receipt') { - var d = qs('details#add-payment-receipt'); + var map = { + '#add-payment-receipt': 'details#add-payment-receipt', + '#refund-receipts': 'details#add-refund-receipt', + }; + + if (map[h]) { + var d = qs(map[h]); if (d) { d.open = true; } diff --git a/tests/Feature/AdminJsShouldAutoOpenAddPaymentReceiptDetailsWhenHashPresentTest.php b/tests/Feature/AdminJsShouldAutoOpenAddPaymentReceiptDetailsWhenHashPresentTest.php index 005a894..dc3bdca 100644 --- a/tests/Feature/AdminJsShouldAutoOpenAddPaymentReceiptDetailsWhenHashPresentTest.php +++ b/tests/Feature/AdminJsShouldAutoOpenAddPaymentReceiptDetailsWhenHashPresentTest.php @@ -11,8 +11,8 @@ class AdminJsShouldAutoOpenAddPaymentReceiptDetailsWhenHashPresentTest extends T $js = (string) file_get_contents(public_path('js/admin.js')); // 护栏:当 hash 为 #add-payment-receipt 时,应自动展开 details#add-payment-receipt。 - $this->assertStringContainsString("h === '#add-payment-receipt'", $js); - $this->assertStringContainsString("qs('details#add-payment-receipt')", $js); + $this->assertStringContainsString("'#add-payment-receipt': 'details#add-payment-receipt'", $js); + $this->assertStringContainsString('if (map[h])', $js); $this->assertStringContainsString('d.open = true', $js); } } diff --git a/tests/Feature/AdminJsShouldAutoOpenRefundReceiptDetailsWhenHashPresentTest.php b/tests/Feature/AdminJsShouldAutoOpenRefundReceiptDetailsWhenHashPresentTest.php new file mode 100644 index 0000000..0724ac1 --- /dev/null +++ b/tests/Feature/AdminJsShouldAutoOpenRefundReceiptDetailsWhenHashPresentTest.php @@ -0,0 +1,18 @@ +assertStringContainsString("'#refund-receipts': 'details#add-refund-receipt'", $js); + $this->assertStringContainsString('if (map[h])', $js); + $this->assertStringContainsString('d.open = true', $js); + } +}