'style2own']); $action = new CreateNewUser; $user = $action->create([ 'name' => 'Test User', 'email' => 'test@example.com', 'password' => 'Password123!', 'password_confirmation' => 'Password123!', ]); expect($user->origin)->toBe(UserOrigin::Style2Own); expect($user->origin->value)->toBe('style2own'); }); test('new user gets stileigentum origin when theme is stileigentum', function () { config(['app.theme' => 'stileigentum']); $action = new CreateNewUser; $user = $action->create([ 'name' => 'Test User 2', 'email' => 'test2@example.com', 'password' => 'Password123!', 'password_confirmation' => 'Password123!', ]); expect($user->origin)->toBe(UserOrigin::StilEigentum); expect($user->origin->value)->toBe('stileigentum'); }); test('new user has null origin when theme is unknown', function () { config(['app.theme' => 'portal']); $action = new CreateNewUser; $user = $action->create([ 'name' => 'Test User 3', 'email' => 'test3@example.com', 'password' => 'Password123!', 'password_confirmation' => 'Password123!', ]); expect($user->origin)->toBeNull(); }); test('new user has null origin when theme is empty', function () { config(['app.theme' => '']); $action = new CreateNewUser; $user = $action->create([ 'name' => 'Test User 4', 'email' => 'test4@example.com', 'password' => 'Password123!', 'password_confirmation' => 'Password123!', ]); expect($user->origin)->toBeNull(); }); test('new user stores hub_id when provided', function () { $hub = Hub::factory()->create(); config(['app.theme' => '']); $action = new CreateNewUser; $user = $action->create([ 'name' => 'Hub User', 'email' => 'hubuser@example.com', 'password' => 'Password123!', 'password_confirmation' => 'Password123!', 'hub_id' => $hub->id, ]); expect($user->hub_id)->toBe($hub->id); }); test('new user has null hub_id when not provided', function () { config(['app.theme' => '']); $action = new CreateNewUser; $user = $action->create([ 'name' => 'No Hub User', 'email' => 'nohub@example.com', 'password' => 'Password123!', 'password_confirmation' => 'Password123!', ]); expect($user->hub_id)->toBeNull(); });