mirror of
				https://github.com/crater-invoice/crater.git
				synced 2025-11-04 06:23:17 -05:00 
			
		
		
		
	
		
			
				
	
	
		
			97 lines
		
	
	
		
			2.4 KiB
		
	
	
	
		
			PHP
		
	
	
	
	
	
			
		
		
	
	
			97 lines
		
	
	
		
			2.4 KiB
		
	
	
	
		
			PHP
		
	
	
	
	
	
<?php
 | 
						|
 | 
						|
use Crater\Http\Controllers\V1\Admin\Users\UsersController;
 | 
						|
use Crater\Http\Requests\UserRequest;
 | 
						|
use Crater\Models\User;
 | 
						|
use Laravel\Sanctum\Sanctum;
 | 
						|
use function Pest\Faker\faker;
 | 
						|
use function Pest\Laravel\getJson;
 | 
						|
use function Pest\Laravel\postJson;
 | 
						|
use function Pest\Laravel\putJson;
 | 
						|
 | 
						|
beforeEach(function () {
 | 
						|
    Artisan::call('db:seed', ['--class' => 'DatabaseSeeder', '--force' => true]);
 | 
						|
    Artisan::call('db:seed', ['--class' => 'DemoSeeder', '--force' => true]);
 | 
						|
 | 
						|
    $user = User::where('role', 'super admin')->first();
 | 
						|
 | 
						|
    $this->withHeaders([
 | 
						|
        'company' => $user->companies()->first()->id,
 | 
						|
    ]);
 | 
						|
 | 
						|
    Sanctum::actingAs(
 | 
						|
        $user,
 | 
						|
        ['*']
 | 
						|
    );
 | 
						|
});
 | 
						|
 | 
						|
getJson('/api/v1/users')->assertOk();
 | 
						|
 | 
						|
test('store user using a form request', function () {
 | 
						|
    $this->assertActionUsesFormRequest(
 | 
						|
        UsersController::class,
 | 
						|
        'store',
 | 
						|
        UserRequest::class
 | 
						|
    );
 | 
						|
});
 | 
						|
 | 
						|
// test('store user', function () {
 | 
						|
//     $data = [
 | 
						|
//         'name' => faker()->name,
 | 
						|
//         'email' => faker()->unique()->safeEmail,
 | 
						|
//         'phone' => faker()->phoneNumber,
 | 
						|
//         'password' => faker()->password
 | 
						|
//     ];
 | 
						|
 | 
						|
//     postJson('/api/v1/users', $data)->assertOk();
 | 
						|
 | 
						|
//     $this->assertDatabaseHas('users', [
 | 
						|
//         'name' => $data['name'],
 | 
						|
//         'email' => $data['email'],
 | 
						|
//         'phone' => $data['phone'],
 | 
						|
//     ]);
 | 
						|
// });
 | 
						|
 | 
						|
test('get user', function () {
 | 
						|
    $user = User::factory()->create();
 | 
						|
 | 
						|
    getJson("/api/v1/users/{$user->id}")->assertOk();
 | 
						|
});
 | 
						|
 | 
						|
test('update user using a form request', function () {
 | 
						|
    $this->assertActionUsesFormRequest(
 | 
						|
        UsersController::class,
 | 
						|
        'update',
 | 
						|
        UserRequest::class
 | 
						|
    );
 | 
						|
});
 | 
						|
 | 
						|
// test('update user', function () {
 | 
						|
//     $user = User::factory()->create();
 | 
						|
 | 
						|
//     $data = [
 | 
						|
//         'name' => faker()->name,
 | 
						|
//         'email' => faker()->unique()->safeEmail,
 | 
						|
//         'phone' => faker()->phoneNumber,
 | 
						|
//         'password' => faker()->password
 | 
						|
//     ];
 | 
						|
 | 
						|
//     putJson("/api/v1/users/{$user->id}", $data)->assertOk();
 | 
						|
 | 
						|
//     $this->assertDatabaseHas('users', [
 | 
						|
//         'name' => $data['name'],
 | 
						|
//         'email' => $data['email'],
 | 
						|
//         'phone' => $data['phone'],
 | 
						|
//     ]);
 | 
						|
// });
 | 
						|
 | 
						|
// test('delete users', function () {
 | 
						|
//     $user = User::factory()->create();
 | 
						|
//     $data['users'] = [$user->id];
 | 
						|
 | 
						|
//     postJson("/api/v1/users/delete", $data)
 | 
						|
//         ->assertOk();
 | 
						|
 | 
						|
//     $this->assertDeleted($user);
 | 
						|
// });
 |