Giter Club home page Giter Club logo

kata-products-exercise's Introduction

Kata Angular

Requisitos para local

  • Node 12.16.3 o superior
  • Git
  • IDE de desarrollo

Alternativa online

Stackblitz

Servidor de desarrollo (local)

Ejecuta npm start para arrancar el servidor local. Accede por navegador web a http://localhost:4200/.

Running unit tests (local)

Ejecuta npm run test para ejecutar las pruebas vía Karma.

Desarrollo online (stackblitz)

Hay dos archivos main.ts (main.ts y main.ts.jasmine) hay que ir jugando, cambiando el nombre de este archivo para que arranque la web (main.ts) o ejecute los test con Jasmine.

Objetivo principal

  • Conocer como se gestiona la inyección de dependencia en distintos los distintos artefactos Angular (componentes, servicios y pipes) y como se instancian.

  • Conocer las diferencias entre test de componentes (TS + Html) y de servicio de API (como mockear HTTP-Request).

Objetivo secundario

Requisitos funcionales de la aplicación

Nuestro PF quiere un simulador de productos, donde puede ver como se degradan los productos según se van acercando a su R (fecha de retirada).

Para ello necesitamos una pantalla donde se listen los productos. Para cada producto se debe mostrar su nombre, R, Q (calidad) y el tipo de producto (Perecedero, Curado, Antiguo, Inmutable).

Cuando se pulse sobre un producto se deberá mostrar un formulario para poder editar dicho producto, todos sus campos excepto su Id.

La simulación:

  • Debe haber un botón que descuente en uno la R de todos los productos listados.
  • Una vez que la R baja de 0, la Q se degrada al doble de velocidad. En caso contrario la Q baja 1 unidad al día.
  • Cuando un producto baje su calidad a 0 debe mostrarse su ficha en rojo.
  • La calidad nunca es negativa.
  • Los productos tipo Antiguo incrementan su calidad a medida que envejecen
    • Su Q aumenta 1 unidad cada día
    • Pasada su R aumenta 2 unidades al día
  • Cuando un producto alcance la máxima calidad de su tipo debe aparecer en verde.
  • La Q de un producto nunca es mayor que 50, excepto los Inmutable que por sus propiedades su Q será con la que el producto se creó
  • Los productos Inmutable ni se degradan ni modifican su R.
  • Los productos Curado incrementan su Q según envejecen de la siguiente manera:
    • Si faltan menos de 10 días, la Q se incrementa en 2
    • Si faltan 5 días o menos, la Q se incrementa en 3
    • Si faltan más incrementa en 1
    • Una vez la R baja de 0, la Q cae a 0

Nuevo requisito

  • Ahora PF quiere simular también los productos de tipo Congelado o Frozen, estos degradan su Q al doble de velocidad que los productos normales (Perecedero)

kata-products-exercise's People

Contributors

dherreto avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.