From d94a064915dc806811b41cbeb2765845c93b459b Mon Sep 17 00:00:00 2001 From: Juan Pablo Vial Date: Mon, 15 Sep 2025 14:45:53 -0300 Subject: [PATCH 1/5] Cleanup --- app/src/Service/Venta/Propietario.php | 1 - 1 file changed, 1 deletion(-) diff --git a/app/src/Service/Venta/Propietario.php b/app/src/Service/Venta/Propietario.php index cec026b..cd1a809 100644 --- a/app/src/Service/Venta/Propietario.php +++ b/app/src/Service/Venta/Propietario.php @@ -104,7 +104,6 @@ class Propietario extends Service } catch (EmptyResult) { try { $propietario = $this->propietarioRepository->create($filtered_data); - $this->logger->info('Propietario', ['propietario' => $propietario]); $propietario = $this->propietarioRepository->save($propietario); } catch (PDOException $exception) { throw new Create(__CLASS__, $exception); From d0074a6988aa9642a0216492ae40371fe55a4d7f Mon Sep 17 00:00:00 2001 From: Juan Pablo Vial Date: Mon, 15 Sep 2025 16:44:40 -0300 Subject: [PATCH 2/5] FIX: single quote --- app/resources/views/ventas/propietarios/edit.blade.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/app/resources/views/ventas/propietarios/edit.blade.php b/app/resources/views/ventas/propietarios/edit.blade.php index 2fa210b..b2ab23e 100644 --- a/app/resources/views/ventas/propietarios/edit.blade.php +++ b/app/resources/views/ventas/propietarios/edit.blade.php @@ -33,7 +33,7 @@ Editar Propietario
- +
From c0f56f02e9f85da50ecb0fee821bfa345ec282a7 Mon Sep 17 00:00:00 2001 From: Juan Pablo Vial Date: Mon, 15 Sep 2025 16:45:26 -0300 Subject: [PATCH 3/5] Cleanup --- app/src/Service/Persona.php | 1 - 1 file changed, 1 deletion(-) diff --git a/app/src/Service/Persona.php b/app/src/Service/Persona.php index e41a8a6..84bc645 100644 --- a/app/src/Service/Persona.php +++ b/app/src/Service/Persona.php @@ -92,7 +92,6 @@ class Persona extends Ideal\Service throw new Create(__CLASS__, $exception); } } - } $this->addDatos($persona, $data); From ae1b985b3551c1fd7746235281ca41fc5f7548b1 Mon Sep 17 00:00:00 2001 From: Juan Pablo Vial Date: Mon, 15 Sep 2025 16:45:42 -0300 Subject: [PATCH 4/5] Test get --- app/tests/unit/src/Service/PersonaTest.php | 71 ++++++++++++++++++++-- 1 file changed, 65 insertions(+), 6 deletions(-) diff --git a/app/tests/unit/src/Service/PersonaTest.php b/app/tests/unit/src/Service/PersonaTest.php index ff5c83b..f838870 100644 --- a/app/tests/unit/src/Service/PersonaTest.php +++ b/app/tests/unit/src/Service/PersonaTest.php @@ -5,12 +5,10 @@ use Psr\Log\LoggerInterface; use PHPUnit\Framework\TestCase; use Faker; use Incoviba\Common\Implement; -use Incoviba\Exception\ServiceAction; use Incoviba\Model; use Incoviba\Repository; use Incoviba\Service; -use Incoviba\Common\Define; -use Incoviba\Common\Ideal; +use Tests\Extension\Faker\Provider\Rut; class PersonaTest extends TestCase { @@ -51,10 +49,11 @@ class PersonaTest extends TestCase $personaService = new Service\Persona($this->logger, $this->personaRepository, $this->datosPersonaRepository, $this->propietarioRepository, $this->direccionService); $faker = Faker\Factory::create('es_ES'); - $digit = $faker->boolean(100-round(1/11*100)) ? $faker->randomNumber(1) : 'K'; + $faker->addProvider(new Rut($faker)); + $rut = $faker->rut(false, false); $data = [ - 'rut' => $faker->randomNumber(8), - 'digito' => $digit, + 'rut' => $rut, + 'digito' => $faker->digitoVerificador($rut), 'nombres' => $faker->name(), 'apellido_paterno' => $faker->lastName(), 'apellido_materno' => $faker->lastName(), @@ -62,4 +61,64 @@ class PersonaTest extends TestCase $persona = $personaService->add($data); $this->assertEquals($data['rut'], $persona->rut); } + public function testGetById(): void + { + $faker = Faker\Factory::create('es_ES'); + $faker->addProvider(new Rut($faker)); + $direccion = $this->getMockBuilder(Model\Direccion::class) + ->disableOriginalConstructor()->getMock(); + $direccion->id = $faker->randomNumber(2); + $datos = new Model\Venta\Datos(); + $datos->direccion = $direccion; + $datos->telefono = $faker->randomNumber(8); + $datos->email = $faker->email(); + $datos->sexo = $faker->randomElement(['M', 'F']); + $rut = $faker->rut(false, false); + $propietario = new Model\Venta\Propietario(); + $propietario->rut = $rut; + $propietario->dv = $faker->digitoVerificador($rut); + $propietario->nombres = $faker->name(); + $propietario->apellidos['paterno'] = $faker->lastName(); + $propietario->apellidos['materno'] = $faker->lastName(); + $propietario->datos = $datos; + $propietarioRepository = $this->getMockBuilder(Repository\Venta\Propietario::class) + ->disableOriginalConstructor()->getMock(); + $personaRepository = $this->getMockBuilder(Repository\Persona::class) + ->disableOriginalConstructor()->getMock(); + $personaRepository->method('fetchById')->willThrowException(new Implement\Exception\EmptyResult('')); + $personaRepository->method('create')->willReturnCallback(function($data) { + $persona = new Model\Persona(); + $persona->rut = $data['rut']; + $persona->digito = $data['digito']; + $persona->nombres = $data['nombres']; + $persona->apellidoPaterno = $data['apellido_paterno']; + $persona->apellidoMaterno = $data['apellido_materno']; + return $persona; + }); + $personaRepository->method('save')->willReturnArgument(0); + $datosPersona = new Model\Persona\Datos(); + $datosPersona->direccion = $direccion; + $datosPersona->telefono = $datos->telefono; + $datosPersona->email = $datos->email; + $datosPersona->sexo = $datos->sexo; + $datosPersonaRepository = $this->getMockBuilder(Repository\Persona\Datos::class) + ->disableOriginalConstructor()->getMock(); + $datosPersonaRepository->method('fetchByPersona')->willReturn($datosPersona); + $propietarioRepository->method('fetchById')->willReturn($propietario); + $direccionService = $this->getMockBuilder(Service\Direccion::class) + ->disableOriginalConstructor()->getMock(); + $direccionService->method('add')->willReturn($direccion); + $personaService = new Service\Persona($this->logger, $personaRepository, $datosPersonaRepository, + $propietarioRepository, $direccionService); + $persona = $personaService->getById($rut); + $this->assertEquals($rut, $persona->rut); + $this->assertEquals($propietario->dv, $persona->digito); + $this->assertEquals($propietario->nombres, $persona->nombres); + $this->assertEquals($propietario->apellidos['paterno'], $persona->apellidoPaterno); + $this->assertEquals($propietario->apellidos['materno'], $persona->apellidoMaterno); + $this->assertEquals($datos->direccion, $persona->datos->direccion); + $this->assertEquals($datos->telefono, $persona->datos->telefono); + $this->assertEquals($datos->email, $persona->datos->email); + $this->assertEquals($datos->sexo, $persona->datos->sexo); + } } From 03c05611b07941b1b6908bed9bbae7710dcc0afa Mon Sep 17 00:00:00 2001 From: Juan Pablo Vial Date: Mon, 15 Sep 2025 17:26:56 -0300 Subject: [PATCH 5/5] FIX: number with country code without + --- app/src/Service/Venta/MediosPago/Toku/Customer.php | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/app/src/Service/Venta/MediosPago/Toku/Customer.php b/app/src/Service/Venta/MediosPago/Toku/Customer.php index 568569c..54a06b4 100644 --- a/app/src/Service/Venta/MediosPago/Toku/Customer.php +++ b/app/src/Service/Venta/MediosPago/Toku/Customer.php @@ -103,7 +103,11 @@ class Customer extends AbstractEndPoint continue; } if (!str_starts_with($value, '+')) { - $value = "+56{$value}"; + if (str_starts_with($value, '56')) { + $value = "+{$value}"; + } else { + $value = "+56{$value}"; + } } $params[$key] = $value; continue;