laravel-shop/tests/Feature
Fabian @ Blax Software d4ae9339ac feat(subscriptions): Cashier-backed subscription lifecycle with product link + events
Adds the package's missing subscription lifecycle so any host app gets
duration-aware, product-linked subscriptions without re-implementing billing:

- Models: Subscription (extends Laravel\Cashier\Subscription) + SubscriptionItem,
  in the package's UUID convention, resolved through shop.models/shop.tables.
  Subscription gains product()/resolveProduct(), callProductActions() (runs the
  product's ProductActions with the subscription + an access-expiry override),
  and recordStarted()/recordRenewed()/recordCanceled() lifecycle hooks.
- Events: SubscriptionStarted / SubscriptionRenewed / SubscriptionCanceled,
  carrying the Cashier subscription so host subclasses work too.
- Migration: UUID subscriptions / subscription_items tables (hasTable-guarded,
  config table names, nullable product_id + current_period_* columns).
- ShopServiceProvider points Cashier at these models by default; opt out via
  shop.subscriptions.register_cashier_models for apps that subclass Cashier.

Additive and backward-compatible (registration is config-gated, tables are
guarded). Adds SubscriptionLifecycleTest; full suite 1409 green. Docs + README.
2026-06-02 11:40:15 +02:00
..
Booking BF edgecases, R structure, A tests 2026-05-18 13:05:38 +02:00
Cart IAM "max usage" feature 2026-05-19 14:01:52 +02:00
Checkout feat(checkout): support subscription/recurring carts in Stripe Checkout 2026-06-02 09:34:32 +02:00
Http BF edgecases, R structure, A tests 2026-05-18 13:05:38 +02:00
Loan R loan purchase to physical loan, A physical loan stuff 2026-05-17 15:20:58 +02:00
Pool feat: Enhance traits with strict types and improve method signatures 2026-05-15 20:26:24 +02:00
Pricing I loanable product type, tiered pricing, lifecycle events, host helpers 2026-05-15 10:27:59 +02:00
Product R loan purchase to physical loan, A physical loan stuff 2026-05-17 15:20:58 +02:00
ProductionBugs BF pool cart bug, R structure 2025-12-30 10:55:06 +01:00
ShopServiceProvider I loanable product type, tiered pricing, lifecycle events, host helpers 2026-05-15 10:27:59 +02:00
Stripe BF pool cart bug, R structure 2025-12-30 10:55:06 +01:00
Subscriptions feat(subscriptions): Cashier-backed subscription lifecycle with product link + events 2026-06-02 11:40:15 +02:00
CommandActionsTest.php BF commands, A command tests, I traits 2026-05-17 13:25:34 +02:00
CommandAvailabilityTest.php A events, IA commands 2026-05-17 11:24:43 +02:00
CommandCleanupCartsTest.php BF commands, A command tests, I traits 2026-05-17 13:25:34 +02:00
CommandListProductsTest.php BF commands, A command tests, I traits 2026-05-17 13:25:34 +02:00
CommandListPurchasesTest.php BF commands, A command tests, I traits 2026-05-17 13:25:34 +02:00
CommandListTest.php BF commands, A command tests, I traits 2026-05-17 13:25:34 +02:00
CommandProductExamplesTest.php BFI cart single item 2025-12-24 19:40:10 +01:00
CommandReinstallTest.php BF commands, A command tests, I traits 2026-05-17 13:25:34 +02:00
CommandReleaseExpiredStocksTest.php BF commands, A command tests, I traits 2026-05-17 13:25:34 +02:00
CommandStatsTest.php BFI commands, A test 2026-05-17 14:09:03 +02:00
CommandStocksTest.php A events, IA commands 2026-05-17 11:24:43 +02:00
EventsWiredUpTest.php feat(fulfillment): add model-agnostic PurchaseCompleted event 2026-06-02 11:19:21 +02:00
GetHasMoreAttributeTest.php BFRI cart 2025-12-28 11:12:58 +01:00
HasShoppingCapabilitiesTest.php BFI cart / orders 2026-01-05 10:30:21 +01:00
NextAvailableAtTest.php BF commands, A command tests, I traits 2026-05-17 13:25:34 +02:00
ShopFacadeTest.php BFI cart single item 2025-12-24 19:40:10 +01:00