refactor(ticket): use refunds as amount source
This commit is contained in:
@@ -20,6 +20,7 @@ use App\Domains\Purchase\Services\CheckoutService;
|
||||
use App\Domains\Tenant\Models\Tenant;
|
||||
use App\Domains\Tenant\Models\WebsiteType;
|
||||
use App\Domains\Ticket\Models\Ticket;
|
||||
use App\Domains\Ticket\Models\TicketRefund;
|
||||
use Database\Seeders\AuthorizationSeeder;
|
||||
use Illuminate\Foundation\Testing\RefreshDatabase;
|
||||
use Illuminate\Support\Facades\Event;
|
||||
@@ -131,7 +132,8 @@ class AdminAppSaleControllerTest extends TestCase
|
||||
public function test_sales_list_uses_purchase_item_snapshots_for_every_status(): void
|
||||
{
|
||||
$tenant = $this->createTenant('acme');
|
||||
Sanctum::actingAs($this->createAdminAppUser($tenant));
|
||||
$admin = $this->createAdminAppUser($tenant);
|
||||
Sanctum::actingAs($admin);
|
||||
|
||||
$catalogItem = CatalogItem::query()->create([
|
||||
'tenant_code' => $tenant->codigo,
|
||||
@@ -155,7 +157,7 @@ class AdminAppSaleControllerTest extends TestCase
|
||||
'status' => Purchase::STATUS_CREATED,
|
||||
'total' => '30000.00',
|
||||
]);
|
||||
PurchaseItem::query()->create([
|
||||
$createdPurchaseItem = PurchaseItem::query()->create([
|
||||
'compra_id' => $createdPurchase->id,
|
||||
'source_catalog_item_id' => $catalogItem->id,
|
||||
'nombre' => $catalogItem->nombre,
|
||||
@@ -163,7 +165,20 @@ class AdminAppSaleControllerTest extends TestCase
|
||||
'cantidad' => 3,
|
||||
'precio_unitario' => '10000.00',
|
||||
'total' => '30000.00',
|
||||
'refunded_amount' => '1250.00',
|
||||
]);
|
||||
$createdRefundTicket = Ticket::query()->create([
|
||||
'tenant_code' => $tenant->codigo,
|
||||
'ticket' => 'created-purchase-refund',
|
||||
'user_id' => $admin->id,
|
||||
'source_purchase_item_id' => $createdPurchaseItem->id,
|
||||
'refunded_at' => now(),
|
||||
]);
|
||||
TicketRefund::query()->create([
|
||||
'ticket_id' => $createdRefundTicket->id,
|
||||
'purchase_item_id' => $createdPurchaseItem->id,
|
||||
'created_by_user_id' => $admin->id,
|
||||
'type' => TicketRefund::TYPE_PARTIAL,
|
||||
'amount' => '1250.00',
|
||||
]);
|
||||
|
||||
$pendingCart = Cart::query()->create([
|
||||
@@ -196,7 +211,7 @@ class AdminAppSaleControllerTest extends TestCase
|
||||
'status' => Purchase::STATUS_PAID,
|
||||
'total' => '20000.00',
|
||||
]);
|
||||
PurchaseItem::query()->create([
|
||||
$paidPurchaseItem = PurchaseItem::query()->create([
|
||||
'compra_id' => $paidPurchase->id,
|
||||
'source_catalog_item_id' => $catalogItem->id,
|
||||
'nombre' => $catalogItem->nombre,
|
||||
@@ -204,7 +219,20 @@ class AdminAppSaleControllerTest extends TestCase
|
||||
'cantidad' => 2,
|
||||
'precio_unitario' => '10000.00',
|
||||
'total' => '20000.00',
|
||||
'refunded_amount' => '2500.00',
|
||||
]);
|
||||
$paidRefundTicket = Ticket::query()->create([
|
||||
'tenant_code' => $tenant->codigo,
|
||||
'ticket' => 'paid-purchase-refund',
|
||||
'user_id' => $admin->id,
|
||||
'source_purchase_item_id' => $paidPurchaseItem->id,
|
||||
'refunded_at' => now(),
|
||||
]);
|
||||
TicketRefund::query()->create([
|
||||
'ticket_id' => $paidRefundTicket->id,
|
||||
'purchase_item_id' => $paidPurchaseItem->id,
|
||||
'created_by_user_id' => $admin->id,
|
||||
'type' => TicketRefund::TYPE_PARTIAL,
|
||||
'amount' => '2500.00',
|
||||
]);
|
||||
|
||||
$supersededPurchase = Purchase::query()->create([
|
||||
|
||||
Reference in New Issue
Block a user