20-02-2026
This commit is contained in:
parent
854ce02bf6
commit
4d6b4930b2
128 changed files with 18247 additions and 2093 deletions
75
tests/Feature/RestoreBackupSeederTest.php
Normal file
75
tests/Feature/RestoreBackupSeederTest.php
Normal file
|
|
@ -0,0 +1,75 @@
|
|||
<?php
|
||||
|
||||
declare(strict_types=1);
|
||||
|
||||
use App\Models\Brand;
|
||||
use App\Models\Partner;
|
||||
use App\Models\RegistrationCode;
|
||||
use App\Models\User;
|
||||
use Database\Seeders\RestoreBackupSeeder;
|
||||
use Spatie\Permission\Models\Permission;
|
||||
use Spatie\Permission\Models\Role;
|
||||
|
||||
beforeEach(function () {
|
||||
$this->seed(RestoreBackupSeeder::class);
|
||||
});
|
||||
|
||||
test('seeder creates expected number of roles', function () {
|
||||
expect(Role::count())->toBe(6);
|
||||
});
|
||||
|
||||
test('seeder creates expected roles with correct names', function () {
|
||||
expect(Role::pluck('name')->sort()->values()->all())
|
||||
->toBe(['Admin', 'Broker', 'Customer', 'Manufacturer', 'Retailer', 'Super-Admin']);
|
||||
});
|
||||
|
||||
test('seeder creates all 21 permissions', function () {
|
||||
expect(Permission::count())->toBe(21);
|
||||
});
|
||||
|
||||
test('seeder creates 12 partners', function () {
|
||||
expect(Partner::count())->toBe(12);
|
||||
});
|
||||
|
||||
test('seeder creates 13 users including soft-deleted', function () {
|
||||
expect(User::withTrashed()->count())->toBe(13);
|
||||
expect(User::onlyTrashed()->count())->toBe(4);
|
||||
});
|
||||
|
||||
test('seeder assigns correct roles to users', function () {
|
||||
$admin = User::find(1);
|
||||
expect($admin)->not->toBeNull()
|
||||
->and($admin->hasRole('Admin'))->toBeTrue();
|
||||
|
||||
$manufacturer = User::find(11);
|
||||
expect($manufacturer)->not->toBeNull()
|
||||
->and($manufacturer->hasRole('Manufacturer'))->toBeTrue();
|
||||
|
||||
$retailer = User::find(15);
|
||||
expect($retailer)->not->toBeNull()
|
||||
->and($retailer->hasRole('Retailer'))->toBeTrue();
|
||||
});
|
||||
|
||||
test('seeder creates 2 brands linked to partners', function () {
|
||||
expect(Brand::count())->toBe(2);
|
||||
expect(Brand::find(1)->partner_id)->toBe(15);
|
||||
expect(Brand::find(2)->partner_id)->toBe(10);
|
||||
});
|
||||
|
||||
test('seeder creates 20 registration codes', function () {
|
||||
expect(RegistrationCode::count())->toBe(20);
|
||||
});
|
||||
|
||||
test('seeder preserves user-partner relationships', function () {
|
||||
$user = User::find(12);
|
||||
expect($user->partner_id)->toBe(11);
|
||||
expect($user->partner->company_name)->toBe('Max Möbelmann');
|
||||
});
|
||||
|
||||
test('seeder can be run multiple times without errors', function () {
|
||||
$this->seed(RestoreBackupSeeder::class);
|
||||
|
||||
expect(User::withTrashed()->count())->toBe(13);
|
||||
expect(Role::count())->toBe(6);
|
||||
expect(Partner::count())->toBe(12);
|
||||
});
|
||||
Loading…
Add table
Add a link
Reference in a new issue