style: apply Pint formatting to modal files and tests

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
main
boban 2026-05-16 12:42:16 +02:00
parent fa9985cc33
commit 5748dd3443
27 changed files with 90 additions and 34 deletions

View File

@ -8,6 +8,7 @@ use Illuminate\Database\Eloquent\Factories\HasFactory;
use Illuminate\Database\Eloquent\Model; use Illuminate\Database\Eloquent\Model;
use Illuminate\Database\Eloquent\Relations\BelongsTo; use Illuminate\Database\Eloquent\Relations\BelongsTo;
use Illuminate\Database\Eloquent\Relations\HasMany; use Illuminate\Database\Eloquent\Relations\HasMany;
class Webhook extends Model class Webhook extends Model
{ {
/** @use HasFactory<WebhookFactory> */ /** @use HasFactory<WebhookFactory> */

View File

@ -2,16 +2,23 @@
namespace App\Livewire\Modals; namespace App\Livewire\Modals;
use Illuminate\View\View;
use LivewireUI\Modal\ModalComponent; use LivewireUI\Modal\ModalComponent;
class ConfirmAction extends ModalComponent class ConfirmAction extends ModalComponent
{ {
public string $title = 'Confirm'; public string $title = 'Confirm';
public string $message = 'Are you sure?'; public string $message = 'Are you sure?';
public string $confirmLabel = 'Confirm'; public string $confirmLabel = 'Confirm';
public string $cancelLabel = 'Cancel'; public string $cancelLabel = 'Cancel';
public string $confirmEvent = ''; public string $confirmEvent = '';
public array $confirmEventParams = []; public array $confirmEventParams = [];
public bool $danger = false; public bool $danger = false;
public function confirm(): void public function confirm(): void
@ -28,7 +35,7 @@ class ConfirmAction extends ModalComponent
return 'sm'; return 'sm';
} }
public function render(): \Illuminate\View\View public function render(): View
{ {
return view('livewire.modals.confirm-action'); return view('livewire.modals.confirm-action');
} }

View File

@ -2,11 +2,13 @@
namespace App\Livewire\Modals; namespace App\Livewire\Modals;
use Illuminate\View\View;
use LivewireUI\Modal\ModalComponent; use LivewireUI\Modal\ModalComponent;
class CreateApiToken extends ModalComponent class CreateApiToken extends ModalComponent
{ {
public string $name = ''; public string $name = '';
public ?string $plainTextToken = null; public ?string $plainTextToken = null;
protected function rules(): array protected function rules(): array
@ -31,7 +33,7 @@ class CreateApiToken extends ModalComponent
return false; return false;
} }
public function render(): \Illuminate\View\View public function render(): View
{ {
return view('livewire.modals.create-api-token'); return view('livewire.modals.create-api-token');
} }

View File

@ -4,12 +4,15 @@ namespace App\Livewire\Modals;
use App\Domains\Link\Models\Link; use App\Domains\Link\Models\Link;
use Illuminate\Support\Str; use Illuminate\Support\Str;
use Illuminate\View\View;
use LivewireUI\Modal\ModalComponent; use LivewireUI\Modal\ModalComponent;
class CreateLink extends ModalComponent class CreateLink extends ModalComponent
{ {
public string $targetUrl = ''; public string $targetUrl = '';
public string $slug = ''; public string $slug = '';
public string $title = ''; public string $title = '';
protected $rules = [ protected $rules = [
@ -46,7 +49,7 @@ class CreateLink extends ModalComponent
$this->closeModal(); $this->closeModal();
} }
public function render(): \Illuminate\View\View public function render(): View
{ {
return view('livewire.modals.create-link'); return view('livewire.modals.create-link');
} }

View File

@ -4,12 +4,15 @@ namespace App\Livewire\Modals;
use App\Domains\Webhook\Models\Webhook; use App\Domains\Webhook\Models\Webhook;
use Illuminate\Support\Str; use Illuminate\Support\Str;
use Illuminate\View\View;
use LivewireUI\Modal\ModalComponent; use LivewireUI\Modal\ModalComponent;
class CreateWebhook extends ModalComponent class CreateWebhook extends ModalComponent
{ {
public string $url = ''; public string $url = '';
public string $secret = ''; public string $secret = '';
public array $selectedEvents = []; public array $selectedEvents = [];
public array $availableEvents = [ public array $availableEvents = [
@ -25,7 +28,7 @@ class CreateWebhook extends ModalComponent
'url' => 'required|url|max:2048', 'url' => 'required|url|max:2048',
'secret' => 'nullable|string|max:255', 'secret' => 'nullable|string|max:255',
'selectedEvents' => 'required|array|min:1', 'selectedEvents' => 'required|array|min:1',
'selectedEvents.*' => 'string|in:' . implode(',', array_keys($this->availableEvents)), 'selectedEvents.*' => 'string|in:'.implode(',', array_keys($this->availableEvents)),
]; ];
} }
@ -46,7 +49,7 @@ class CreateWebhook extends ModalComponent
$this->closeModal(); $this->closeModal();
} }
public function render(): \Illuminate\View\View public function render(): View
{ {
return view('livewire.modals.create-webhook'); return view('livewire.modals.create-webhook');
} }

View File

@ -3,6 +3,7 @@
namespace App\Livewire\Modals; namespace App\Livewire\Modals;
use App\Domains\Workspace\Actions\CreateWorkspace as CreateWorkspaceAction; use App\Domains\Workspace\Actions\CreateWorkspace as CreateWorkspaceAction;
use Illuminate\View\View;
use LivewireUI\Modal\ModalComponent; use LivewireUI\Modal\ModalComponent;
class CreateWorkspace extends ModalComponent class CreateWorkspace extends ModalComponent
@ -31,7 +32,7 @@ class CreateWorkspace extends ModalComponent
return 'sm'; return 'sm';
} }
public function render(): \Illuminate\View\View public function render(): View
{ {
return view('livewire.modals.create-workspace'); return view('livewire.modals.create-workspace');
} }

