Skip to content

Commit 7013378

Browse files
authored
Merge pull request #17 from eclipxe13/version-0.3.1
Corregir codigos postales estímulo frontera y mantenimiento (Versión 0.3.1)
2 parents 8eaf12e + 4bca037 commit 7013378

File tree

13 files changed

+142
-36
lines changed

13 files changed

+142
-36
lines changed

.phive/phars.xml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
<?xml version="1.0" encoding="UTF-8"?>
22
<phive xmlns="https://phar.io/phive">
3-
<phar name="php-cs-fixer" version="^3.19.2" installed="3.19.2" location="./tools/php-cs-fixer" copy="false"/>
3+
<phar name="php-cs-fixer" version="^3.20.0" installed="3.20.0" location="./tools/php-cs-fixer" copy="false"/>
44
<phar name="phpcs" version="^3.7.2" installed="3.7.2" location="./tools/phpcs" copy="false"/>
55
<phar name="phpcbf" version="^3.7.2" installed="3.7.2" location="./tools/phpcbf" copy="false"/>
6-
<phar name="phpstan" version="^1.10.21" installed="1.10.21" location="./tools/phpstan" copy="false"/>
6+
<phar name="phpstan" version="^1.10.23" installed="1.10.23" location="./tools/phpstan" copy="false"/>
77
</phive>

README.md

Lines changed: 6 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -8,9 +8,12 @@
88
[![Coverage Status][badge-coverage]][coverage]
99
[![Total Downloads][badge-downloads]][downloads]
1010

11-
> Catálogos de SAT para CFDI 3.3
11+
> Catálogos de SAT para CFDI 3.3, CFDI 4.0 y Nómina 1.2.
1212
13-
Esta librería permite usar los catálogos del SAT para CFDI version 3.3.
13+
Esta librería permite usar los catálogos del SAT para:
14+
- CFDI 3.3.
15+
- CFDI 4.0.
16+
- Nómina 1.2.
1417

1518
Vea la [Información general de catálogos](docs/Catalogos.md) para mayor información.
1619

@@ -59,7 +62,7 @@ Usted no debería modificar la base de datos, esto equivale a modificar el códi
5962

6063
Esta librería no contiene métodos para manipular la base de datos.
6164
La base de datos es simplemente un repositorio de datos de lectura.
62-
Bien podría tratarse de datos en formato JSON, sin embargo al desarrollar la librería
65+
Bien podría tratarse de datos en formato JSON, sin embargo, al desarrollar la librería
6366
no encontramos una forma ágil y de pocos recursos para leer en un formato diferente.
6467

6568
## Versionado de la librería

docs/CHANGELOG.md

Lines changed: 15 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -6,12 +6,25 @@ Usamos [Versionado Semántico 2.0.0](SEMVER.md) por lo que puedes usar esta libr
66

77
## Cambios no liberados en una versión
88

9-
Pueden aparecer cambios no liberados que se integran a la rama principal pero no ameritan una nueva liberación de
9+
Pueden aparecer cambios no liberados que se integran a la rama principal, pero no ameritan una nueva liberación de
1010
versión aunque sí su incorporación en la rama principal de trabajo, generalmente se tratan de cambios en el desarrollo.
1111

1212
## Listado de cambios
1313

14-
### Mantenimimento 2023-06-26
14+
### Versión 0.3.1 2023-06-04
15+
16+
- Se corrige la propiedad `CFDI\CodigoPostal::estimuloFrontera()` y `CFDI40\CodigoPostal::estimuloFrontera()`,
17+
anteriormente era un boleano y ahora es un entero.
18+
- Se agrega el método `CFDI\CodigoPostal::hasEstímuloFrontera()` y `CFDI40\CodigoPostal::hasEstímuloFrontera()`,
19+
que retorna si el código postal tiene estímulo fronterizo.
20+
21+
Los siguientes cambios son de mantenimiento:
22+
23+
- Se actualiza el archivo de creación de base de datos para pruebas.
24+
- Se actualiza la herramienta para crear el archivo de creación de base de datos para pruebas.
25+
- Se actualizan las herramientas de desarrollo
26+
27+
Los siguientes cambios de mantenimiento se aplicaron en 2023-06-26:
1528

1629
- Actualizar archivo de licencia.
1730
- Se corrige la liga al proyecto del archivo `CONTRIBUTING.md`.

docs/SEMVER.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,7 @@ Esto significa que:
2626
## Versiones 0.x.y no rompe compatibilidad
2727

2828
Las versiones que inician con cero, por ejemplo `0.y.z`, no se ajustan a las reglas de versionado.
29-
Se considera que estas versiones son previas a la madurez del proyecto y por lo tanto
29+
Se considera que estas versiones son previas a la madurez del proyecto y, por lo tanto,
3030
introducen cambios sin previo aviso.
3131

3232
## `@internal` no rompe compatibilidad

docs/TODO.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
# phpcfdi/sat-catalogos lista de tareas pendientes
1+
# `phpcfdi/sat-catalogos` lista de tareas pendientes
22

33
## Catálogos disponibles aún no implementados
44

src/CFDI/CodigoPostal.php

