Pruebas de integracion con seeds

This commit is contained in:
Juan Pablo Vial
2025-06-24 21:55:02 -04:00
parent 360537c638
commit ca1ed3f870
26 changed files with 1133 additions and 418 deletions

View File

@ -7,11 +7,11 @@ use Incoviba\Model\Inmobiliaria\TipoSociedad;
class Inmobiliaria extends Model
{
public int $rut;
public ?string $dv;
public ?string $razon;
public ?string $abreviacion;
public ?TipoSociedad $tipoSociedad;
public string $sigla;
public ?string $dv = null;
public ?string $razon = null;
public ?string $abreviacion = null;
public ?TipoSociedad $tipoSociedad = null;
public ?string $sigla = null;
public function rut(): string
{
@ -37,7 +37,7 @@ class Inmobiliaria extends Model
'razon' => $this->razon ?? '',
'abreviacion' => $this->abreviacion ?? '',
'tipo_sociedad' => $this->tipoSociedad ?? '',
'sigla' => $this->sigla,
'sigla' => $this->sigla ?? '',
];
}
}

View File

@ -6,12 +6,12 @@ use Incoviba\Model\Direccion;
class Datos
{
public ?string $sexo;
public ?string $estado_civil;
public ?string $profesion;
public ?Direccion $direccion;
public ?int $telefono;
public ?string $email;
public ?string $sexo = null;
public ?string $estado_civil = null;
public ?string $profesion = null;
public ?Direccion $direccion = null;
public ?int $telefono = null;
public ?string $email = null;
public function jsonSerialize(): mixed
{

View File

@ -9,7 +9,7 @@ class Propiedad extends Ideal\Model
public array $unidades = [];
public bool $estado;
public function principal(): Unidad
public function principal(): ?Unidad
{
if (count($this->departamentos()) > 0) {
return $this->departamentos()[0];

View File

@ -11,8 +11,8 @@ class Propietario extends Model
public string $nombres;
public array $apellidos;
public Datos $datos;
public ?Propietario $representante;
public ?bool $otro;
public ?Propietario $representante = null;
public ?bool $otro = null;
public function rut(): string
{

View File

@ -22,7 +22,7 @@ class Inmobiliaria extends Ideal\Repository
public function create(?array $data = null): Model\Inmobiliaria
{
$map = (new Implement\Repository\MapperParser(['dv', 'razon', 'abreviacion', 'sigla']))
$map = (new Implement\Repository\MapperParser(['rut', 'dv', 'razon', 'abreviacion', 'sigla']))
->register('sociedad', (new Implement\Repository\Mapper())
->setProperty('tipoSociedad')
->setFunction(function($data) {
@ -32,9 +32,9 @@ class Inmobiliaria extends Ideal\Repository
}
public function save(Define\Model $model): Model\Inmobiliaria
{
$model->rut = $this->saveNew(
['dv', 'razon', 'abreviacion', 'cuenta', 'banco', 'sociedad'],
[$model->dv, $model->razon, $model->abreviacion, $model->cuenta, $model->banco->id, $model->tipoSociedad->id]
$this->saveNew(
['rut', 'dv', 'razon', 'abreviacion', 'cuenta', 'banco', 'sociedad'],
[$model->rut, $model?->dv, $model?->razon, $model?->abreviacion, $model?->cuenta, $model?->banco->id, $model?->tipoSociedad->id]
);
return $model;
}

View File

@ -9,7 +9,8 @@ use Incoviba\Repository;
class ProyectoTipoUnidad extends Ideal\Repository
{
public function __construct(Define\Connection $connection, protected Repository\Proyecto $proyectoRepository, protected Repository\Proyecto\TipoUnidad $tipoUnidadRepository)
public function __construct(Define\Connection $connection, protected Repository\Proyecto $proyectoRepository,
protected Repository\Proyecto\TipoUnidad $tipoUnidadRepository)
{
parent::__construct($connection);
$this->setTable('proyecto_tipo_unidad');

View File

@ -23,6 +23,7 @@ class Unidad extends Ideal\Repository
->register('pt', (new Implement\Repository\Mapper())
->setProperty('proyectoTipoUnidad')
->setFunction(function($data) {
var_dump($data['pt']);
return $this->proyectoTipoUnidadService->getById($data['pt']);
}));
return $this->parseData(new Model\Venta\Unidad(), $data, $map);
@ -30,8 +31,9 @@ class Unidad extends Ideal\Repository
public function save(Define\Model $model): Model\Venta\Unidad
{
$model->id = $this->saveNew(
['subtipo', 'piso', 'descripcion', 'orientacion', 'pt'],
[$model->subtipo, $model->piso, $model->descripcion, $model->orientacion, $model->proyectoTipoUnidad->id]
['proyecto', 'tipo', 'subtipo', 'piso', 'descripcion', 'abreviacion', 'orientacion', 'pt'],
[$model->proyectoTipoUnidad->proyecto->id, $model->proyectoTipoUnidad->tipoUnidad->id, $model->subtipo,
$model->piso, $model->descripcion, $model->proyectoTipoUnidad->abreviacion, $model->orientacion, $model->proyectoTipoUnidad->id]
);
return $model;
}