feat: clean credits users
CI / 🧪 Tests Laravel (push) Successful in 2m0s
CI / 🐳 Build & Push Image (push) Successful in 35s

This commit is contained in:
2026-08-07 15:32:40 +02:00
parent eac86afa53
commit 68560655f3
44 changed files with 417 additions and 661 deletions
+45
View File
@@ -0,0 +1,45 @@
<?php
use App\Enums\BillingProductPurpose;
use App\Enums\PaymentTransactionStatus;
use App\Enums\PaymentTransactionType;
use App\Mail\PaymentInvoiceMail;
use App\Models\BillingProduct;
use App\Models\PaymentTransaction;
use App\Models\User;
use Illuminate\Foundation\Testing\RefreshDatabase;
uses(RefreshDatabase::class);
it('renders invoice emails without the retired credit system', function () {
$user = User::factory()->create([
'locale' => 'fr',
]);
$product = BillingProduct::query()->create([
'name' => 'Bowli Plus',
'purpose' => BillingProductPurpose::SUBSCRIPTION,
'amount' => 999,
'currency' => 'eur',
]);
$transaction = PaymentTransaction::query()->create([
'user_id' => $user->getKey(),
'billing_product_id' => $product->getKey(),
'type' => PaymentTransactionType::SUBSCRIPTION_INVOICE,
'status' => PaymentTransactionStatus::PAID,
'amount' => 999,
'currency' => 'eur',
'stripe_invoice_id' => 'in_bowli',
'invoice_url' => 'https://invoice.stripe.test/in_bowli',
]);
$mail = new PaymentInvoiceMail(
$user,
$transaction->load('billingProduct'),
);
$mail
->assertSeeInHtml('Bowli Plus')
->assertSeeInHtml('9,99 EUR')
->assertDontSeeInHtml('Crédits')
->assertDontSeeInHtml('Credits');
});