diff --git a/app/Http/Requests/Payment/RefundPaymentRequest.php b/app/Http/Requests/Payment/RefundPaymentRequest.php index 75171f27b0e2..4b54e7228621 100644 --- a/app/Http/Requests/Payment/RefundPaymentRequest.php +++ b/app/Http/Requests/Payment/RefundPaymentRequest.php @@ -70,8 +70,8 @@ class RefundPaymentRequest extends Request 'id' => ['bail','required', new ValidRefundableRequest($input)], 'amount' => ['numeric', 'max:99999999999999'], 'date' => 'required', - 'invoices.*.invoice_id' => 'required', - 'invoices.*.amount' => 'required', + 'invoices.*.invoice_id' => 'required|bail', + 'invoices.*.amount' => 'required|bail|gt:0', 'invoices' => new ValidRefundableInvoices($input), ]; diff --git a/tests/Feature/InvoiceAmountPaymentTest.php b/tests/Feature/InvoiceAmountPaymentTest.php index c86dcedbaa00..8acd42f2b975 100644 --- a/tests/Feature/InvoiceAmountPaymentTest.php +++ b/tests/Feature/InvoiceAmountPaymentTest.php @@ -173,7 +173,7 @@ class InvoiceAmountPaymentTest extends TestCase $response = $this->withHeaders([ 'X-API-SECRET' => config('ninja.api_secret'), 'X-API-TOKEN' => $this->token, - ])->post('/api/v1/invoices?mark_sent=true', $invoice) + ])->postJson('/api/v1/invoices?mark_sent=true', $invoice) ->assertStatus(200); $arr = $response->json(); @@ -182,6 +182,17 @@ class InvoiceAmountPaymentTest extends TestCase $invoice = Invoice::find($this->decodePrimaryKey($invoice_one_hashed_id)); + $line_items = (array)$invoice->line_items; + $item = InvoiceItemFactory::create(); + $item->quantity = 1; + $item->cost = 5; + $item->type_id = '3'; + + $line_items[] = $item; + + $invoice->line_items = $line_items; + $invoice->calc()->getInvoice(); + $this->assertEquals(25, $invoice->balance); $this->assertEquals(25, $invoice->amount);