Skip to content

Commit 10632db

Browse files
committed
Se ha estandarizado el largo de código en general y su formato, tanto en el API Client como en los tests y servicios. Se añadió un caso de ejemplo nuevo para la documentación. Se hizo una corrección menor en unit-test.rst. Se añadió la alternativa de usar variables de entorno además de buscar automáticamente para obtener variables necesarias para los tests. Se eliminaron algunos métodos innecesarios en el API Client, y se añadió tipado a dichos métodos, tanto en parámetros de entrada como en sus retornos. Se añadió más alias para facilitar testeo en composer.json. Se hicieron correcciones de funcionamiento a algunos tests que requerían buscar y obtener datos por índice, como ObtenerPdfBteEmitidaTest.php.
1 parent b1407d4 commit 10632db

43 files changed

Lines changed: 791 additions & 459 deletions

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

.gitignore

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,8 @@ vendor/
22
test.env
33
.phpunit.result.cache
44
Dockerfile
5+
.vscode/
6+
**/.DS_Store
57

68
var/
79
tools/

composer.json

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -35,6 +35,11 @@
3535
"docs": "php tools/phpdocumentor run --config=phpdoc.xml",
3636
"tests": "XDEBUG_MODE=coverage vendor/bin/phpunit --configuration=phpunit.xml",
3737
"tests-contribuyentes": "vendor/bin/phpunit --configuration=phpunit.xml --no-coverage --testsuite contribuyentes",
38+
"tests-facturacion": "vendor/bin/phpunit --configuration=phpunit.xml --no-coverage --testsuite facturacion",
39+
"tests-bhe": "vendor/bin/phpunit --configuration=phpunit.xml --no-coverage --testsuite bhe",
40+
"tests-bte": "vendor/bin/phpunit --configuration=phpunit.xml --no-coverage --testsuite bte",
41+
"tests-remuneraciones": "vendor/bin/phpunit --configuration=phpunit.xml --no-coverage --testsuite remuneraciones",
42+
"tests-movimientos": "vendor/bin/phpunit --configuration=phpunit.xml --no-coverage --testsuite movimientos",
3843
"tests-readonly": "XDEBUG_MODE=coverage vendor/bin/phpunit --configuration=phpunit.xml --filter 'testObtenerDatosContribuyente|testObtenerEstadisticasContribuyente|testObtenerRoles|testListarMovimientos|testListarRemuneraciones'",
3944
"phpcs-fix": "php-cs-fixer fix -v --config=php-cs-fixer.php .",
4045
"phpcs-fix-dry-run": "php-cs-fixer fix -v --dry-run --diff --config=php-cs-fixer.php .",

docs/dev/unit-test.rst

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,6 @@
11
Pruebas unitarias
22
=================
33

4-
Para ejecutar las pruebas unitarias se necesita tener instaladas las dependencias de composer y luego ejecutar:
5-
64
.. important::
75
Al ejecutar pruebas, deberás tener configuradas las variables de entorno necesarias en el archivo test.env. Favor de duplicar test.env-dist, cambiar su nombre a test.env y rellenar las variables necesarias.
86

@@ -26,4 +24,4 @@ También es posible ejecutar una pruebas específica indicando el test. Ejemplo:
2624
Alternativamente, se puede ejecutar un "testsuite", o conjunto de tests (solo válido desde la versión de GitHub, o si has definido testsuites previamente):
2725

2826
.. code-block:: shell
29-
./vendor/bin/phpunit --no-coverage --testsuite contribuyentes
27+
./vendor/bin/phpunit --no-coverage --testsuite contribuyentes

docs/getting-started/example.rst

