WS-4: Bestandsschutz im Kundenbereich als echtes Paket darstellen
/admin/me/buchungen-add-ons: Bestandsschutz raus aus dem gedrängten "Aktueller Tarif"-Panel, eigener prominenter Paket-Block: - Portal-Badge (fehlte bisher), Schild-Icon, Akzentleiste, Rahmen (ring) - größere Typo, Netto-Preis + Intervall, Feature-Liste (unbegrenzte PMs, Konditionen unverändert, nächste Rechnung), Bündel-Hinweis bei mehreren Posten - Helper legacyPortalLabel()/legacyIntervalLabel() im Volt-Component - BookingsPageTest auf die neue Darstellung + Portal-Anzeige aktualisiert Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
parent
be7d1799a5
commit
afefa86711
2 changed files with 119 additions and 24 deletions
|
|
@ -90,22 +90,30 @@ test('a subscriber sees the current plan and the manage button', function () {
|
|||
->assertSee(route('me.checkout.billing-portal'), false);
|
||||
});
|
||||
|
||||
test('a grandfathered legacy user sees the bestandstarif with unlimited quota', function () {
|
||||
test('a grandfathered legacy user sees the bestandsschutz package with portal and unlimited quota', function () {
|
||||
/** @var TestCase $this */
|
||||
$user = bookingsTestCustomer();
|
||||
UserPaymentOption::factory()->create([
|
||||
'user_id' => $user->id,
|
||||
'status' => UserPaymentOptionStatus::Grandfathered->value,
|
||||
'current_period_end' => now()->addMonths(3),
|
||||
'legacy_conditions' => ['name' => 'Presseverteiler Premium'],
|
||||
'legacy_conditions' => [
|
||||
'name' => 'Presseverteiler Premium',
|
||||
'legacy_portal' => 'presseecho',
|
||||
'net_cents' => 100000,
|
||||
'interval' => 'yearly',
|
||||
],
|
||||
]);
|
||||
|
||||
$this->actingAs($user);
|
||||
|
||||
LivewireVolt::test('customer.bookings')
|
||||
->assertSee('Bestandstarif')
|
||||
->assertSee('Ihr Bestandsschutz')
|
||||
->assertSee('Bestandsschutz')
|
||||
->assertSee('Presseverteiler Premium')
|
||||
->assertSee('Unbegrenzte Pressemitteilungen (Bestandsschutz).');
|
||||
// Portal wird jetzt angezeigt.
|
||||
->assertSee('Presseecho')
|
||||
->assertSee('Unbegrenzte');
|
||||
});
|
||||
|
||||
test('open and consumed single purchases appear in the card and history', function () {
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue