Files
api/services/nginx/app/tests/Unit/Replication/SuperuserReplicationRouteWiringTest.php
T

39 lines
2.3 KiB
PHP

<?php
it('registers superuser replication endpoints and permissions', function (): void {
$content = file_get_contents(app_path('routes/superuserReplicationRoute.php'));
expect($content)->not->toBeFalse();
expect($content)->toContain('/superuser/replication');
expect($content)->toContain('/superuser/replication/databases');
expect($content)->toContain('/superuser/replication/redis');
expect($content)->toContain('/superuser/replication/minio');
expect($content)->toContain('/superuser/replication/compose-template');
expect($content)->toContain('/superuser/replication/test-credentials');
expect($content)->toContain('/superuser/replication/{kind}/{id}/test');
expect($content)->toContain('/superuser/replication/{kind}/{id}/provision');
expect($content)->toContain('/superuser/replication/{kind}/{id}/promote');
expect($content)->toContain("\$this->patch('/superuser/replication/{kind}/{id}'");
expect($content)->toContain("requirePermission('superuser_replication_view')");
expect($content)->toContain("requirePermission('superuser_replication_manage')");
expect($content)->toContain("requirePermission('superuser_replication_promote')");
expect($content)->toContain("requirePermission('superuser_replication_remove')");
});
it('documents replication management in openapi', function (): void {
$content = file_get_contents(app_path('openapi.yaml'));
expect($content)->toContain('/superuser/replication:');
expect($content)->toContain('operationId: getSuperuserReplication');
expect($content)->toContain('operationId: generateSuperuserReplicationComposeTemplate');
expect($content)->toContain('operationId: testSuperuserReplicationCredentials');
expect($content)->toContain('operationId: addSuperuserMinioReplicationHost');
expect($content)->toContain('operationId: renameSuperuserReplicationHost');
expect($content)->toContain('enum: [database, redis, minio]');
expect($content)->toContain('space_headroom_percent');
expect($content)->toContain('SuperuserReplicationStatus');
expect($content)->toContain('SuperuserReplicationHostCreateRequest');
expect($content)->toContain('SuperuserReplicationHostRenameRequest');
expect($content)->toContain('SuperuserReplicationComposeTemplateRequest');
});