generateTestAccount(); /** @var User $differentUser */ $differentUser = User::factory()->create(); $real = Uuid::uuid4()->toString(); // Generate a UUID that lines up with a user in the database if it were to be cast to an int. $uuid = $differentUser->id . substr($real, strlen((string) $differentUser->id)); /** @var User $subuser */ $subuser = User::factory()->create(['uuid' => $uuid]); Subuser::query()->forceCreate([ 'user_id' => $subuser->id, 'server_id' => $server->id, 'permissions' => [SubuserPermission::WebsocketConnect], ]); $this->actingAs($user)->deleteJson($this->link($server) . "/users/$subuser->uuid")->assertNoContent(); Bus::assertDispatched(function (RevokeSftpAccessJob $job) use ($subuser, $server) { return $job->user === $subuser->uuid && $job->target->is($server); }); // Try the same test, but this time with a UUID that if cast to an int (shouldn't) line up with // anything in the database. $uuid = '18180000' . substr(Uuid::uuid4()->toString(), 8); /** @var User $subuser */ $subuser = User::factory()->create(['uuid' => $uuid]); Subuser::query()->forceCreate([ 'user_id' => $subuser->id, 'server_id' => $server->id, 'permissions' => [SubuserPermission::WebsocketConnect], ]); $this->actingAs($user)->deleteJson($this->link($server) . "/users/$subuser->uuid")->assertNoContent(); Bus::assertDispatched(function (RevokeSftpAccessJob $job) use ($subuser, $server) { return $job->user === $subuser->uuid && $job->target->is($server); }); } }