mirror of
https://github.com/invoiceninja/invoiceninja.git
synced 2025-05-31 09:44:37 -04:00
Fixes for tess
This commit is contained in:
parent
eda0044c42
commit
21862adbae
@ -90,6 +90,12 @@ class PaymentAppliedValidAmount implements Rule
|
|||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if(count($this->input['invoices']) >=1 && $payment->status_id == Payment::STATUS_PENDING){
|
||||||
|
$this->message = 'Cannot apply a payment until the status is completed.';
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
if (round($payment_amounts, 3) >= round($invoice_amounts, 3)) {
|
if (round($payment_amounts, 3) >= round($invoice_amounts, 3)) {
|
||||||
|
@ -42,6 +42,8 @@ class PaymentTest extends TestCase
|
|||||||
use DatabaseTransactions;
|
use DatabaseTransactions;
|
||||||
use MockAccountData;
|
use MockAccountData;
|
||||||
|
|
||||||
|
public $faker;
|
||||||
|
|
||||||
protected function setUp() :void
|
protected function setUp() :void
|
||||||
{
|
{
|
||||||
parent::setUp();
|
parent::setUp();
|
||||||
@ -53,13 +55,49 @@ class PaymentTest extends TestCase
|
|||||||
Model::reguard();
|
Model::reguard();
|
||||||
|
|
||||||
$this->makeTestData();
|
$this->makeTestData();
|
||||||
$this->withoutExceptionHandling();
|
// $this->withoutExceptionHandling();
|
||||||
|
|
||||||
$this->withoutMiddleware(
|
$this->withoutMiddleware(
|
||||||
ThrottleRequests::class
|
ThrottleRequests::class
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public function testPendingPaymentLogic()
|
||||||
|
{
|
||||||
|
$payment = Payment::factory()->create([
|
||||||
|
'company_id' => $this->company->id,
|
||||||
|
'user_id' => $this->user->id,
|
||||||
|
'client_id' => $this->client->id,
|
||||||
|
'status_id' => Payment::STATUS_PENDING,
|
||||||
|
'amount' => 100
|
||||||
|
]);
|
||||||
|
|
||||||
|
$data = [
|
||||||
|
'amount' => $this->invoice->amount,
|
||||||
|
'client_id' => $this->client->hashed_id,
|
||||||
|
'invoices' => [
|
||||||
|
[
|
||||||
|
'invoice_id' => $this->invoice->hashed_id,
|
||||||
|
'amount' => $this->invoice->amount,
|
||||||
|
],
|
||||||
|
],
|
||||||
|
'date' => '2020/12/11',
|
||||||
|
'idempotency_key' => 'dsjafhajklsfhlaksjdhlkajsdjdfjdfljasdfhkjlsafhljfkfhsjlfhiuwayerfiuwaskjgbzmvnjzxnjcbgfkjhdgfoiwwrasdfasdfkashjdfkaskfjdasfda'
|
||||||
|
|
||||||
|
];
|
||||||
|
|
||||||
|
$response = $this->withHeaders([
|
||||||
|
'X-API-SECRET' => config('ninja.api_secret'),
|
||||||
|
'X-API-TOKEN' => $this->token,
|
||||||
|
])->putJson('/api/v1/payments/'.$payment->hashed_id, $data);
|
||||||
|
|
||||||
|
$response->assertStatus(422);
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
public function testPaymentGetBetweenQuery1()
|
public function testPaymentGetBetweenQuery1()
|
||||||
{
|
{
|
||||||
$response = $this->withHeaders([
|
$response = $this->withHeaders([
|
||||||
@ -185,16 +223,15 @@ class PaymentTest extends TestCase
|
|||||||
];
|
];
|
||||||
|
|
||||||
$response = false;
|
$response = false;
|
||||||
try {
|
|
||||||
$response = $this->withHeaders([
|
$response = $this->withHeaders([
|
||||||
'X-API-SECRET' => config('ninja.api_secret'),
|
'X-API-SECRET' => config('ninja.api_secret'),
|
||||||
'X-API-TOKEN' => $this->token,
|
'X-API-TOKEN' => $this->token,
|
||||||
])->post('/api/v1/payments/', $data);
|
])->postJson('/api/v1/payments/', $data);
|
||||||
} catch (ValidationException $e) {
|
|
||||||
// $message = json_decode($e->validator->getMessageBag(), 1);
|
$response->assertStatus(422);
|
||||||
}
|
|
||||||
|
|
||||||
$this->assertFalse($response);
|
// $this->assertFalse($response);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@ -245,7 +282,7 @@ class PaymentTest extends TestCase
|
|||||||
$response = $this->withHeaders([
|
$response = $this->withHeaders([
|
||||||
'X-API-SECRET' => config('ninja.api_secret'),
|
'X-API-SECRET' => config('ninja.api_secret'),
|
||||||
'X-API-TOKEN' => $this->token,
|
'X-API-TOKEN' => $this->token,
|
||||||
])->put('/api/v1/payments/'.$this->encodePrimaryKey($Payment->id), $Payment->toArray());
|
])->putJson('/api/v1/payments/'.$this->encodePrimaryKey($Payment->id), $Payment->toArray());
|
||||||
|
|
||||||
$response->assertStatus(200);
|
$response->assertStatus(200);
|
||||||
|
|
||||||
@ -287,16 +324,17 @@ class PaymentTest extends TestCase
|
|||||||
|
|
||||||
];
|
];
|
||||||
|
|
||||||
try {
|
|
||||||
$response = $this->withHeaders([
|
$response = $this->withHeaders([
|
||||||
'X-API-SECRET' => config('ninja.api_secret'),
|
'X-API-SECRET' => config('ninja.api_secret'),
|
||||||
'X-API-TOKEN' => $this->token,
|
'X-API-TOKEN' => $this->token,
|
||||||
])->post('/api/v1/payments/', $data);
|
])->postJson('/api/v1/payments/', $data);
|
||||||
} catch (ValidationException $e) {
|
// } catch (ValidationException $e) {
|
||||||
$message = json_decode($e->validator->getMessageBag(), 1);
|
// $message = json_decode($e->validator->getMessageBag(), 1);
|
||||||
|
|
||||||
$this->assertTrue(array_key_exists('client_id', $message));
|
$response->assertStatus(422);
|
||||||
}
|
|
||||||
|
// $this->assertTrue(array_key_exists('client_id', $message));
|
||||||
|
// }
|
||||||
}
|
}
|
||||||
|
|
||||||
public function testStorePaymentWithClientId()
|
public function testStorePaymentWithClientId()
|
||||||
@ -339,15 +377,17 @@ class PaymentTest extends TestCase
|
|||||||
|
|
||||||
$response = null;
|
$response = null;
|
||||||
|
|
||||||
try {
|
// try {
|
||||||
$response = $this->withHeaders([
|
$response = $this->withHeaders([
|
||||||
'X-API-SECRET' => config('ninja.api_secret'),
|
'X-API-SECRET' => config('ninja.api_secret'),
|
||||||
'X-API-TOKEN' => $this->token,
|
'X-API-TOKEN' => $this->token,
|
||||||
])->post('/api/v1/payments?include=invoices,paymentables', $data);
|
])->postJson('/api/v1/payments?include=invoices,paymentables', $data);
|
||||||
} catch (ValidationException $e) {
|
// } catch (ValidationException $e) {
|
||||||
$message = json_decode($e->validator->getMessageBag(), 1);
|
// $message = json_decode($e->validator->getMessageBag(), 1);
|
||||||
$this->assertNotNull($message);
|
// $this->assertNotNull($message);
|
||||||
}
|
// }
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
if ($response) {
|
if ($response) {
|
||||||
$arr = $response->json();
|
$arr = $response->json();
|
||||||
@ -399,19 +439,19 @@ class PaymentTest extends TestCase
|
|||||||
|
|
||||||
$response = false;
|
$response = false;
|
||||||
|
|
||||||
try {
|
// try {
|
||||||
$response = $this->withHeaders([
|
$response = $this->withHeaders([
|
||||||
'X-API-SECRET' => config('ninja.api_secret'),
|
'X-API-SECRET' => config('ninja.api_secret'),
|
||||||
'X-API-TOKEN' => $this->token,
|
'X-API-TOKEN' => $this->token,
|
||||||
])->post('/api/v1/payments?include=invoices', $data);
|
])->postJson('/api/v1/payments?include=invoices', $data);
|
||||||
} catch (ValidationException $e) {
|
// } catch (ValidationException $e) {
|
||||||
$message = json_decode($e->validator->getMessageBag(), 1);
|
// $message = json_decode($e->validator->getMessageBag(), 1);
|
||||||
$this->assertNotNull($message);
|
// $this->assertNotNull($message);
|
||||||
}
|
// }
|
||||||
|
|
||||||
if ($response) {
|
// if ($response) {
|
||||||
$response->assertStatus(200);
|
$response->assertStatus(200);
|
||||||
}
|
// }
|
||||||
}
|
}
|
||||||
|
|
||||||
public function testPartialPaymentAmount()
|
public function testPartialPaymentAmount()
|
||||||
@ -455,37 +495,29 @@ class PaymentTest extends TestCase
|
|||||||
'date' => '2019/12/12',
|
'date' => '2019/12/12',
|
||||||
];
|
];
|
||||||
|
|
||||||
$response = false;
|
$response = $this->withHeaders([
|
||||||
|
'X-API-SECRET' => config('ninja.api_secret'),
|
||||||
|
'X-API-TOKEN' => $this->token,
|
||||||
|
])->postJson('/api/v1/payments?include=invoices', $data);
|
||||||
|
|
||||||
|
$response->assertStatus(200);
|
||||||
|
|
||||||
try {
|
$arr = $response->json();
|
||||||
$response = $this->withHeaders([
|
|
||||||
'X-API-SECRET' => config('ninja.api_secret'),
|
|
||||||
'X-API-TOKEN' => $this->token,
|
|
||||||
])->post('/api/v1/payments?include=invoices', $data);
|
|
||||||
} catch (ValidationException $e) {
|
|
||||||
$message = json_decode($e->validator->getMessageBag(), 1);
|
|
||||||
$this->assertNotNull($message);
|
|
||||||
}
|
|
||||||
|
|
||||||
if ($response) {
|
$payment_id = $arr['data']['id'];
|
||||||
$response->assertStatus(200);
|
|
||||||
|
|
||||||
$arr = $response->json();
|
$payment = Payment::whereId($this->decodePrimaryKey($payment_id))->first();
|
||||||
|
|
||||||
$payment_id = $arr['data']['id'];
|
$this->assertNotNull($payment);
|
||||||
|
$this->assertNotNull($payment->invoices());
|
||||||
|
$this->assertEquals(1, $payment->invoices()->count());
|
||||||
|
|
||||||
$payment = Payment::whereId($this->decodePrimaryKey($payment_id))->first();
|
$pivot_invoice = $payment->invoices()->first();
|
||||||
|
$this->assertEquals($pivot_invoice->pivot->amount, 2);
|
||||||
$this->assertNotNull($payment);
|
$this->assertEquals($pivot_invoice->partial, 0);
|
||||||
$this->assertNotNull($payment->invoices());
|
$this->assertEquals($pivot_invoice->amount, 10.0000);
|
||||||
$this->assertEquals(1, $payment->invoices()->count());
|
$this->assertEquals($pivot_invoice->balance, 8.0000);
|
||||||
|
|
||||||
$pivot_invoice = $payment->invoices()->first();
|
|
||||||
$this->assertEquals($pivot_invoice->pivot->amount, 2);
|
|
||||||
$this->assertEquals($pivot_invoice->partial, 0);
|
|
||||||
$this->assertEquals($pivot_invoice->amount, 10.0000);
|
|
||||||
$this->assertEquals($pivot_invoice->balance, 8.0000);
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public function testPaymentGreaterThanPartial()
|
public function testPaymentGreaterThanPartial()
|
||||||
@ -539,14 +571,14 @@ class PaymentTest extends TestCase
|
|||||||
|
|
||||||
$response = false;
|
$response = false;
|
||||||
|
|
||||||
try {
|
// try {
|
||||||
$response = $this->withHeaders([
|
$response = $this->withHeaders([
|
||||||
'X-API-SECRET' => config('ninja.api_secret'),
|
'X-API-SECRET' => config('ninja.api_secret'),
|
||||||
'X-API-TOKEN' => $this->token,
|
'X-API-TOKEN' => $this->token,
|
||||||
])->post('/api/v1/payments?include=invoices', $data);
|
])->postJson('/api/v1/payments?include=invoices', $data);
|
||||||
} catch (ValidationException $e) {
|
// } catch (ValidationException $e) {
|
||||||
$message = json_decode($e->validator->getMessageBag(), 1);
|
// $message = json_decode($e->validator->getMessageBag(), 1);
|
||||||
}
|
// }
|
||||||
|
|
||||||
$arr = $response->json();
|
$arr = $response->json();
|
||||||
$response->assertStatus(200);
|
$response->assertStatus(200);
|
||||||
@ -618,7 +650,7 @@ class PaymentTest extends TestCase
|
|||||||
$response = $this->withHeaders([
|
$response = $this->withHeaders([
|
||||||
'X-API-SECRET' => config('ninja.api_secret'),
|
'X-API-SECRET' => config('ninja.api_secret'),
|
||||||
'X-API-TOKEN' => $this->token,
|
'X-API-TOKEN' => $this->token,
|
||||||
])->post('/api/v1/payments?include=invoices', $data);
|
])->postJson('/api/v1/payments?include=invoices', $data);
|
||||||
|
|
||||||
$arr = $response->json();
|
$arr = $response->json();
|
||||||
$response->assertStatus(200);
|
$response->assertStatus(200);
|
||||||
@ -691,16 +723,17 @@ class PaymentTest extends TestCase
|
|||||||
'date' => '2019/12/12',
|
'date' => '2019/12/12',
|
||||||
];
|
];
|
||||||
|
|
||||||
try {
|
// try {
|
||||||
$response = $this->withHeaders([
|
$response = $this->withHeaders([
|
||||||
'X-API-SECRET' => config('ninja.api_secret'),
|
'X-API-SECRET' => config('ninja.api_secret'),
|
||||||
'X-API-TOKEN' => $this->token,
|
'X-API-TOKEN' => $this->token,
|
||||||
])->post('/api/v1/payments?include=invoices', $data);
|
])->postJson('/api/v1/payments?include=invoices', $data);
|
||||||
} catch (ValidationException $e) {
|
// } catch (ValidationException $e) {
|
||||||
$message = json_decode($e->validator->getMessageBag(), 1);
|
// $message = json_decode($e->validator->getMessageBag(), 1);
|
||||||
|
$response->assertStatus(422);
|
||||||
|
|
||||||
$this->assertTrue(array_key_exists('amount', $message));
|
// $this->assertTrue(array_key_exists('amount', $message));
|
||||||
}
|
// }
|
||||||
}
|
}
|
||||||
|
|
||||||
public function testPaymentChangesBalancesCorrectly()
|
public function testPaymentChangesBalancesCorrectly()
|
||||||
@ -745,18 +778,18 @@ class PaymentTest extends TestCase
|
|||||||
|
|
||||||
$response = false;
|
$response = false;
|
||||||
|
|
||||||
try {
|
// try {
|
||||||
$response = $this->withHeaders([
|
$response = $this->withHeaders([
|
||||||
'X-API-SECRET' => config('ninja.api_secret'),
|
'X-API-SECRET' => config('ninja.api_secret'),
|
||||||
'X-API-TOKEN' => $this->token,
|
'X-API-TOKEN' => $this->token,
|
||||||
])->post('/api/v1/payments?include=invoices', $data);
|
])->postJson('/api/v1/payments?include=invoices', $data);
|
||||||
} catch (ValidationException $e) {
|
// } catch (ValidationException $e) {
|
||||||
$message = json_decode($e->validator->getMessageBag(), 1);
|
// $message = json_decode($e->validator->getMessageBag(), 1);
|
||||||
|
|
||||||
$this->assertTrue(array_key_exists('amount', $message));
|
// $this->assertTrue(array_key_exists('amount', $message));
|
||||||
}
|
// }
|
||||||
|
|
||||||
if ($response) {
|
// if ($response) {
|
||||||
$response->assertStatus(200);
|
$response->assertStatus(200);
|
||||||
|
|
||||||
$invoice = Invoice::find($this->decodePrimaryKey($invoice->hashed_id));
|
$invoice = Invoice::find($this->decodePrimaryKey($invoice->hashed_id));
|
||||||
@ -766,7 +799,7 @@ class PaymentTest extends TestCase
|
|||||||
$payment = $invoice->payments()->first();
|
$payment = $invoice->payments()->first();
|
||||||
|
|
||||||
$this->assertEquals($payment->applied, 2);
|
$this->assertEquals($payment->applied, 2);
|
||||||
}
|
// }
|
||||||
}
|
}
|
||||||
|
|
||||||
public function testUpdatePaymentValidationWorks()
|
public function testUpdatePaymentValidationWorks()
|
||||||
@ -812,20 +845,20 @@ class PaymentTest extends TestCase
|
|||||||
|
|
||||||
$response = false;
|
$response = false;
|
||||||
|
|
||||||
try {
|
// try {
|
||||||
$response = $this->withHeaders([
|
$response = $this->withHeaders([
|
||||||
'X-API-SECRET' => config('ninja.api_secret'),
|
'X-API-SECRET' => config('ninja.api_secret'),
|
||||||
'X-API-TOKEN' => $this->token,
|
'X-API-TOKEN' => $this->token,
|
||||||
])->put('/api/v1/payments/'.$this->encodePrimaryKey($payment->id), $data);
|
])->putJson('/api/v1/payments/'.$this->encodePrimaryKey($payment->id), $data);
|
||||||
} catch (ValidationException $e) {
|
// } catch (ValidationException $e) {
|
||||||
$message = json_decode($e->validator->getMessageBag(), 1);
|
// $message = json_decode($e->validator->getMessageBag(), 1);
|
||||||
|
|
||||||
$this->assertTrue(array_key_exists('invoices', $message));
|
// $this->assertTrue(array_key_exists('invoices', $message));
|
||||||
}
|
// }/
|
||||||
|
|
||||||
if ($response) {
|
// if ($response) {
|
||||||
$response->assertStatus(200);
|
$response->assertStatus(200);
|
||||||
}
|
// }
|
||||||
}
|
}
|
||||||
|
|
||||||
public function testUpdatePaymentValidationPasses()
|
public function testUpdatePaymentValidationPasses()
|
||||||
@ -876,21 +909,21 @@ class PaymentTest extends TestCase
|
|||||||
|
|
||||||
$response = false;
|
$response = false;
|
||||||
|
|
||||||
try {
|
// try {
|
||||||
$response = $this->withHeaders([
|
$response = $this->withHeaders([
|
||||||
'X-API-SECRET' => config('ninja.api_secret'),
|
'X-API-SECRET' => config('ninja.api_secret'),
|
||||||
'X-API-TOKEN' => $this->token,
|
'X-API-TOKEN' => $this->token,
|
||||||
])->put('/api/v1/payments/'.$this->encodePrimaryKey($payment->id), $data);
|
])->putJson('/api/v1/payments/'.$this->encodePrimaryKey($payment->id), $data);
|
||||||
} catch (ValidationException $e) {
|
// } catch (ValidationException $e) {
|
||||||
$message = json_decode($e->validator->getMessageBag(), 1);
|
// $message = json_decode($e->validator->getMessageBag(), 1);
|
||||||
\Log::error(print_r($e->validator->getMessageBag(), 1));
|
// \Log::error(print_r($e->validator->getMessageBag(), 1));
|
||||||
|
|
||||||
$this->assertTrue(array_key_exists('invoices', $message));
|
// $this->assertTrue(array_key_exists('invoices', $message));
|
||||||
}
|
// }
|
||||||
|
|
||||||
if ($response) {
|
// if ($response) {
|
||||||
$response->assertStatus(200);
|
$response->assertStatus(422);
|
||||||
}
|
// }
|
||||||
}
|
}
|
||||||
|
|
||||||
public function testDoublePaymentTestWithInvalidAmounts()
|
public function testDoublePaymentTestWithInvalidAmounts()
|
||||||
@ -935,15 +968,15 @@ class PaymentTest extends TestCase
|
|||||||
|
|
||||||
$response = false;
|
$response = false;
|
||||||
|
|
||||||
try {
|
// try {
|
||||||
$response = $this->withHeaders([
|
$response = $this->withHeaders([
|
||||||
'X-API-SECRET' => config('ninja.api_secret'),
|
'X-API-SECRET' => config('ninja.api_secret'),
|
||||||
'X-API-TOKEN' => $this->token,
|
'X-API-TOKEN' => $this->token,
|
||||||
])->post('/api/v1/payments/', $data);
|
])->postJson('/api/v1/payments/', $data);
|
||||||
} catch (ValidationException $e) {
|
// } catch (ValidationException $e) {
|
||||||
$message = json_decode($e->validator->getMessageBag(), 1);
|
// $message = json_decode($e->validator->getMessageBag(), 1);
|
||||||
\Log::error(print_r($e->validator->getMessageBag(), 1));
|
// \Log::error(print_r($e->validator->getMessageBag(), 1));
|
||||||
}
|
// }
|
||||||
|
|
||||||
$response->assertStatus(200);
|
$response->assertStatus(200);
|
||||||
|
|
||||||
@ -990,7 +1023,7 @@ class PaymentTest extends TestCase
|
|||||||
$response = $this->withHeaders([
|
$response = $this->withHeaders([
|
||||||
'X-API-SECRET' => config('ninja.api_secret'),
|
'X-API-SECRET' => config('ninja.api_secret'),
|
||||||
'X-API-TOKEN' => $this->token,
|
'X-API-TOKEN' => $this->token,
|
||||||
])->put('/api/v1/payments/'.$this->encodePrimaryKey($payment->id), $data);
|
])->putJson('/api/v1/payments/'.$this->encodePrimaryKey($payment->id), $data);
|
||||||
} catch (ValidationException $e) {
|
} catch (ValidationException $e) {
|
||||||
$message = json_decode($e->validator->getMessageBag(), 1);
|
$message = json_decode($e->validator->getMessageBag(), 1);
|
||||||
|
|
||||||
@ -1040,7 +1073,7 @@ class PaymentTest extends TestCase
|
|||||||
$response = $this->withHeaders([
|
$response = $this->withHeaders([
|
||||||
'X-API-SECRET' => config('ninja.api_secret'),
|
'X-API-SECRET' => config('ninja.api_secret'),
|
||||||
'X-API-TOKEN' => $this->token,
|
'X-API-TOKEN' => $this->token,
|
||||||
])->post('/api/v1/payments/', $data);
|
])->postJson('/api/v1/payments/', $data);
|
||||||
|
|
||||||
$response->assertStatus(200);
|
$response->assertStatus(200);
|
||||||
|
|
||||||
@ -1099,7 +1132,7 @@ class PaymentTest extends TestCase
|
|||||||
$response = $this->withHeaders([
|
$response = $this->withHeaders([
|
||||||
'X-API-SECRET' => config('ninja.api_secret'),
|
'X-API-SECRET' => config('ninja.api_secret'),
|
||||||
'X-API-TOKEN' => $this->token,
|
'X-API-TOKEN' => $this->token,
|
||||||
])->post('/api/v1/payments?include=invoices', $data);
|
])->postJson('/api/v1/payments?include=invoices', $data);
|
||||||
} catch (ValidationException $e) {
|
} catch (ValidationException $e) {
|
||||||
$message = json_decode($e->validator->getMessageBag(), 1);
|
$message = json_decode($e->validator->getMessageBag(), 1);
|
||||||
$this->assertNotNull($message);
|
$this->assertNotNull($message);
|
||||||
@ -1163,7 +1196,7 @@ class PaymentTest extends TestCase
|
|||||||
$response = $this->withHeaders([
|
$response = $this->withHeaders([
|
||||||
'X-API-SECRET' => config('ninja.api_secret'),
|
'X-API-SECRET' => config('ninja.api_secret'),
|
||||||
'X-API-TOKEN' => $this->token,
|
'X-API-TOKEN' => $this->token,
|
||||||
])->post('/api/v1/payments?include=invoices', $data);
|
])->postJson('/api/v1/payments?include=invoices', $data);
|
||||||
} catch (ValidationException $e) {
|
} catch (ValidationException $e) {
|
||||||
$message = json_decode($e->validator->getMessageBag(), 1);
|
$message = json_decode($e->validator->getMessageBag(), 1);
|
||||||
$this->assertNotNull($message);
|
$this->assertNotNull($message);
|
||||||
@ -1250,7 +1283,7 @@ class PaymentTest extends TestCase
|
|||||||
$response = $this->withHeaders([
|
$response = $this->withHeaders([
|
||||||
'X-API-SECRET' => config('ninja.api_secret'),
|
'X-API-SECRET' => config('ninja.api_secret'),
|
||||||
'X-API-TOKEN' => $this->token,
|
'X-API-TOKEN' => $this->token,
|
||||||
])->post('/api/v1/payments?include=invoices', $data);
|
])->postJson('/api/v1/payments?include=invoices', $data);
|
||||||
} catch (ValidationException $e) {
|
} catch (ValidationException $e) {
|
||||||
$message = json_decode($e->validator->getMessageBag(), 1);
|
$message = json_decode($e->validator->getMessageBag(), 1);
|
||||||
$this->assertNotNull($message);
|
$this->assertNotNull($message);
|
||||||
@ -1299,19 +1332,15 @@ class PaymentTest extends TestCase
|
|||||||
|
|
||||||
];
|
];
|
||||||
|
|
||||||
$response = null;
|
|
||||||
|
$response = $this->withHeaders([
|
||||||
try {
|
|
||||||
$response = $this->withHeaders([
|
|
||||||
'X-API-SECRET' => config('ninja.api_secret'),
|
'X-API-SECRET' => config('ninja.api_secret'),
|
||||||
'X-API-TOKEN' => $this->token,
|
'X-API-TOKEN' => $this->token,
|
||||||
])->post('/api/v1/payments?include=invoices', $data);
|
])->postJson('/api/v1/payments?include=invoices', $data);
|
||||||
} catch (ValidationException $e) {
|
|
||||||
$message = json_decode($e->validator->getMessageBag(), 1);
|
$response->assertStatus(422);
|
||||||
$this->assertNotNull($message);
|
|
||||||
}
|
|
||||||
|
|
||||||
$this->assertNull($response);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public function testStorePaymentWithCredits()
|
public function testStorePaymentWithCredits()
|
||||||
@ -1351,7 +1380,7 @@ class PaymentTest extends TestCase
|
|||||||
$credit_calc = new InvoiceSum($credit);
|
$credit_calc = new InvoiceSum($credit);
|
||||||
$credit_calc->build();
|
$credit_calc->build();
|
||||||
|
|
||||||
$credit = $this->credit_calc->getCredit();
|
$credit = $credit_calc->getCredit();
|
||||||
$credit->save(); //$10 credit
|
$credit->save(); //$10 credit
|
||||||
|
|
||||||
$data = [
|
$data = [
|
||||||
@ -1365,7 +1394,7 @@ class PaymentTest extends TestCase
|
|||||||
],
|
],
|
||||||
'credits' => [
|
'credits' => [
|
||||||
[
|
[
|
||||||
'credit_id' => $credit->id,
|
'credit_id' => $credit->hashed_id,
|
||||||
'amount' => 5,
|
'amount' => 5,
|
||||||
],
|
],
|
||||||
],
|
],
|
||||||
@ -1373,30 +1402,22 @@ class PaymentTest extends TestCase
|
|||||||
|
|
||||||
];
|
];
|
||||||
|
|
||||||
$response = null;
|
$response = $this->withHeaders([
|
||||||
|
'X-API-SECRET' => config('ninja.api_secret'),
|
||||||
|
'X-API-TOKEN' => $this->token,
|
||||||
|
])->postJson('/api/v1/payments?include=invoices', $data);
|
||||||
|
|
||||||
try {
|
$arr = $response->json();
|
||||||
$response = $this->withHeaders([
|
$response->assertStatus(200);
|
||||||
'X-API-SECRET' => config('ninja.api_secret'),
|
|
||||||
'X-API-TOKEN' => $this->token,
|
|
||||||
])->post('/api/v1/payments?include=invoices', $data);
|
|
||||||
} catch (ValidationException $e) {
|
|
||||||
$message = json_decode($e->validator->getMessageBag(), 1);
|
|
||||||
$this->assertNotNull($message);
|
|
||||||
}
|
|
||||||
|
|
||||||
if ($response) {
|
$payment_id = $arr['data']['id'];
|
||||||
$arr = $response->json();
|
|
||||||
$response->assertStatus(200);
|
|
||||||
|
|
||||||
$payment_id = $arr['data']['id'];
|
$payment = Payment::find($this->decodePrimaryKey($payment_id));
|
||||||
|
|
||||||
|
$this->assertNotNull($payment);
|
||||||
|
$this->assertNotNull($payment->invoices());
|
||||||
|
$this->assertEquals(1, $payment->invoices()->count());
|
||||||
|
|
||||||
$payment = Payment::find($this->decodePrimaryKey($payment_id))->first();
|
|
||||||
|
|
||||||
$this->assertNotNull($payment);
|
|
||||||
$this->assertNotNull($payment->invoices());
|
|
||||||
$this->assertEquals(1, $payment->invoices()->count());
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public function testStorePaymentExchangeRate()
|
public function testStorePaymentExchangeRate()
|
||||||
@ -1443,30 +1464,22 @@ class PaymentTest extends TestCase
|
|||||||
|
|
||||||
];
|
];
|
||||||
|
|
||||||
$response = null;
|
$response = $this->withHeaders([
|
||||||
|
'X-API-SECRET' => config('ninja.api_secret'),
|
||||||
|
'X-API-TOKEN' => $this->token,
|
||||||
|
])->postJson('/api/v1/payments?include=invoices', $data);
|
||||||
|
|
||||||
try {
|
$arr = $response->json();
|
||||||
$response = $this->withHeaders([
|
$response->assertStatus(200);
|
||||||
'X-API-SECRET' => config('ninja.api_secret'),
|
|
||||||
'X-API-TOKEN' => $this->token,
|
|
||||||
])->post('/api/v1/payments?include=invoices', $data);
|
|
||||||
} catch (ValidationException $e) {
|
|
||||||
$message = json_decode($e->validator->getMessageBag(), 1);
|
|
||||||
$this->assertNotNull($message);
|
|
||||||
}
|
|
||||||
|
|
||||||
if ($response) {
|
$payment_id = $arr['data']['id'];
|
||||||
$arr = $response->json();
|
|
||||||
$response->assertStatus(200);
|
|
||||||
|
|
||||||
$payment_id = $arr['data']['id'];
|
$payment = Payment::find($this->decodePrimaryKey($payment_id));
|
||||||
|
|
||||||
$payment = Payment::find($this->decodePrimaryKey($payment_id));
|
$this->assertNotNull($payment);
|
||||||
|
$this->assertNotNull($payment->invoices());
|
||||||
|
$this->assertEquals(1, $payment->invoices()->count());
|
||||||
|
|
||||||
$this->assertNotNull($payment);
|
|
||||||
$this->assertNotNull($payment->invoices());
|
|
||||||
$this->assertEquals(1, $payment->invoices()->count());
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public function testPaymentActionArchive()
|
public function testPaymentActionArchive()
|
||||||
@ -1512,7 +1525,7 @@ class PaymentTest extends TestCase
|
|||||||
$response = $this->withHeaders([
|
$response = $this->withHeaders([
|
||||||
'X-API-SECRET' => config('ninja.api_secret'),
|
'X-API-SECRET' => config('ninja.api_secret'),
|
||||||
'X-API-TOKEN' => $this->token,
|
'X-API-TOKEN' => $this->token,
|
||||||
])->post('/api/v1/payments/', $data);
|
])->postJson('/api/v1/payments/', $data);
|
||||||
|
|
||||||
$response->assertStatus(200);
|
$response->assertStatus(200);
|
||||||
|
|
||||||
@ -1529,7 +1542,7 @@ class PaymentTest extends TestCase
|
|||||||
$response = $this->withHeaders([
|
$response = $this->withHeaders([
|
||||||
'X-API-SECRET' => config('ninja.api_secret'),
|
'X-API-SECRET' => config('ninja.api_secret'),
|
||||||
'X-API-TOKEN' => $this->token,
|
'X-API-TOKEN' => $this->token,
|
||||||
])->post('/api/v1/payments/bulk?action=archive', $data);
|
])->postJson('/api/v1/payments/bulk?action=archive', $data);
|
||||||
|
|
||||||
$arr = $response->json();
|
$arr = $response->json();
|
||||||
|
|
||||||
@ -1538,7 +1551,7 @@ class PaymentTest extends TestCase
|
|||||||
$response = $this->withHeaders([
|
$response = $this->withHeaders([
|
||||||
'X-API-SECRET' => config('ninja.api_secret'),
|
'X-API-SECRET' => config('ninja.api_secret'),
|
||||||
'X-API-TOKEN' => $this->token,
|
'X-API-TOKEN' => $this->token,
|
||||||
])->post('/api/v1/payments/bulk?action=restore', $data);
|
])->postJson('/api/v1/payments/bulk?action=restore', $data);
|
||||||
|
|
||||||
$arr = $response->json();
|
$arr = $response->json();
|
||||||
|
|
||||||
@ -1547,7 +1560,7 @@ class PaymentTest extends TestCase
|
|||||||
$response = $this->withHeaders([
|
$response = $this->withHeaders([
|
||||||
'X-API-SECRET' => config('ninja.api_secret'),
|
'X-API-SECRET' => config('ninja.api_secret'),
|
||||||
'X-API-TOKEN' => $this->token,
|
'X-API-TOKEN' => $this->token,
|
||||||
])->post('/api/v1/payments/bulk?action=delete', $data);
|
])->postJson('/api/v1/payments/bulk?action=delete', $data);
|
||||||
|
|
||||||
$arr = $response->json();
|
$arr = $response->json();
|
||||||
|
|
||||||
@ -1618,17 +1631,11 @@ class PaymentTest extends TestCase
|
|||||||
],
|
],
|
||||||
];
|
];
|
||||||
|
|
||||||
$response = false;
|
$response = $this->withHeaders([
|
||||||
|
'X-API-SECRET' => config('ninja.api_secret'),
|
||||||
try {
|
'X-API-TOKEN' => $this->token,
|
||||||
$response = $this->withHeaders([
|
])->postJson('/api/v1/payments/refund', $data);
|
||||||
'X-API-SECRET' => config('ninja.api_secret'),
|
|
||||||
'X-API-TOKEN' => $this->token,
|
|
||||||
])->post('/api/v1/payments/refund', $data);
|
|
||||||
} catch (ValidationException $e) {
|
|
||||||
$message = json_decode($e->validator->getMessageBag(), 1);
|
|
||||||
nlog($message);
|
|
||||||
}
|
|
||||||
|
|
||||||
$arr = $response->json();
|
$arr = $response->json();
|
||||||
|
|
||||||
@ -1644,7 +1651,7 @@ class PaymentTest extends TestCase
|
|||||||
$response = $this->withHeaders([
|
$response = $this->withHeaders([
|
||||||
'X-API-SECRET' => config('ninja.api_secret'),
|
'X-API-SECRET' => config('ninja.api_secret'),
|
||||||
'X-API-TOKEN' => $this->token,
|
'X-API-TOKEN' => $this->token,
|
||||||
])->post('/api/v1/payments/bulk?action=delete', $data);
|
])->postJson('/api/v1/payments/bulk?action=delete', $data);
|
||||||
|
|
||||||
$this->assertEquals(10, $invoice->fresh()->balance);
|
$this->assertEquals(10, $invoice->fresh()->balance);
|
||||||
$this->assertEquals(10, $invoice->fresh()->balance);
|
$this->assertEquals(10, $invoice->fresh()->balance);
|
||||||
@ -1659,34 +1666,18 @@ class PaymentTest extends TestCase
|
|||||||
'number' => 'duplicate',
|
'number' => 'duplicate',
|
||||||
];
|
];
|
||||||
|
|
||||||
try {
|
$response = $this->withHeaders([
|
||||||
$response = $this->withHeaders([
|
'X-API-SECRET' => config('ninja.api_secret'),
|
||||||
'X-API-SECRET' => config('ninja.api_secret'),
|
'X-API-TOKEN' => $this->token,
|
||||||
'X-API-TOKEN' => $this->token,
|
])->postJson('/api/v1/payments', $data);
|
||||||
])->post('/api/v1/payments', $data);
|
|
||||||
} catch (ValidationException $e) {
|
|
||||||
$message = json_decode($e->validator->getMessageBag(), 1);
|
|
||||||
nlog($message);
|
|
||||||
}
|
|
||||||
|
|
||||||
$arr = $response->json();
|
|
||||||
|
|
||||||
$response->assertStatus(200);
|
$response->assertStatus(200);
|
||||||
|
|
||||||
$response = false;
|
$response = $this->withHeaders([
|
||||||
|
'X-API-SECRET' => config('ninja.api_secret'),
|
||||||
|
'X-API-TOKEN' => $this->token,
|
||||||
|
])->postJson('/api/v1/payments', $data);
|
||||||
|
|
||||||
try {
|
$response->assertStatus(422);
|
||||||
$response = $this->withHeaders([
|
|
||||||
'X-API-SECRET' => config('ninja.api_secret'),
|
|
||||||
'X-API-TOKEN' => $this->token,
|
|
||||||
])->post('/api/v1/payments', $data);
|
|
||||||
} catch (ValidationException $e) {
|
|
||||||
$message = json_decode($e->validator->getMessageBag(), 1);
|
|
||||||
nlog($message);
|
|
||||||
}
|
|
||||||
|
|
||||||
if ($response) {
|
|
||||||
$response->assertStatus(302);
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user