Class TestInscripcion

java.lang.Object
giis.demo.tkrun.ut.TestInscripcion

public class TestInscripcion extends Object
Pruebas del ejemplo de Inscripciones en carreras populares (primer ejemplo) con JUnit6
  • Constructor Summary

    Constructors
    Constructor
    Description
     
  • Method Summary

    Modifier and Type
    Method
    Description
    static void
     
    void
    porcentajeDescuentoRecargoInvalidas(long idCarrera, String message)
     
    void
     
    void
     
    void
    Otra version de una variante del metodo getListaCarreras, en este caso el DTO devuele una lista de objetos con tres valores, las comparaciones se realizan para cada uno de ellos.
    void
    Otra alternativa que facilita la comparacion, en vez de comparar con el Json completo se compara con una representacion estilo CSV en el que cada atributo del objeto se representa como un elemento de un array
    void
    Igual que el anterior, pero utiliza otro componente (visual-assert) para comparar y generar un archivo html con las diferencias, que se puede revisar sin depender del entorno Eclipse (util si los strings que se comparan son de gran tamanyo)
    void
    Alternativa para comparacion utilizando una representacion serializada del DTO a Json (utiliza un metodo de utilidad basado en Jackson): Es mas compacto y facilita la comparacion de resultados, permitiendo tambien realizar las comparaciones cuando se prueba un api REST.
    void
    Para probar que un metodo debe causar una excepcion, utiliza una expresion lambda en la que se incluye el codigo a ejecutar en el que se espera la excepcion.
    void
    Cuando se precisa comprobar tambien el mensaje de la excepcion se utiliza el objeto excepcion devuelto por assertTrhows para comprobar dicho mensaje.
    void
    Comprueba la lista de carreras que ve el usuario en el momento de la inscripcion para diferentes fases de inscripcion: Debe mostrar todas las carreras excluyendo las pasadas, indicando Abierto en las que se puede realizar inscripcion; Con la base de datos del setUp cubre las cinco clases de equivalencia relativas a Fecha de inscrpcion (carreras 100 a 104)
    void
    En la anterior, si falla un assert, no se ejecutan los siguientes.
    void
    Otra alternativa para comparacion de los valores de una lista, pasando todos sus elementos a un string csv.
    void
     
    void
    Determinacion del descuento o recargo porcentual segun la fecha de inscripcion (Cubre las clases invalidas, a las que habria que anyadir la validacion de la fecha) Para evitar duplicacion de codigo se utiliza un metodo generico invocado desde los tres tests.
    void
     
    void
    Determinacion del descuento o recargo porcentual segun la fecha de inscripcion (Cubre las clases validas para el Porcentaje de descuento: 3 relativas fecha de inscripcion y 1 relativa al id de carrera valido )

    Methods inherited from class java.lang.Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
  • Constructor Details

    • TestInscripcion

      public TestInscripcion()
  • Method Details

    • setUp

      @BeforeEach public void setUp()
    • tearDown

      @AfterEach public void tearDown()
    • loadCleanDatabase

      public static void loadCleanDatabase(Database db)
    • testCarrerasActivasList

      @Test public void testCarrerasActivasList()
      Comprueba la lista de carreras que ve el usuario en el momento de la inscripcion para diferentes fases de inscripcion: Debe mostrar todas las carreras excluyendo las pasadas, indicando Abierto en las que se puede realizar inscripcion; Con la base de datos del setUp cubre las cinco clases de equivalencia relativas a Fecha de inscrpcion (carreras 100 a 104)
    • testCarrerasActivasListAssertAll

      @Test public void testCarrerasActivasListAssertAll()
      En la anterior, si falla un assert, no se ejecutan los siguientes. Desde JUnit5 existe la posibilidad de ejecutar todos los asserts, evitando este problema
    • testCarrerasActivasListAssertCsv

      @Test public void testCarrerasActivasListAssertCsv()
      Otra alternativa para comparacion de los valores de una lista, pasando todos sus elementos a un string csv. Es mas compacto y facil la comparacion de resultados, p.e. cuando aparecen o desaparecen filas.
    • testCarrerasActivasDto

      @Test public void testCarrerasActivasDto()
      Otra version de una variante del metodo getListaCarreras, en este caso el DTO devuele una lista de objetos con tres valores, las comparaciones se realizan para cada uno de ellos.
    • testCarrerasActivasDtoJson

      @Test public void testCarrerasActivasDtoJson() throws com.fasterxml.jackson.core.JsonProcessingException
      Alternativa para comparacion utilizando una representacion serializada del DTO a Json (utiliza un metodo de utilidad basado en Jackson): Es mas compacto y facilita la comparacion de resultados, permitiendo tambien realizar las comparaciones cuando se prueba un api REST. El uso de strings multilinea evita la necesidad de hacer escape de las comillas.
      Throws:
      com.fasterxml.jackson.core.JsonProcessingException
    • testCarrerasActivasDtoCsv

      @Test public void testCarrerasActivasDtoCsv()
      Otra alternativa que facilita la comparacion, en vez de comparar con el Json completo se compara con una representacion estilo CSV en el que cada atributo del objeto se representa como un elemento de un array
    • testCarrerasActivasDtoCsvHtmlDiffs

      @Test public void testCarrerasActivasDtoCsvHtmlDiffs()
      Igual que el anterior, pero utiliza otro componente (visual-assert) para comparar y generar un archivo html con las diferencias, que se puede revisar sin depender del entorno Eclipse (util si los strings que se comparan son de gran tamanyo)
    • testCarrerasActivasException

      @Test public void testCarrerasActivasException()
      Para probar que un metodo debe causar una excepcion, utiliza una expresion lambda en la que se incluye el codigo a ejecutar en el que se espera la excepcion.
    • testCarrerasActivasExceptionMessageCheck

      @Test public void testCarrerasActivasExceptionMessageCheck()
      Cuando se precisa comprobar tambien el mensaje de la excepcion se utiliza el objeto excepcion devuelto por assertTrhows para comprobar dicho mensaje.
    • testPorcentajeDescuentoRecargoValidas

      @Test public void testPorcentajeDescuentoRecargoValidas()
      Determinacion del descuento o recargo porcentual segun la fecha de inscripcion (Cubre las clases validas para el Porcentaje de descuento: 3 relativas fecha de inscripcion y 1 relativa al id de carrera valido )
    • testPorcentajeDescuentoRecargoInvalidaCarreraFinalizada

      @Test public void testPorcentajeDescuentoRecargoInvalidaCarreraFinalizada()
      Determinacion del descuento o recargo porcentual segun la fecha de inscripcion (Cubre las clases invalidas, a las que habria que anyadir la validacion de la fecha) Para evitar duplicacion de codigo se utiliza un metodo generico invocado desde los tres tests. En este caso seria preferible utilizar pruebas parametrizadas (ver ejemplo en otra clase)
    • testPorcentajeDescuentoRecargoInvalidaCarreraAntesInscripcion

      @Test public void testPorcentajeDescuentoRecargoInvalidaCarreraAntesInscripcion()
    • testPorcentajeDescuentoRecargoInvalidaCarreraNoExiste

      @Test public void testPorcentajeDescuentoRecargoInvalidaCarreraNoExiste()
    • porcentajeDescuentoRecargoInvalidas

      public void porcentajeDescuentoRecargoInvalidas(long idCarrera, String message)