actingAs($user); $workspaceId = (int) session()->get(WorkspaceContext::SESSION_KEY); $destination = AlertDestination::factory()->create([ 'workspace_id' => $workspaceId, 'is_enabled' => true, ]); AlertDelivery::factory()->test()->create([ 'workspace_id' => $workspaceId, 'alert_destination_id' => $destination->getKey(), 'status' => AlertDelivery::STATUS_SENT, ]); Livewire::test(ViewAlertDestination::class, ['record' => $destination->getRouteKey()]) ->assertActionVisible('view_last_delivery'); }); it('hides view_last_delivery action on view page when no test delivery exists', function (): void { [$user] = createUserWithTenant(role: 'owner'); $this->actingAs($user); $workspaceId = (int) session()->get(WorkspaceContext::SESSION_KEY); $destination = AlertDestination::factory()->create([ 'workspace_id' => $workspaceId, 'is_enabled' => true, ]); Livewire::test(ViewAlertDestination::class, ['record' => $destination->getRouteKey()]) ->assertActionHidden('view_last_delivery'); }); it('shows view_last_delivery action on edit page when a test delivery exists', function (): void { [$user] = createUserWithTenant(role: 'owner'); $this->actingAs($user); $workspaceId = (int) session()->get(WorkspaceContext::SESSION_KEY); $destination = AlertDestination::factory()->create([ 'workspace_id' => $workspaceId, 'is_enabled' => true, ]); AlertDelivery::factory()->test()->create([ 'workspace_id' => $workspaceId, 'alert_destination_id' => $destination->getKey(), 'status' => AlertDelivery::STATUS_SENT, ]); Livewire::test(EditAlertDestination::class, ['record' => $destination->getRouteKey()]) ->assertActionVisible('view_last_delivery'); }); it('hides view_last_delivery action on edit page when no test delivery exists', function (): void { [$user] = createUserWithTenant(role: 'owner'); $this->actingAs($user); $workspaceId = (int) session()->get(WorkspaceContext::SESSION_KEY); $destination = AlertDestination::factory()->create([ 'workspace_id' => $workspaceId, 'is_enabled' => true, ]); Livewire::test(EditAlertDestination::class, ['record' => $destination->getRouteKey()]) ->assertActionHidden('view_last_delivery'); }); it('generates deep link URL matching the contract filters', function (): void { [$user] = createUserWithTenant(role: 'owner'); $this->actingAs($user); $workspaceId = (int) session()->get(WorkspaceContext::SESSION_KEY); $destination = AlertDestination::factory()->create([ 'workspace_id' => $workspaceId, 'is_enabled' => true, ]); AlertDelivery::factory()->test()->create([ 'workspace_id' => $workspaceId, 'alert_destination_id' => $destination->getKey(), 'status' => AlertDelivery::STATUS_SENT, ]); $component = Livewire::test(ViewAlertDestination::class, ['record' => $destination->getRouteKey()]); $url = $component->instance()->getAction('view_last_delivery')->getUrl(); expect($url)->toContain('alert-deliveries'); expect($url)->toContain('filters%5Bevent_type%5D%5Bvalue%5D=alerts.test'); expect($url)->toContain('filters%5Balert_destination_id%5D%5Bvalue%5D='.$destination->getKey()); });