View File

@ -3,11 +3,13 @@
namespace App\Livewire\Modals; namespace App\Livewire\Modals;
use App\Domains\Link\Models\Link; use App\Domains\Link\Models\Link;
use Illuminate\View\View;
use LivewireUI\Modal\ModalComponent; use LivewireUI\Modal\ModalComponent;
class DeleteLink extends ModalComponent class DeleteLink extends ModalComponent
{ {
public string $linkUlid = ''; public string $linkUlid = '';
public string $linkTitle = ''; public string $linkTitle = '';
public function mount(string $linkUlid): void public function mount(string $linkUlid): void
@ -39,7 +41,7 @@ class DeleteLink extends ModalComponent
return 'sm'; return 'sm';
} }
public function render(): \Illuminate\View\View public function render(): View
{ {
return view('livewire.modals.delete-link'); return view('livewire.modals.delete-link');
} }

View File

@ -3,11 +3,13 @@
namespace App\Livewire\Modals; namespace App\Livewire\Modals;
use App\Domains\Webhook\Models\Webhook; use App\Domains\Webhook\Models\Webhook;
use Illuminate\View\View;
use LivewireUI\Modal\ModalComponent; use LivewireUI\Modal\ModalComponent;
class DeleteWebhook extends ModalComponent class DeleteWebhook extends ModalComponent
{ {
public int $webhookId = 0; public int $webhookId = 0;
public string $webhookUrl = ''; public string $webhookUrl = '';
public function mount(int $webhookId): void public function mount(int $webhookId): void
@ -39,7 +41,7 @@ class DeleteWebhook extends ModalComponent
return 'sm'; return 'sm';
} }
public function render(): \Illuminate\View\View public function render(): View
{ {
return view('livewire.modals.delete-webhook'); return view('livewire.modals.delete-webhook');
} }

View File

@ -3,12 +3,15 @@
namespace App\Livewire\Modals; namespace App\Livewire\Modals;
use App\Domains\Workspace\Models\Workspace; use App\Domains\Workspace\Models\Workspace;
use Illuminate\View\View;
use LivewireUI\Modal\ModalComponent; use LivewireUI\Modal\ModalComponent;
class DeleteWorkspace extends ModalComponent class DeleteWorkspace extends ModalComponent
{ {
public string $workspaceUlid = ''; public string $workspaceUlid = '';
public string $workspaceName = ''; public string $workspaceName = '';
public string $confirmation = ''; public string $confirmation = '';
public function mount(string $workspaceUlid): void public function mount(string $workspaceUlid): void
@ -24,7 +27,7 @@ class DeleteWorkspace extends ModalComponent
protected function rules(): array protected function rules(): array
{ {
return [ return [
'confirmation' => 'required|in:' . $this->workspaceName, 'confirmation' => 'required|in:'.$this->workspaceName,
]; ];
} }
@ -53,7 +56,7 @@ class DeleteWorkspace extends ModalComponent
return false; return false;
} }
public function render(): \Illuminate\View\View public function render(): View
{ {
return view('livewire.modals.delete-workspace'); return view('livewire.modals.delete-workspace');
} }

