- Haga un fork de este repositorio
- Clone el repositorio bifurcado en su máquina virtual
- Abra el proyecto en Visual Studio Code (o en el editor de su preferencia)
- Lea el enunciado completamente antes de iniciar
Esta aplicación tiene el propósito de crear un sistema de información para una clínica.
(15%) Cree la entidad MedicoEntity en la carpeta correspondiente. Un médico tiene un nombre, un apellido, un registro médico y un id de tipo Long que representa su llave primaria.
(15%) Cree la entidad EspecialidadEntity en la carpeta correspondiente. Una especialidad tiene un nombre, una descripción y un id de tipo Long que representa su llave primaria.
Tenga en cuenta que un médico puede tener varias especialiades y que una especialidad puede ser ejercida por varios médicos.
(10%) Cree los repositorios para MedicoEntity y EspecialidadEntity.
(10%) Cree la clase correspondiente para la lógica de médico. Implemente unicamente el método createMedicos. Valide que el registro médico inicie solo con los caracteres "RM" (e.g., RM1745).
(10%) Cree la clase correspondiente para la lógica de especialidad. Implemente unicamente el método createEspecialidad. Valide que la descripción tenga como mínimo 10 caracteres.
(20%) Cree la clase correspondiente para la lógica de la asociación entre médico y especialidad. Implemente unicamente el método addEspecialidad. Este método recibe como parámetro el id del médico, el id de la especidad y le agrega la especialidad al médico. Valide que tanto el médico como la especialidad existan.
(5%) Implemente las pruebas para el método createMedicos del servicio de médico. Asegúrese de crear dos pruebas: una donde el médico se crea correctamente y otra donde se lanza una excepción de negocio por la violación de la regla de negocio.
(5%) Implemente las pruebas para el método createEspecialidad del servicio de especialidad. Asegúrese de crear dos pruebas: una donde la especialidad se crea correctamente y otra donde se lanza una excepción de negocio por la violación de la regla de negocio.
(10%) Implemente las pruebas para el método addEspecialidad del servicio de la asociación. Asegúrese de crear tres pruebas: una donde la especialidad se agrega correctamente al médico; otra donde se lanza una excepción de negocio porque el médico no existe; y otra donde se lanza una excepción porque la especidad no existe.