b2in/tests/Feature/Models/UserRelationshipsTest.php
2026-02-20 17:57:50 +01:00

39 lines
1 KiB
PHP

<?php
use App\Enums\UserOrigin;
use App\Models\Hub;
use App\Models\Partner;
use App\Models\User;
test('user can have a hub', function () {
$hub = Hub::factory()->create();
$user = User::factory()->create(['hub_id' => $hub->id]);
expect($user->hub->id)->toBe($hub->id);
});
test('user can have an origin', function () {
$user = User::factory()->create(['origin' => 'style2own']);
expect($user->origin)->toBe(UserOrigin::Style2Own);
});
test('user origin casts stileigentum correctly', function () {
$user = User::factory()->create(['origin' => 'stileigentum']);
expect($user->origin)->toBe(UserOrigin::StilEigentum);
expect($user->origin->tonality())->toBe('sie');
});
test('user origin can be null', function () {
$user = User::factory()->create(['origin' => null]);
expect($user->origin)->toBeNull();
});
test('user belongs to partner', function () {
$partner = Partner::factory()->create();
$user = User::factory()->create(['partner_id' => $partner->id]);
expect($user->partner->id)->toBe($partner->id);
});