Add test coverage and fix permissions mistake
This commit is contained in:
parent
8483db755d
commit
d4bf6bd46a
4 changed files with 282 additions and 32 deletions
|
@ -7,6 +7,7 @@ use Pterodactyl\Models\Egg;
|
|||
use Pterodactyl\Models\Node;
|
||||
use Pterodactyl\Models\User;
|
||||
use Pterodactyl\Models\Server;
|
||||
use Pterodactyl\Models\Subuser;
|
||||
use Pterodactyl\Models\Location;
|
||||
use Pterodactyl\Models\Allocation;
|
||||
|
||||
|
@ -76,6 +77,35 @@ trait CreatesTestModels
|
|||
]);
|
||||
}
|
||||
|
||||
/**
|
||||
* Generates a user and a server for that user. If an array of permissions is passed it
|
||||
* is assumed that the user is actually a subuser of the server.
|
||||
*
|
||||
* @param string[] $permissions
|
||||
*
|
||||
* @return array{\Pterodactyl\Models\User, \Pterodactyl\Models\Server}
|
||||
*/
|
||||
public function generateTestAccount(array $permissions = []): array
|
||||
{
|
||||
/** @var \Pterodactyl\Models\User $user */
|
||||
$user = User::factory()->create();
|
||||
|
||||
if (empty($permissions)) {
|
||||
return [$user, $this->createServerModel(['user_id' => $user->id])];
|
||||
}
|
||||
|
||||
/** @var \Pterodactyl\Models\Server $server */
|
||||
$server = $this->createServerModel();
|
||||
|
||||
Subuser::query()->create([
|
||||
'user_id' => $user->id,
|
||||
'server_id' => $server->id,
|
||||
'permissions' => $permissions,
|
||||
]);
|
||||
|
||||
return [$user, $server];
|
||||
}
|
||||
|
||||
/**
|
||||
* Clones a given egg allowing us to make modifications that don't affect other
|
||||
* tests that rely on the egg existing in the correct state.
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue