Skip to content

Repo Demo de desarrollo en symfony 6 de portal de clientes para asesoría fiscal y laboral

Notifications You must be signed in to change notification settings

nacesprin/asesoria-symfony

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

2 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Leer atentamente

  • La finalidad de este repo es meramente ilustrativa con la única intención de demostrar las prácticas de desarrollo con el framework Symfony desarrollando un aplicativo web para una asesoría laboral/fiscal. Este repo es una copia modificada no funcional del original con una pequeña muestra de los ficheros originales.

  • Explicación del proyecto en:

  • En el fichero README2.md se podrá encontrar un recorte del fichero orginal que he empleado para ir documentando la aplicación y comandos útiles de mantenimiento.

  • En el proyecto actual empleo Docker, Nginx, Mysql, Symfony Forms, Symfony Workflow, Symfony Messenger (colas asíncronas), Listener de cambios (registro de cambios en cada entidad), DTOs, Casos de Uso, Interfaces, Services, Filters de base de datos, DataTransformes, FormTypes para crear agrupaciones de botones (menús), Voters, Security, Roles de usuario, Impersonación de usuarios (acceder en nombre de un usuario), Tests unitarios y de cobertura

  • Sección de TEST unitarios y COBERTURA de código.

Tests

Ejecutar tests

Acceder al contenedor

make ssh-be

tests/bootstrap.php

Utilizar bootstrap.php para ejecutar las instrucciones necesitadas en cada lanzamiento de phpunit

Lanzar los tests unitarios

vendor/bin/phpunit
appuser@e456b5372541:/appdata/www$ vendor/bin/phpunit --testdox
PHPUnit 10.5.46 by Sebastian Bergmann and contributors.

Runtime:       PHP 8.2.28
Configuration: /appdata/www/phpunit.xml.dist
Random Seed:   1747092723

.......................                                           23 / 23 (100%)

Time: 00:00.223, Memory: 14.00 MB

Actividad
 ✔ Get id
 ✔ Set nombre

Anexo (App\Tests\Entity\Anexo)
 ✔ Descripcion
 ✔ Fechas
 ✔ Notificar
 ✔ Ficheros add remove
 ✔ Estado inicial como borrador
 ✔ Estado asignacion y recuperacion with data set 1
 ✔ Estado asignacion y recuperacion with data set 2
 ✔ Estado asignacion y recuperacion with data set 3
 ✔ Estado asignacion y recuperacion with data set 0
 ✔ Estado asignacion y recuperacion with data set 4
 ✔ Get icono estado with data set 4
 ✔ Get icono estado with data set 0
 ✔ Get icono estado with data set 3
 ✔ Get icono estado with data set 2
 ✔ Get icono estado with data set 1
 ✔ Relaciones cliente usuario
 ✔ Get id notificable
 ✔ Volver desde notificacion
 ✔ Uniqid eliminar temp
 ✔ Notas
 ✔ Get categoria y empleado

OK (23 tests, 34 assertions)
appuser@e456b5372541:/appdata/www$ 
<testsuites>
  <testsuite name="todos">
      <directory>tests</directory>
  </testsuite>  
  <testsuite name="Tests Unitarios">
    <directory>tests/Unit</directory>
  </testsuite>
  <testsuite name="Tests Integracion">
    <directory>tests/Integration</directory>
  </testsuite>
  <testsuite name="UseCases">
    <directory>tests/UseCase</directory>
  </testsuite>
  <testsuite name="unitario-integration-controller">
    <directory>tests/Unit</directory>
    <directory>tests/Integration</directory>
    <directory>tests/Controller</directory>
    <!-- Solo los ficheros que terminen por Abc.php -->
    <directory suffix="Abc.php">tests/Admin</directory>
    <!-- Solo los ficheros que terminen por Test.php -->
    <directory suffix="Test.php">tests/Admin</directory>
  </testsuite>
</testsuites>
  • línea de comandos común para proceder con las pruebas:

    ℹ️ vendor/bin/phpunit --testsuite unit --testdox

    ℹ️ vendor/bin/phpunit --testsuite unit --testdox --filter Actividad (para solo clases, métodos -o cualquier cosa- que contenga la palabra Actividad)

Generar cobertura

  • En Html: vendor/bin/phpunit --coverage-html var/coverage

    Abrir luego var/coverage/index.html con el navegador:

    Ejemplo de PHPUnit coverage

  • En texto para visualización rápida desde la consola: vendor/bin/phpunit --coverage-text

    coverage-text

About

Repo Demo de desarrollo en symfony 6 de portal de clientes para asesoría fiscal y laboral

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published