Lines changed: 64 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -14,26 +14,84 @@ Para utilizar el cliente de API de ContaFi, deberás tener definido el token de
1414
.. code-block:: php
1515
<?php
1616
17-
# Definición de directorio autoload. Necesario si se usa la versión de GitHub.
17+
// Definición de directorio autoload. Necesario si se usa la versión de GitHub.
1818
require_once __DIR__ . '/vendor/autoload.php';
1919
20-
# Importaciones del cliente de API de ContaFi
20+
// Importaciones del cliente de API de ContaFi
2121
use contafi\api_client\client\Contribuyentes;
2222
23-
# Instancia de cliente.
23+
// Instancia de cliente.
2424
$client = new Contribuyentes();
25-
# RUT del contribuyente a consultar.
25+
// RUT del contribuyente a consultar.
2626
$rut = "12345678-9";
2727
28-
# Respuesta de solicitud HTTP (POST) de emisión de boleta.
28+
// Respuesta de solicitud HTTP (POST) de emisión de boleta.
2929
$response = $client->datosContribuyente($rut);
3030
31-
# Despliegue del resultado.
31+
// Despliegue del resultado.
3232
echo "\n",$response->getStatusCode();
3333
echo "\nCONTRIBUYENTE DATOS: \n";
3434
echo "\n",$response->getBody()->getContents(),"\n";
3535
36+
Ejemplo de emitir una BTE
37+
-------------------------
3638

39+
A continuación se mostrará un segundo ejemplo en donde se podrá emitir una BTE:
40+
41+
.. code-block:: php
42+
<?php
43+
44+
declare(strict_types=1);
45+
46+
// Definición de directorio autoload. Necesario si se usa la versión de GitHub.
47+
require_once __DIR__ . '/vendor/autoload.php';
48+
49+
// Importaciones del cliente de API de ContaFi
50+
use contafi\api_client\client\Bte;
51+
52+
// Instancia de cliente.
53+
$client = new Bte();
54+
// RUT del contribuyente emisor de la BTE.
55+
$rutEmisor = '12345678-9';
56+
57+
// Fecha de emisión de la BTE.
58+
$fecha = date('Y-m-d');
59+
60+
// Datos de la BTE a emitir.
61+
$datosBte = [
62+
'Encabezado' => [
63+
'IdDoc' => [
64+
'FchEmis' => $fecha,
65+
],
66+
'Emisor' => [
67+
'RUTEmisor' => $rutEmisor,
68+
],
69+
'Receptor' => [
70+
'RUTRecep' => '66666666-6',
71+
'RznSocRecep' => 'Receptor generico',
72+
'DirRecep' => 'Santa Cruz',
73+
'CmnaRecep' => 'Santa Cruz',
74+
],
75+
],
76+
'Detalle' => [
77+
[
78+
'NmbItem' => 'Prueba integracion ContaFi 1',
79+
'MontoItem' => 50,
80+
],
81+
[
82+
'NmbItem' => 'Prueba integracion ContaFi 2',
83+
'MontoItem' => 100,
84+
],
85+
],
86+
];
87+
88+
// Obtención de respuesta a la emisión de la BTE.
89+
$response = $client->emitir($datosBte);
90+
91+
// Se despliega en consola los resultados.
92+
echo "\n",$response->getStatusCode();
93+
echo "\nEMITIR BTE: \n";
94+
echo "\n",$response->getBody()->getContents(),"\n";
3795
3896
.. seealso::
3997
Para saber más sobre los parámetros posibles y el cómo consumir las API, referirse a la `documentación de ContaFi. <https://developers.contafi.cl/>`_

src/ApiBase.php

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -31,9 +31,9 @@ class ApiBase extends ApiClient
3131
/**
3232
* Clase base para las clases que consumen la API (wrappers).
3333
*
34-
* @param string $token Token de autenticación para la API
35-
* @param string $rut RUT del emisor de ContaFi.
36-
* @param string $url Versión de la API.
34+
* @param string|null $token Token de autenticación para la API
35+
* @param string|null $rut RUT del emisor de ContaFi.
36+
* @param string|null $url Versión de la API.
3737
*/
3838
public function __construct(
3939
string $token = null,

0 commit comments

Comments
 (0)