Plans: published/unpublished summary cards clickable

This commit is contained in:
萝卜
2026-03-14 22:36:25 +00:00
parent 4ec66d644c
commit 39e0ffbceb
2 changed files with 54 additions and 0 deletions

View File

@@ -161,6 +161,24 @@
<a class="link" href="{!! $safeFullUrlWithQuery(['billing_cycle' => 'monthly', 'page' => null]) !!}">查看月付套餐</a>
</div>
</div>
<div class="card">
<h3>已发布套餐</h3>
<div class="num-md">
<a class="link" href="{!! $safeFullUrlWithQuery(['published' => 'published', 'page' => null]) !!}">{{ $summaryStats['published_plans'] ?? 0 }}</a>
</div>
<div class="muted muted-xs">
<a class="link" href="{!! $safeFullUrlWithQuery(['published' => 'unpublished', 'page' => null]) !!}">查看未发布套餐</a>
</div>
</div>
<div class="card">
<h3>未发布套餐</h3>
<div class="num-md">
<a class="link" href="{!! $safeFullUrlWithQuery(['published' => 'unpublished', 'page' => null]) !!}">{{ $summaryStats['unpublished_plans'] ?? 0 }}</a>
</div>
<div class="muted muted-xs">
<a class="link" href="{!! $safeFullUrlWithQuery(['published' => 'published', 'page' => null]) !!}">查看已发布套餐</a>
</div>
</div>
<div class="card">
<h3>关联订阅总量</h3>
<div class="num-md">

View File

@@ -0,0 +1,36 @@
<?php
namespace Tests\Feature;
use Illuminate\Foundation\Testing\RefreshDatabase;
use Tests\TestCase;
class AdminPlanIndexPublishedSummaryCardsAreClickableTest 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_published_summary_cards_should_link_to_filtered_sets(): void
{
$this->loginAsPlatformAdmin();
$this->get('/admin/plans')
->assertOk()
->assertSee('已发布套餐')
->assertSee('未发布套餐')
->assertSee('published=published', false)
->assertSee('published=unpublished', false)
// 口径:页面大量 href 使用 `{!! !!}`,必须确保 back 不会被嵌套回传(防 URL 膨胀/绕过)
->assertDontSee('back=%2Fadmin%2Fplans%3F', false)
->assertDontSee('back=/admin/plans?', false);
}
}