Lines changed: 8 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,7 @@ class CodigoPostal extends AbstractEntryIdentifiable implements EntryIdentifiabl
1919
/** @var string */
2020
private $localidad;
2121

22-
/** @var bool */
22+
/** @var int */
2323
private $estimuloFrontera;
2424

2525
/** @var HusoHorario */
@@ -30,7 +30,7 @@ public function __construct(
3030
string $estado,
3131
string $municipio,
3232
string $localidad,
33-
bool $estimuloFrontera,
33+
int $estimuloFrontera,
3434
HusoHorario $husoHorario,
3535
int $vigenteDesde,
3636
int $vigenteHasta
@@ -61,11 +61,16 @@ public function localidad(): string
6161
return $this->localidad;
6262
}
6363

64-
public function estimuloFrontera(): bool
64+
public function estimuloFrontera(): int
6565
{
6666
return $this->estimuloFrontera;
6767
}
6868

69+
public function hasEstimuloFrontera(): bool
70+
{
71+
return 0 !== $this->estimuloFrontera;
72+
}
73+
6974
public function husoHorario(): HusoHorario
7075
{
7176
return $this->husoHorario;

src/CFDI/CodigosPostales.php

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -31,7 +31,7 @@ public function create(array $data): EntryIdentifiable
3131
$values->string('estado'),
3232
$values->string('municipio'),
3333
$values->string('localidad'),
34-
$values->bool('estimulo_frontera'),
34+
$values->int('estimulo_frontera'),
3535
new HusoHorario(
3636
$values->string('huso_descripcion'),
3737
new HusoHorarioEstacion(

src/CFDI40/CodigoPostal.php

Lines changed: 8 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,7 @@ class CodigoPostal extends AbstractEntryIdentifiable implements EntryIdentifiabl
1919
/** @var string */
2020
private $localidad;
2121

22-
/** @var bool */
22+
/** @var int */
2323
private $estimuloFrontera;
2424

2525
/** @var HusoHorario */
@@ -30,7 +30,7 @@ public function __construct(
3030
string $estado,
3131
string $municipio,
3232
string $localidad,
33-
bool $estimuloFrontera,
33+
int $estimuloFrontera,
3434
HusoHorario $husoHorario,
3535
int $vigenteDesde,
3636
int $vigenteHasta
@@ -61,11 +61,16 @@ public function localidad(): string
6161
return $this->localidad;
6262
}
6363

64-
public function estimuloFrontera(): bool
64+
public function estimuloFrontera(): int
6565
{
6666
return $this->estimuloFrontera;
6767
}
6868

69+
public function hasEstimuloFrontera(): bool
70+
{
71+
return 0 !== $this->estimuloFrontera;
72+
}
73+
6974
public function husoHorario(): HusoHorario
7075
{
7176
return $this->husoHorario;

src/CFDI40/CodigosPostales.php

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -31,7 +31,7 @@ public function create(array $data): EntryIdentifiable
3131
$values->string('estado'),
3232
$values->string('municipio'),
3333
$values->string('localidad'),
34-
$values->bool('estimulo_frontera'),
34+
$values->int('estimulo_frontera'),
3535
new HusoHorario(
3636
$values->string('huso_descripcion'),
3737
new HusoHorarioEstacion(

tests/Unit/CFDI/CodigoPostalTest.php

Lines changed: 7 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -29,7 +29,7 @@ public function testCreateInstance(): void
2929
$estado = 'MEX';
3030
$municipio = '051';
3131
$localidad = '';
32-
$estimuloFrontera = false;
32+
$estimuloFrontera = 0;
3333
$husoHorario = $this->createHusoHorario();
3434
$vigenteDesde = 0;
3535
$vigenteHasta = strtotime('2019-01-13');
@@ -61,18 +61,19 @@ public function testPropertyEstadoCannotBeEmpty(): void
6161
{
6262
$this->expectException(SatCatalogosLogicException::class);
6363
$this->expectExceptionMessage('El campo estado no puede ser una cadena de caracteres vacía');
64-
new CodigoPostal('52000', '', '', '', false, $this->createHusoHorario(), 0, 0);
64+
new CodigoPostal('52000', '', '', '', 0, $this->createHusoHorario(), 0, 0);
6565
}
6666

6767
/**
68-
* @param bool $estimuloFrontera
69-
* @testWith [true]
70-
* [false]
68+
* @testWith [0, false]
69+
* [1, true]
70+
* [2, true]
7171
*/
72-
public function testPropertyEstimuloFrontera(bool $estimuloFrontera): void
72+
public function testPropertyEstimuloFrontera(int $estimuloFrontera, bool $hasEstimuloFrontera): void
7373
{
7474
$husoHorario = $this->createHusoHorario();
7575
$codigoPostal = new CodigoPostal('52000', 'MEX', '051', '', $estimuloFrontera, $husoHorario, 0, 0);
7676
$this->assertSame($estimuloFrontera, $codigoPostal->estimuloFrontera());
77+
$this->assertSame($hasEstimuloFrontera, $codigoPostal->hasEstimuloFrontera());
7778
}
7879
}

0 commit comments

Comments
 (0)