mirror of
				https://github.com/crater-invoice/crater.git
				synced 2025-10-30 21:21:09 -04: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