View File

@ -3,15 +3,21 @@
namespace App\Livewire\Modals; namespace App\Livewire\Modals;
use App\Domains\Link\Models\Link; use App\Domains\Link\Models\Link;
use Illuminate\View\View;
use LivewireUI\Modal\ModalComponent; use LivewireUI\Modal\ModalComponent;
class EditLink extends ModalComponent class EditLink extends ModalComponent
{ {
public string $linkUlid = ''; public string $linkUlid = '';
public int $linkId = 0; public int $linkId = 0;
public string $targetUrl = ''; public string $targetUrl = '';
public string $slug = ''; public string $slug = '';
public string $title = ''; public string $title = '';
public string $status = 'active'; public string $status = 'active';
public function mount(string $linkUlid): void public function mount(string $linkUlid): void
@ -33,7 +39,7 @@ class EditLink extends ModalComponent
{ {
return [ return [
'targetUrl' => 'required|url|max:2048', 'targetUrl' => 'required|url|max:2048',
'slug' => 'required|alpha_dash|max:50|unique:links,slug,' . $this->linkId, 'slug' => 'required|alpha_dash|max:50|unique:links,slug,'.$this->linkId,
'title' => 'nullable|max:200', 'title' => 'nullable|max:200',
'status' => 'required|in:active,inactive', 'status' => 'required|in:active,inactive',
]; ];
@ -59,7 +65,7 @@ class EditLink extends ModalComponent
$this->closeModal(); $this->closeModal();
} }
public function render(): \Illuminate\View\View public function render(): View
{ {
return view('livewire.modals.edit-link'); return view('livewire.modals.edit-link');
} }

View File

@ -3,12 +3,15 @@
namespace App\Livewire\Modals; namespace App\Livewire\Modals;
use App\Domains\Workspace\Models\WorkspaceMember; use App\Domains\Workspace\Models\WorkspaceMember;
use Illuminate\View\View;
use LivewireUI\Modal\ModalComponent; use LivewireUI\Modal\ModalComponent;
class EditMemberRole extends ModalComponent class EditMemberRole extends ModalComponent
{ {
public int $memberId = 0; public int $memberId = 0;
public string $memberName = ''; public string $memberName = '';
public string $role = 'editor'; public string $role = 'editor';
protected function rules(): array protected function rules(): array
@ -50,7 +53,7 @@ class EditMemberRole extends ModalComponent
return 'sm'; return 'sm';
} }
public function render(): \Illuminate\View\View public function render(): View
{ {
return view('livewire.modals.edit-member-role'); return view('livewire.modals.edit-member-role');
} }

View File

@ -4,11 +4,13 @@ namespace App\Livewire\Modals;
use App\Domains\Workspace\Models\WorkspaceInvitation; use App\Domains\Workspace\Models\WorkspaceInvitation;
use Illuminate\Support\Str; use Illuminate\Support\Str;
use Illuminate\View\View;
use LivewireUI\Modal\ModalComponent; use LivewireUI\Modal\ModalComponent;
class InviteMember extends ModalComponent class InviteMember extends ModalComponent
{ {
public string $email = ''; public string $email = '';
public string $role = 'editor'; public string $role = 'editor';
protected function rules(): array protected function rules(): array
@ -42,7 +44,7 @@ class InviteMember extends ModalComponent
return 'sm'; return 'sm';
} }
public function render(): \Illuminate\View\View public function render(): View
{ {
return view('livewire.modals.invite-member'); return view('livewire.modals.invite-member');
} }

View File

@ -3,11 +3,13 @@
namespace App\Livewire\Modals; namespace App\Livewire\Modals;
use App\Domains\Workspace\Models\WorkspaceMember; use App\Domains\Workspace\Models\WorkspaceMember;
use Illuminate\View\View;
use LivewireUI\Modal\ModalComponent; use LivewireUI\Modal\ModalComponent;
class RemoveMember extends ModalComponent class RemoveMember extends ModalComponent
{ {
public int $memberId = 0; public int $memberId = 0;
public string $memberName = ''; public string $memberName = '';
public function mount(int $memberId): void public function mount(int $memberId): void
@ -39,7 +41,7 @@ class RemoveMember extends ModalComponent
return 'sm'; return 'sm';
} }
public function render(): \Illuminate\View\View public function render(): View
{ {
return view('livewire.modals.remove-member'); return view('livewire.modals.remove-member');
} }

View File

@ -2,12 +2,14 @@
namespace App\Livewire\Modals; namespace App\Livewire\Modals;
use Illuminate\View\View;
use Laravel\Sanctum\PersonalAccessToken; use Laravel\Sanctum\PersonalAccessToken;
use LivewireUI\Modal\ModalComponent; use LivewireUI\Modal\ModalComponent;
class RevokeApiToken extends ModalComponent class RevokeApiToken extends ModalComponent
{ {
public int $tokenId = 0; public int $tokenId = 0;
public string $tokenName = ''; public string $tokenName = '';
public function mount(int $tokenId): void public function mount(int $tokenId): void
@ -38,7 +40,7 @@ class RevokeApiToken extends ModalComponent
return 'sm'; return 'sm';
} }
public function render(): \Illuminate\View\View public function render(): View
{ {
return view('livewire.modals.revoke-api-token'); return view('livewire.modals.revoke-api-token');
} }

View File

@ -8,6 +8,7 @@ use Livewire\Component;
class PersonalInfo extends Component class PersonalInfo extends Component
{ {
public string $name = ''; public string $name = '';
public string $email = ''; public string $email = '';
public function mount(): void public function mount(): void
@ -20,7 +21,7 @@ class PersonalInfo extends Component
{ {
$this->validate([ $this->validate([
'name' => 'required|string|max:100', 'name' => 'required|string|max:100',
'email' => 'required|email|max:200|unique:users,email,' . auth()->id(), 'email' => 'required|email|max:200|unique:users,email,'.auth()->id(),
]); ]);
auth()->user()->update([ auth()->user()->update([

View File

@ -8,6 +8,7 @@ use Livewire\Component;
class Preferences extends Component class Preferences extends Component
{ {
public string $locale = 'de'; public string $locale = 'de';
public string $theme = 'dark'; public string $theme = 'dark';
public function mount(): void public function mount(): void

View File

@ -2,14 +2,16 @@
namespace App\Livewire\Pages\Profile; namespace App\Livewire\Pages\Profile;
use Illuminate\Support\Facades\Hash;
use Illuminate\View\View; use Illuminate\View\View;
use Livewire\Component; use Livewire\Component;
use Illuminate\Support\Facades\Hash;
class Security extends Component class Security extends Component
{ {
public string $currentPassword = ''; public string $currentPassword = '';
public string $newPassword = ''; public string $newPassword = '';
public string $newPasswordConfirmation = ''; public string $newPasswordConfirmation = '';
public function changePassword(): void public function changePassword(): void
@ -19,8 +21,9 @@ class Security extends Component
'newPassword' => 'required|min:8|confirmed', 'newPassword' => 'required|min:8|confirmed',
]); ]);
if (!Hash::check($this->currentPassword, auth()->user()->password)) { if (! Hash::check($this->currentPassword, auth()->user()->password)) {
$this->addError('currentPassword', 'Current password is incorrect.'); $this->addError('currentPassword', 'Current password is incorrect.');
return; return;
} }

View File

@ -4,11 +4,11 @@ namespace App\Livewire\Pages\Settings;
use Illuminate\View\View; use Illuminate\View\View;
use Livewire\Component; use Livewire\Component;
use Laravel\Sanctum\PersonalAccessToken;
class ApiTokens extends Component class ApiTokens extends Component
{ {
public string $tokenName = ''; public string $tokenName = '';
public ?string $newToken = null; public ?string $newToken = null;
public function createToken(): void public function createToken(): void

View File

@ -8,6 +8,7 @@ use Livewire\Component;
class Index extends Component class Index extends Component
{ {
public string $workspaceName = ''; public string $workspaceName = '';
public string $workspaceSlug = ''; public string $workspaceSlug = '';
public function mount(): void public function mount(): void

View File

@ -2,7 +2,6 @@
namespace Database\Seeders; namespace Database\Seeders;
use App\Models\User;
use Illuminate\Database\Console\Seeds\WithoutModelEvents; use Illuminate\Database\Console\Seeds\WithoutModelEvents;
use Illuminate\Database\Seeder; use Illuminate\Database\Seeder;

View File

@ -8,7 +8,6 @@ use App\Domains\Workspace\Models\Workspace;
use App\Domains\Workspace\Models\WorkspaceMember; use App\Domains\Workspace\Models\WorkspaceMember;
use App\Models\User; use App\Models\User;
use Illuminate\Database\Seeder; use Illuminate\Database\Seeder;
use Illuminate\Support\Carbon;
use Illuminate\Support\Str; use Illuminate\Support\Str;
class DemoDataSeeder extends Seeder class DemoDataSeeder extends Seeder
@ -52,7 +51,7 @@ class DemoDataSeeder extends Seeder
$links[] = $link; $links[] = $link;
} }
$this->command->info('Created ' . count($links) . ' links'); $this->command->info('Created '.count($links).' links');
$countries = ['DE', 'US', 'GB', 'FR', 'AT', 'CH', 'NL', 'PL', 'IT', 'ES']; $countries = ['DE', 'US', 'GB', 'FR', 'AT', 'CH', 'NL', 'PL', 'IT', 'ES'];
$devices = ['desktop', 'mobile', 'tablet']; $devices = ['desktop', 'mobile', 'tablet'];

View File

@ -24,6 +24,7 @@ Route::post('logout', function (Request $request, Logout $logout) {
$logout(); $logout();
$request->session()->invalidate(); $request->session()->invalidate();
$request->session()->regenerateToken(); $request->session()->regenerateToken();
return redirect('/'); return redirect('/');
})->middleware('auth')->name('logout'); })->middleware('auth')->name('logout');

View File

@ -3,7 +3,14 @@
use App\Http\Controllers\BioPageController; use App\Http\Controllers\BioPageController;
use App\Http\Controllers\RedirectController; use App\Http\Controllers\RedirectController;
use App\Http\Middleware\ResolveWorkspace; use App\Http\Middleware\ResolveWorkspace;
use App\Livewire\Pages\Dashboard\Overview;
use App\Livewire\Pages\Links\Index; use App\Livewire\Pages\Links\Index;
use App\Livewire\Pages\Profile\PersonalInfo;
use App\Livewire\Pages\Profile\Preferences;
use App\Livewire\Pages\Profile\Security;
use App\Livewire\Pages\Settings\ApiTokens;
use App\Livewire\Pages\Settings\Webhooks;
use App\Livewire\Pages\Team\Members;
use Illuminate\Support\Facades\Route; use Illuminate\Support\Facades\Route;
Route::get('/health', function () { Route::get('/health', function () {
@ -19,15 +26,16 @@ Route::get('dashboard', function () {
if ($workspace) { if ($workspace) {
return redirect()->route('w.dashboard', $workspace->ulid); return redirect()->route('w.dashboard', $workspace->ulid);
} }
return view('dashboard'); return view('dashboard');
})->middleware(['auth', 'verified'])->name('dashboard'); })->middleware(['auth', 'verified'])->name('dashboard');
Route::get('profile', fn() => redirect()->route('profile.personal'))->middleware(['auth'])->name('profile'); Route::get('profile', fn () => redirect()->route('profile.personal'))->middleware(['auth'])->name('profile');
Route::middleware(['auth'])->group(function () { Route::middleware(['auth'])->group(function () {
Route::get('/profile/personal', App\Livewire\Pages\Profile\PersonalInfo::class)->name('profile.personal'); Route::get('/profile/personal', PersonalInfo::class)->name('profile.personal');
Route::get('/profile/preferences', App\Livewire\Pages\Profile\Preferences::class)->name('profile.preferences'); Route::get('/profile/preferences', Preferences::class)->name('profile.preferences');
Route::get('/profile/security', App\Livewire\Pages\Profile\Security::class)->name('profile.security'); Route::get('/profile/security', Security::class)->name('profile.security');
}); });
// Workspace-scoped routes — placed before slug catch-all // Workspace-scoped routes — placed before slug catch-all
@ -35,17 +43,17 @@ Route::middleware(['auth', 'verified', ResolveWorkspace::class])
->prefix('w/{workspace}') ->prefix('w/{workspace}')
->name('w.') ->name('w.')
->group(function () { ->group(function () {
Route::get('/', App\Livewire\Pages\Dashboard\Overview::class)->name('dashboard'); Route::get('/', Overview::class)->name('dashboard');
Route::get('/links', Index::class)->name('links.index'); Route::get('/links', Index::class)->name('links.index');
Route::get('/qr', App\Livewire\Pages\QrCodes\Index::class)->name('qr.index'); Route::get('/qr', App\Livewire\Pages\QrCodes\Index::class)->name('qr.index');
Route::get('/bio', App\Livewire\Pages\Bio\Index::class)->name('bio.index'); Route::get('/bio', App\Livewire\Pages\Bio\Index::class)->name('bio.index');
Route::get('/analytics', App\Livewire\Pages\Analytics\Index::class)->name('analytics.index'); Route::get('/analytics', App\Livewire\Pages\Analytics\Index::class)->name('analytics.index');
Route::get('/domains', App\Livewire\Pages\Domains\Index::class)->name('domains.index'); Route::get('/domains', App\Livewire\Pages\Domains\Index::class)->name('domains.index');
Route::get('/settings', App\Livewire\Pages\Settings\Index::class)->name('settings.index'); Route::get('/settings', App\Livewire\Pages\Settings\Index::class)->name('settings.index');
Route::get('/settings/api-tokens', App\Livewire\Pages\Settings\ApiTokens::class)->name('settings.api-tokens'); Route::get('/settings/api-tokens', ApiTokens::class)->name('settings.api-tokens');
Route::get('/settings/webhooks', App\Livewire\Pages\Settings\Webhooks::class)->name('settings.webhooks'); Route::get('/settings/webhooks', Webhooks::class)->name('settings.webhooks');
Route::get('/billing', App\Livewire\Pages\Billing\Index::class)->name('billing.index'); Route::get('/billing', App\Livewire\Pages\Billing\Index::class)->name('billing.index');
Route::get('/team', App\Livewire\Pages\Team\Members::class)->name('team.index'); Route::get('/team', Members::class)->name('team.index');
}); });
// Bio page route — must be before the slug catch-all // Bio page route — must be before the slug catch-all

View File

@ -1,8 +1,8 @@
<?php <?php
use App\Models\User;
use App\Domains\Workspace\Models\Workspace; use App\Domains\Workspace\Models\Workspace;
use App\Domains\Workspace\Models\WorkspaceMember; use App\Domains\Workspace\Models\WorkspaceMember;
use App\Models\User;
use Livewire\Volt\Volt; use Livewire\Volt\Volt;
test('login screen can be rendered', function () { test('login screen can be rendered', function () {

View File

@ -20,6 +20,7 @@ function makeUserWithWs(): array
'role' => 'owner', 'role' => 'owner',
'joined_at' => now(), 'joined_at' => now(),
]); ]);
return [$user, $ws]; return [$user, $ws];
} }

View File

@ -16,6 +16,7 @@ use App\Livewire\Modals\RemoveMember;
use App\Livewire\Modals\RevokeApiToken; use App\Livewire\Modals\RevokeApiToken;
use App\Models\User; use App\Models\User;
use Illuminate\Database\Eloquent\ModelNotFoundException; use Illuminate\Database\Eloquent\ModelNotFoundException;
use Laravel\Sanctum\PersonalAccessToken;
use Livewire\Livewire; use Livewire\Livewire;
function makeWsUser(): array function makeWsUser(): array
@ -28,6 +29,7 @@ function makeWsUser(): array
'role' => 'owner', 'role' => 'owner',
'joined_at' => now(), 'joined_at' => now(),
]); ]);
return [$user, $ws]; return [$user, $ws];
} }
@ -183,7 +185,7 @@ it('revokes token and dispatches apiTokenRevoked', function () {
->call('revoke') ->call('revoke')
->assertDispatched('apiTokenRevoked'); ->assertDispatched('apiTokenRevoked');
expect(\Laravel\Sanctum\PersonalAccessToken::find($pat->id))->toBeNull(); expect(PersonalAccessToken::find($pat->id))->toBeNull();
}); });
// CreateWebhook // CreateWebhook

View File

@ -1,8 +1,8 @@
<?php <?php
use App\Models\User;
use App\Domains\Workspace\Models\Workspace; use App\Domains\Workspace\Models\Workspace;
use App\Domains\Workspace\Models\WorkspaceMember; use App\Domains\Workspace\Models\WorkspaceMember;
use App\Models\User;
function makeUserWithWorkspace(): array function makeUserWithWorkspace(): array
{ {
@ -14,6 +14,7 @@ function makeUserWithWorkspace(): array
'role' => 'owner', 'role' => 'owner',
'joined_at' => now(), 'joined_at' => now(),
]); ]);
return [$user, $ws]; return [$user, $ws];
} }