Resuelve primero la instancia del cliente y luego la del tipo de sitio cuando existe contexto de tenant. Adapta SMTP y Telepagos, con tokens identificados por instancia y version de credenciales. Separa la edicion de instancias de sus asociaciones y conserva el guardado por cliente creando una instancia nueva. Impide eliminar instancias en uso y adapta las pruebas existentes, incluida la herencia SMTP.
22 lines
664 B
PHP
22 lines
664 B
PHP
<?php
|
|
|
|
namespace Tests\Concerns;
|
|
|
|
use App\Domains\Integration\Models\ClientIntegration;
|
|
use App\Domains\Integration\Models\IntegrationInstance;
|
|
|
|
trait CreatesIntegrationInstances
|
|
{
|
|
private function createClientIntegration(array $attributes): ClientIntegration
|
|
{
|
|
$instance = IntegrationInstance::create([
|
|
'integration_code' => $attributes['integration_code'],
|
|
'name' => 'Test instance',
|
|
'integration_data' => $attributes['integration_data'],
|
|
]);
|
|
unset($attributes['integration_data']);
|
|
|
|
return ClientIntegration::create($attributes + ['integration_instance_id' => $instance->id]);
|
|
}
|
|
}
|