File tree Expand file tree Collapse file tree
Expand file tree Collapse file tree Original file line number Diff line number Diff line change 1+ <?php
2+
3+ declare (strict_types=1 );
4+
5+ namespace Tests \Helpers ;
6+
7+ use apigatewaycl \api_client \ApiException ;
8+ use PHPUnit \Framework \SkippedTestSuiteError ;
9+
10+ trait FunctionHelpers
11+ {
12+ protected static $ client ;
13+
14+ protected static function requireEnv (string $ str_var ): void
15+ {
16+ $ value =
17+ $ _ENV [$ str_var ]
18+ ?? $ _SERVER [$ str_var ]
19+ ?? getenv ($ str_var );
20+
21+ if ($ value == false || $ value == null || $ value == '' ) {
22+ throw new SkippedTestSuiteError (
23+ sprintf ($ str_var . ' no está definido. ' )
24+ );
25+ }
26+ }
27+
28+ protected function tearDown (): void
29+ {
30+ if (self ::$ client && method_exists (self ::$ client , 'getLastApiUrl ' )) {
31+ echo "\nEjecutando " .$ this ->name (). "() en "
32+ .self ::$ client ->getLastApiUrl ()." : " ;
33+ }
34+ parent ::tearDown ();
35+ }
36+
37+ }
Original file line number Diff line number Diff line change 2727use bhexpress \api_client \bhe \Bhe ;
2828use PHPUnit \Framework \TestCase ;
2929use Psr \Http \Message \ResponseInterface ;
30+ use Tests \Helpers \FunctionHelpers ;
3031
3132/**
3233 * Clase abstracta que permite ejecutar un método compartido entre sus clases hijas.
3334 */
3435class AbstractBoletas extends TestCase
3536{
37+ use FunctionHelpers;
3638 /**
3739 * Instancia de servicios API Client a través de Bhe.
3840 *
@@ -49,6 +51,7 @@ class AbstractBoletas extends TestCase
4951 */
5052 protected function listar (): ResponseInterface
5153 {
54+ self ::requireEnv ('BHEXPRESS_API_TOKEN ' );
5255 $ fecha_desde = env (
5356 varname: 'TEST_FECHA_DESDE ' ,
5457 default: date (
Original file line number Diff line number Diff line change 2525use bhexpress \api_client \bhe \Bhe ;
2626use bhexpress \tests \bhe \AbstractBoletas ;
2727use PHPUnit \Framework \Attributes \CoversClass ;
28+ use Tests \Helpers \FunctionHelpers ;
2829
2930#[CoversClass(Bhe::class)]
3031/**
3132 * Clase de pruebas para anular una Boleta de Honorarios Electrónica emitida.
3233 */
3334class AnularBheTest extends AbstractBoletas
3435{
36+ use FunctionHelpers;
3537 /**
3638 * Variable que permite desplegar en consola los resultados.
3739 *
@@ -41,6 +43,7 @@ class AnularBheTest extends AbstractBoletas
4143
4244 public static function setUpBeforeClass (): void
4345 {
46+ self ::requireEnv ('BHEXPRESS_API_TOKEN ' );
4447 self ::$ verbose = env (varname: 'TEST_VERBOSE ' , default: false );
4548 self ::$ client = new Bhe ();
4649 }
Original file line number Diff line number Diff line change 2525use bhexpress \api_client \bhe \Bhe ;
2626use bhexpress \tests \bhe \AbstractBoletas ;
2727use PHPUnit \Framework \Attributes \CoversClass ;
28+ use Tests \Helpers \FunctionHelpers ;
2829
2930#[CoversClass(Bhe::class)]
3031/**
3132 * Clase de pruebas que permite probar el cálculo de un monto bruto.
3233 */
3334class CalcularMontoBrutoTest extends AbstractBoletas
3435{
36+ use FunctionHelpers;
3537 /**
3638 * Variable que permite desplegar en consola los resultados.
3739 *
@@ -41,6 +43,7 @@ class CalcularMontoBrutoTest extends AbstractBoletas
4143
4244 public static function setUpBeforeClass (): void
4345 {
46+ self ::requireEnv ('BHEXPRESS_API_TOKEN ' );
4447 self ::$ verbose = env (varname: 'TEST_VERBOSE ' , default: false );
4548 self ::$ client = new Bhe ();
4649 }
Original file line number Diff line number Diff line change 2525use bhexpress \api_client \bhe \Bhe ;
2626use bhexpress \tests \bhe \AbstractBoletas ;
2727use PHPUnit \Framework \Attributes \CoversClass ;
28+ use Tests \Helpers \FunctionHelpers ;
2829
2930#[CoversClass(Bhe::class)]
3031class CalcularMontoLiquidoTest extends AbstractBoletas
3132{
33+ use FunctionHelpers;
3234 /**
3335 * Variable que permite desplegar en consola los resultados.
3436 *
@@ -38,6 +40,7 @@ class CalcularMontoLiquidoTest extends AbstractBoletas
3840
3941 public static function setUpBeforeClass (): void
4042 {
43+ self ::requireEnv ('BHEXPRESS_API_TOKEN ' );
4144 self ::$ verbose = env (varname: 'TEST_VERBOSE ' , default: false );
4245 self ::$ client = new Bhe ();
4346 }
Original file line number Diff line number Diff line change 2525use bhexpress \api_client \bhe \Bhe ;
2626use bhexpress \tests \bhe \AbstractBoletas ;
2727use PHPUnit \Framework \Attributes \CoversClass ;
28+ use Tests \Helpers \FunctionHelpers ;
2829
2930#[CoversClass(Bhe::class)]
3031/**
3132 * Clase de pruebas para obtener un PDF a partir de una BHE existente.
3233 */
3334class DescargarPdfBheTest extends AbstractBoletas
3435{
36+ use FunctionHelpers;
3537 /**
3638 * Variable que permite desplegar en consola los resultados.
3739 *
@@ -48,6 +50,7 @@ class DescargarPdfBheTest extends AbstractBoletas
4850
4951 public static function setUpBeforeClass (): void
5052 {
53+ self ::requireEnv ('BHEXPRESS_API_TOKEN ' );
5154 self ::$ verbose = env (varname: 'TEST_VERBOSE ' , default: false );
5255 self ::$ client = new Bhe ();
5356 self ::$ emisor_rut = env (varname: 'BHEXPRESS_EMISOR_RUT ' );
Original file line number Diff line number Diff line change 2525use bhexpress \api_client \bhe \Bhe ;
2626use bhexpress \tests \bhe \AbstractBoletas ;
2727use PHPUnit \Framework \Attributes \CoversClass ;
28+ use Tests \Helpers \FunctionHelpers ;
2829
2930#[CoversClass(Bhe::class)]
3031/**
3132 * Clase de prueba para emitir una BHE.
3233 */
3334class EmitirBheTest extends AbstractBoletas
3435{
36+ use FunctionHelpers;
3537 /**
3638 * Variable que permite desplegar en consola los resultados.
3739 *
@@ -112,6 +114,7 @@ class EmitirBheTest extends AbstractBoletas
112114
113115 public static function setUpBeforeClass (): void
114116 {
117+ self ::requireEnv ('BHEXPRESS_API_TOKEN ' );
115118 self ::$ verbose = env (varname: 'TEST_VERBOSE ' , default: false );
116119 self ::$ client = new Bhe ();
117120 self ::$ emisor_rut = env (varname: 'BHEXPRESS_EMISOR_RUT ' );
Original file line number Diff line number Diff line change 2525use bhexpress \api_client \bhe \Bhe ;
2626use bhexpress \tests \bhe \AbstractBoletas ;
2727use PHPUnit \Framework \Attributes \CoversClass ;
28+ use Tests \Helpers \FunctionHelpers ;
2829
2930#[CoversClass(Bhe::class)]
3031/**
3132 * Método de prueba para enviar una BHE por correo.
3233 */
3334class EnviarEmailBheTest extends AbstractBoletas
3435{
36+ use FunctionHelpers;
3537 /**
3638 * Variable que permite desplegar en consola los resultados.
3739 *
@@ -48,6 +50,7 @@ class EnviarEmailBheTest extends AbstractBoletas
4850
4951 public static function setUpBeforeClass (): void
5052 {
53+ self ::requireEnv ('BHEXPRESS_API_TOKEN ' );
5154 self ::$ verbose = env (varname: 'TEST_VERBOSE ' , default: false );
5255 self ::$ client = new Bhe ();
5356 self ::$ email = env (varname: 'TEST_CORREO ' , default: '' );
Original file line number Diff line number Diff line change 2525use bhexpress \api_client \bhe \Bhe ;
2626use bhexpress \tests \bhe \AbstractBoletas ;
2727use PHPUnit \Framework \Attributes \CoversClass ;
28+ use Tests \Helpers \FunctionHelpers ;
2829
2930#[CoversClass(Bhe::class)]
3031/**
3132 * Clase de pruebas para listar BHEs.
3233 */
3334class ListarBhesTest extends AbstractBoletas
3435{
36+ use FunctionHelpers;
3537 /**
3638 * Variable que permite desplegar en consola los resultados.
3739 *
@@ -41,6 +43,7 @@ class ListarBhesTest extends AbstractBoletas
4143
4244 public static function setUpBeforeClass (): void
4345 {
46+ self ::requireEnv ('BHEXPRESS_API_TOKEN ' );
4447 self ::$ verbose = env (varname: 'TEST_VERBOSE ' , default: false );
4548 self ::$ client = new Bhe ();
4649 }
Original file line number Diff line number Diff line change 2525use bhexpress \api_client \bhe \Bhe ;
2626use bhexpress \tests \bhe \AbstractBoletas ;
2727use PHPUnit \Framework \Attributes \CoversClass ;
28+ use Tests \Helpers \FunctionHelpers ;
2829
2930#[CoversClass(Bhe::class)]
3031/**
3132 * Clase de pruebas para obtener el detalle de una BHE emitida.
3233 */
3334class ObtenerDetalleBheTest extends AbstractBoletas
3435{
36+ use FunctionHelpers;
3537 /**
3638 * Variable que permite desplegar en consola los resultados.
3739 *
@@ -41,6 +43,7 @@ class ObtenerDetalleBheTest extends AbstractBoletas
4143
4244 public static function setUpBeforeClass (): void
4345 {
46+ self ::requireEnv ('BHEXPRESS_API_TOKEN ' );
4447 self ::$ verbose = env (varname: 'TEST_VERBOSE ' , default: false );
4548 self ::$ client = new Bhe ();
4649 }
You can’t perform that action at this time.
0 commit comments