mirror of
https://github.com/crater-invoice/crater.git
synced 2025-12-15 18:02:55 -05:00
v5.0.0 update
This commit is contained in:
50
tests/Unit/Request/CompaniesTest.php
Normal file
50
tests/Unit/Request/CompaniesTest.php
Normal file
@@ -0,0 +1,50 @@
|
||||
<?php
|
||||
|
||||
use Crater\Http\Requests\CompaniesRequest;
|
||||
|
||||
test('companies request validation rules', function () {
|
||||
$request = new CompaniesRequest();
|
||||
|
||||
$this->assertEquals(
|
||||
[
|
||||
'name' => [
|
||||
'required',
|
||||
'string'
|
||||
],
|
||||
'address.name' => [
|
||||
'nullable',
|
||||
],
|
||||
'address.address_street_1' => [
|
||||
'nullable',
|
||||
],
|
||||
'address.address_street_2' => [
|
||||
'nullable',
|
||||
],
|
||||
'address.city' => [
|
||||
'nullable',
|
||||
],
|
||||
'address.state' => [
|
||||
'nullable',
|
||||
],
|
||||
'address.country_id' => [
|
||||
'nullable',
|
||||
],
|
||||
'address.zip' => [
|
||||
'nullable',
|
||||
],
|
||||
'address.phone' => [
|
||||
'nullable',
|
||||
],
|
||||
'address.fax' => [
|
||||
'nullable',
|
||||
],
|
||||
],
|
||||
$request->rules()
|
||||
);
|
||||
});
|
||||
|
||||
test('companies request authorize', function () {
|
||||
$request = new CompaniesRequest();
|
||||
|
||||
$this->assertTrue($request->authorize());
|
||||
});
|
||||
25
tests/Unit/Request/CompanyTest.php
Normal file
25
tests/Unit/Request/CompanyTest.php
Normal file
@@ -0,0 +1,25 @@
|
||||
<?php
|
||||
|
||||
use Crater\Http\Requests\CompanyRequest;
|
||||
|
||||
test('company request validation rules', function () {
|
||||
$request = new CompanyRequest();
|
||||
|
||||
$this->assertEquals(
|
||||
[
|
||||
'name' => [
|
||||
'required',
|
||||
],
|
||||
'country_id' => [
|
||||
'required',
|
||||
],
|
||||
],
|
||||
$request->rules()
|
||||
);
|
||||
});
|
||||
|
||||
test('company request authorize', function () {
|
||||
$request = new CompanyRequest();
|
||||
|
||||
$this->assertTrue($request->authorize());
|
||||
});
|
||||
@@ -2,53 +2,97 @@
|
||||
|
||||
use Crater\Http\Requests\CustomerRequest;
|
||||
|
||||
test('customer request post validation rules', function () {
|
||||
test('customer request validation rules', function () {
|
||||
$request = new CustomerRequest();
|
||||
|
||||
$request->setMethod('POST');
|
||||
|
||||
$this->assertEquals(
|
||||
[
|
||||
'name' => [
|
||||
'required',
|
||||
],
|
||||
'addresses.*.address_street_1' => [
|
||||
'max:255',
|
||||
],
|
||||
'addresses.*.address_street_2' => [
|
||||
'max:255',
|
||||
],
|
||||
'email' => [
|
||||
'email',
|
||||
'nullable',
|
||||
'unique:users,email',
|
||||
'unique:customers,email',
|
||||
],
|
||||
],
|
||||
$request->rules()
|
||||
);
|
||||
});
|
||||
|
||||
test('customer request put validation rules', function () {
|
||||
$request = new CustomerRequest();
|
||||
|
||||
$request->setMethod('PUT');
|
||||
|
||||
$this->assertEquals(
|
||||
[
|
||||
'name' => [
|
||||
'required',
|
||||
],
|
||||
'addresses.*.address_street_1' => [
|
||||
'max:255',
|
||||
],
|
||||
'addresses.*.address_street_2' => [
|
||||
'max:255',
|
||||
],
|
||||
'email' => [
|
||||
'email',
|
||||
'password' => [
|
||||
'nullable',
|
||||
'unique:users,email',
|
||||
],
|
||||
'phone' => [
|
||||
'nullable',
|
||||
],
|
||||
'company_name' => [
|
||||
'nullable',
|
||||
],
|
||||
'contact_name' => [
|
||||
'nullable',
|
||||
],
|
||||
'website' => [
|
||||
'nullable',
|
||||
],
|
||||
'prefix' => [
|
||||
'nullable',
|
||||
],
|
||||
'enable_portal' => [
|
||||
'nullable',
|
||||
],
|
||||
'currency_id' => [
|
||||
'nullable',
|
||||
],
|
||||
'billing.name' => [
|
||||
'nullable',
|
||||
],
|
||||
'billing.address_street_1' => [
|
||||
'nullable',
|
||||
],
|
||||
'billing.address_street_2' => [
|
||||
'nullable',
|
||||
],
|
||||
'billing.city' => [
|
||||
'nullable',
|
||||
],
|
||||
'billing.state' => [
|
||||
'nullable',
|
||||
],
|
||||
'billing.country_id' => [
|
||||
'nullable',
|
||||
],
|
||||
'billing.zip' => [
|
||||
'nullable',
|
||||
],
|
||||
'billing.phone' => [
|
||||
'nullable',
|
||||
],
|
||||
'billing.fax' => [
|
||||
'nullable',
|
||||
],
|
||||
'shipping.name' => [
|
||||
'nullable',
|
||||
],
|
||||
'shipping.address_street_1' => [
|
||||
'nullable',
|
||||
],
|
||||
'shipping.address_street_2' => [
|
||||
'nullable',
|
||||
],
|
||||
'shipping.city' => [
|
||||
'nullable',
|
||||
],
|
||||
'shipping.state' => [
|
||||
'nullable',
|
||||
],
|
||||
'shipping.country_id' => [
|
||||
'nullable',
|
||||
],
|
||||
'shipping.zip' => [
|
||||
'nullable',
|
||||
],
|
||||
'shipping.phone' => [
|
||||
'nullable',
|
||||
],
|
||||
'shipping.fax' => [
|
||||
'nullable',
|
||||
]
|
||||
],
|
||||
$request->rules()
|
||||
);
|
||||
|
||||
@@ -1,8 +1,7 @@
|
||||
<?php
|
||||
|
||||
use Crater\Http\Requests\EstimatesRequest;
|
||||
use Crater\Models\Estimate;
|
||||
use Crater\Rules\UniqueNumber;
|
||||
use Illuminate\Validation\Rule;
|
||||
|
||||
test('estimate request validation rules', function () {
|
||||
$request = new EstimatesRequest();
|
||||
@@ -13,10 +12,14 @@ test('estimate request validation rules', function () {
|
||||
'required',
|
||||
],
|
||||
'expiry_date' => [
|
||||
'nullable',
|
||||
],
|
||||
'customer_id' => [
|
||||
'required',
|
||||
],
|
||||
'user_id' => [
|
||||
'estimate_number' => [
|
||||
'required',
|
||||
Rule::unique('estimates')->where('company_id', null)
|
||||
],
|
||||
'discount' => [
|
||||
'required',
|
||||
@@ -41,7 +44,7 @@ test('estimate request validation rules', function () {
|
||||
'array',
|
||||
],
|
||||
'items.*.description' => [
|
||||
'max:255',
|
||||
'nullable',
|
||||
],
|
||||
'items.*' => [
|
||||
'required',
|
||||
@@ -56,10 +59,6 @@ test('estimate request validation rules', function () {
|
||||
'items.*.price' => [
|
||||
'required',
|
||||
],
|
||||
'estimate_number' => [
|
||||
'required',
|
||||
new UniqueNumber(Estimate::class),
|
||||
],
|
||||
],
|
||||
$request->rules()
|
||||
);
|
||||
|
||||
@@ -16,7 +16,7 @@ test('expense request validation rules', function () {
|
||||
'amount' => [
|
||||
'required',
|
||||
],
|
||||
'user_id' => [
|
||||
'customer_id' => [
|
||||
'nullable',
|
||||
],
|
||||
'notes' => [
|
||||
|
||||
@@ -1,8 +1,7 @@
|
||||
<?php
|
||||
|
||||
use Crater\Http\Requests\InvoicesRequest;
|
||||
use Crater\Models\Invoice;
|
||||
use Crater\Rules\UniqueNumber;
|
||||
use Illuminate\Validation\Rule;
|
||||
|
||||
test('invoice request validation rules', function () {
|
||||
$request = new InvoicesRequest();
|
||||
@@ -13,10 +12,14 @@ test('invoice request validation rules', function () {
|
||||
'required',
|
||||
],
|
||||
'due_date' => [
|
||||
'nullable',
|
||||
],
|
||||
'customer_id' => [
|
||||
'required',
|
||||
],
|
||||
'user_id' => [
|
||||
'invoice_number' => [
|
||||
'required',
|
||||
Rule::unique('invoices')->where('company_id', null)
|
||||
],
|
||||
'discount' => [
|
||||
'required',
|
||||
@@ -45,7 +48,7 @@ test('invoice request validation rules', function () {
|
||||
'max:255',
|
||||
],
|
||||
'items.*.description' => [
|
||||
'max:255',
|
||||
'nullable',
|
||||
],
|
||||
'items.*.name' => [
|
||||
'required',
|
||||
@@ -56,10 +59,6 @@ test('invoice request validation rules', function () {
|
||||
'items.*.price' => [
|
||||
'required',
|
||||
],
|
||||
'invoice_number' => [
|
||||
'required',
|
||||
new UniqueNumber(Invoice::class),
|
||||
],
|
||||
],
|
||||
$request->rules()
|
||||
);
|
||||
|
||||
@@ -1,6 +1,7 @@
|
||||
<?php
|
||||
|
||||
use Crater\Http\Requests\PaymentMethodRequest;
|
||||
use Illuminate\Validation\Rule;
|
||||
|
||||
test('payment method request validation rules', function () {
|
||||
$request = new PaymentMethodRequest();
|
||||
@@ -9,7 +10,8 @@ test('payment method request validation rules', function () {
|
||||
[
|
||||
'name' => [
|
||||
'required',
|
||||
'unique:payment_methods,name',
|
||||
Rule::unique('units')
|
||||
->where('payment_methods', $request->header('company')),
|
||||
],
|
||||
],
|
||||
$request->rules()
|
||||
|
||||
@@ -1,8 +1,7 @@
|
||||
<?php
|
||||
|
||||
use Crater\Http\Requests\PaymentRequest;
|
||||
use Crater\Models\Payment;
|
||||
use Crater\Rules\UniqueNumber;
|
||||
use Illuminate\Validation\Rule;
|
||||
|
||||
test('payment request validation rules', function () {
|
||||
$request = new PaymentRequest();
|
||||
@@ -12,7 +11,7 @@ test('payment request validation rules', function () {
|
||||
'payment_date' => [
|
||||
'required',
|
||||
],
|
||||
'user_id' => [
|
||||
'customer_id' => [
|
||||
'required',
|
||||
],
|
||||
'amount' => [
|
||||
@@ -20,7 +19,7 @@ test('payment request validation rules', function () {
|
||||
],
|
||||
'payment_number' => [
|
||||
'required',
|
||||
new UniqueNumber(Payment::class),
|
||||
Rule::unique('payments')->where('company_id', null)
|
||||
],
|
||||
'invoice_id' => [
|
||||
'nullable',
|
||||
|
||||
68
tests/Unit/Request/RecurringInvoiceTest.php
Normal file
68
tests/Unit/Request/RecurringInvoiceTest.php
Normal file
@@ -0,0 +1,68 @@
|
||||
<?php
|
||||
|
||||
use Crater\Http\Requests\RecurringInvoiceRequest;
|
||||
|
||||
test('recurring invoice request validation rules', function () {
|
||||
$request = new RecurringInvoiceRequest();
|
||||
|
||||
$this->assertEquals(
|
||||
[
|
||||
'starts_at' => [
|
||||
'required'
|
||||
],
|
||||
'send_automatically' => [
|
||||
'required',
|
||||
'boolean'
|
||||
],
|
||||
'customer_id' => [
|
||||
'required'
|
||||
],
|
||||
'discount' => [
|
||||
'required',
|
||||
],
|
||||
'discount_val' => [
|
||||
'required',
|
||||
],
|
||||
'sub_total' => [
|
||||
'required',
|
||||
],
|
||||
'total' => [
|
||||
'required',
|
||||
],
|
||||
'tax' => [
|
||||
'required',
|
||||
],
|
||||
'status' => [
|
||||
'required'
|
||||
],
|
||||
'exchange_rate' => [
|
||||
'nullable'
|
||||
],
|
||||
'frequency' => [
|
||||
'required'
|
||||
],
|
||||
'limit_by' => [
|
||||
'required'
|
||||
],
|
||||
'limit_count' => [
|
||||
'required_if:limit_by,COUNT',
|
||||
],
|
||||
'limit_date' => [
|
||||
'required_if:limit_by,DATE',
|
||||
],
|
||||
'items' => [
|
||||
'required'
|
||||
],
|
||||
'items.*' => [
|
||||
'required'
|
||||
]
|
||||
],
|
||||
$request->rules()
|
||||
);
|
||||
});
|
||||
|
||||
test('recurring invoice request authorize', function () {
|
||||
$request = new RecurringInvoiceRequest();
|
||||
|
||||
$this->assertTrue($request->authorize());
|
||||
});
|
||||
@@ -1,6 +1,7 @@
|
||||
<?php
|
||||
|
||||
use Crater\Http\Requests\UnitRequest;
|
||||
use Illuminate\Validation\Rule;
|
||||
|
||||
test('unit request validation rules', function () {
|
||||
$request = new UnitRequest();
|
||||
@@ -9,7 +10,8 @@ test('unit request validation rules', function () {
|
||||
[
|
||||
'name' => [
|
||||
'required',
|
||||
'unique:units,name',
|
||||
Rule::unique('units')
|
||||
->where('company_id', $request->header('company')),
|
||||
],
|
||||
],
|
||||
$request->rules()
|
||||
|
||||
@@ -10,9 +10,6 @@ test('update settings request rules', function () {
|
||||
'settings' => [
|
||||
'required',
|
||||
],
|
||||
'settings.*' => [
|
||||
'required',
|
||||
],
|
||||
],
|
||||
$request->rules()
|
||||
);
|
||||
|
||||
Reference in New Issue
Block a user