mirror of
				https://github.com/crater-invoice/crater.git
				synced 2025-11-04 06:23:17 -05:00 
			
		
		
		
	* Create PHP CS Fixer config and add to CI workflow * Run php cs fixer on project * Add newline at end of file * Update to use PHP CS Fixer v3 * Run v3 config on project * Run seperate config in CI
		
			
				
	
	
		
			73 lines
		
	
	
		
			1.7 KiB
		
	
	
	
		
			PHP
		
	
	
	
	
	
			
		
		
	
	
			73 lines
		
	
	
		
			1.7 KiB
		
	
	
	
		
			PHP
		
	
	
	
	
	
<?php
 | 
						|
 | 
						|
use Crater\Http\Requests\InvoicesRequest;
 | 
						|
use Crater\Models\Invoice;
 | 
						|
use Crater\Rules\UniqueNumber;
 | 
						|
 | 
						|
test('invoice request validation rules', function () {
 | 
						|
    $request = new InvoicesRequest();
 | 
						|
 | 
						|
    $this->assertEquals(
 | 
						|
        [
 | 
						|
            'invoice_date' => [
 | 
						|
                'required',
 | 
						|
            ],
 | 
						|
            'due_date' => [
 | 
						|
                'required',
 | 
						|
            ],
 | 
						|
            'user_id' => [
 | 
						|
                'required',
 | 
						|
            ],
 | 
						|
            'discount' => [
 | 
						|
                'required',
 | 
						|
            ],
 | 
						|
            'discount_val' => [
 | 
						|
                'required',
 | 
						|
            ],
 | 
						|
            'sub_total' => [
 | 
						|
                'required',
 | 
						|
            ],
 | 
						|
            'total' => [
 | 
						|
                'required',
 | 
						|
            ],
 | 
						|
            'tax' => [
 | 
						|
                'required',
 | 
						|
            ],
 | 
						|
            'invoice_template_id' => [
 | 
						|
                'required',
 | 
						|
            ],
 | 
						|
            'items' => [
 | 
						|
                'required',
 | 
						|
                'array',
 | 
						|
            ],
 | 
						|
            'items.*' => [
 | 
						|
                'required',
 | 
						|
                'max:255',
 | 
						|
            ],
 | 
						|
            'items.*.description' => [
 | 
						|
                'max:255',
 | 
						|
            ],
 | 
						|
            'items.*.name' => [
 | 
						|
                'required',
 | 
						|
            ],
 | 
						|
            'items.*.quantity' => [
 | 
						|
                'required',
 | 
						|
            ],
 | 
						|
            'items.*.price' => [
 | 
						|
                'required',
 | 
						|
            ],
 | 
						|
            'invoice_number' => [
 | 
						|
                'required',
 | 
						|
                new UniqueNumber(Invoice::class),
 | 
						|
            ],
 | 
						|
        ],
 | 
						|
        $request->rules()
 | 
						|
    );
 | 
						|
});
 | 
						|
 | 
						|
test('invoices request authorize', function () {
 | 
						|
    $request = new InvoicesRequest();
 | 
						|
 | 
						|
    $this->assertTrue($request->authorize());
 | 
						|
});
 |