HU B 03 - shiomar-salazar/MISW-PF-Grupo1-Backend GitHub Wiki

HU-B-03

ID HU-B-03
Nombre Registro de Servicio Backend
Descripción Como Usuario de SportApp que ofrece servicios profesionales quiero que la aplicacion me permita realizar el registro de un servicio de forma fácil y eficiente Para poder llegar a más clientes potenciales y que estos contraten mis servicios.
Puntos 2
Criterios de aceptación El servicio solo debe estar disponible para los usuarios tipo Proveedor
El servicio debe recibir el ID del usuario previamente validado desde la capa de interfaz grafica.
El servicio debe recibir el dia del servicio ofrecido por el usuario previamente validado desde la capa de interfaz grafica.
El servicio debe recibir la frecuencia del servicio ofrecido por el usuario previamente validado desde la capa de interfaz grafica.
El servicio debe recibir el costo del servicio ofrecido por el usuario previamente validado desde la capa de interfaz grafica.
El servicio debe recibir el numero minimo de participantes del servicio ofrecido por el usuario previamente validado desde la capa de interfaz grafica.
El servicio debe recibir el numero maximo de participantes del servicio ofrecido por el usuario previamente validado desde la capa de interfaz grafica.
El servicio debe recibir el lugar del servicio ofrecido por el usuario previamente validado desde la capa de interfaz grafica.
En caso de que la operacion sea exitosa, el servicio debe responder con un HTTP Codigo 200.
En caso de que la información recibida este incompleta o no cumpla con el formato indicado, el servicio debe responder con un HTTP Codigo 400.
En caso de que la peticion venga sin el token de Autorizacion JWT, el servicio debe responder con un HTTP Codigo 401.
En caso de que la peticion venga de un usuario tipo Cliente, el servicio debe responder con un HTTP Codigo 403.
En caso de que se envie la misma información de nombre del servicio, fecha y id_usuario de un servicio ya registrado, el servicio debe responder con un HTTP Codigo 409.
En caso de que el servicio falle por un error interno, el servicio debe responder con un HTTP Codigo 500.
De manera transitoria y hasta que esta Historia de Usuario este terminada, el servicio debe responder HTTP Codigo 501.

Actividades

  • Creacion del serivicio de Registro de Servicio.
  • Creacion de pruebas Unitarias que prueben el correcto funcionaiento del servicio.
  • Creacion de pruebas Unitarias que prueben el el correcto manejo de errores y condiciones limites del servicio.

Pruebas a Realizar

Pruebas Unitarias

Se implementarán las pruebas unitarias que permitirán garantizar la calidad de las funcionalidades que hacen parte del backend de Registro de Servicios. Estas pruebas harán parte del código de la aplicación y se lanzarán de forma automatizada a través el pipeline de despliegue que contendrá todos los pasos para ejecutar la pruebas haciendo uso de los frameworks DE PyTest:

  • Correcto Funcionamiento
  • Manejo de errores
  • Validacion de Token de Autorizacion.

MockUp de Interfaz Grafica

Dado a este es un servicio de Backend que no esta en contacto con el usuario no posee una interfaz de usuario, por esta razon la seccion esta vacia.

Ejemplo de Request y Response del servicio

Endpoint https://misw-pf-grupo1-backend-gestor-servicios-klme3r4qta-uc.a.run.app/servicios
Método HTTP POST
Headers 'Authorization': 'Bearer ' + token
Request
					
{
    "nombre": "Carrera los Andes",
    "descripcion": "Carrera benefica a favor de los niños de cancer, se iniciara en el Parque Campella atravesando diversas calles",
    "frecuencia": "Mensual",
    "costo": "25000 COP",
    "numero_minimo_participantes": 1,
    "numero_maximo_participantes": 10,
    "lugar": "Bogotá - El Salitre",
    "fecha": "2024-04-13",
    "id_usuario": "fc51d940-f755-11ee-bea5-2528b3b3fb6c",
    "horario": [
        "8:00:00 a. m.",
        "9:00:00 a. m.",
        "10:00:00 a. m.",
        "11:00:00 a. m.",
        "12:00:00 p. m.",
        "1:00:00 p. m.",
        "2:00:00 p. m.",
        "3:00:00 p. m.",
        "4:00:00 p. m.",
        "5:00:00 p. m."
    ]
}
                
				
Response
					
Servicio registrado exitosamente
HTTP ResponseCode: 200
{
    "costo": "25000 COP",
    "descripcion": "Carrera benefica a favor de los niños de cancer, se iniciara en el Parque Campella atravesando diversas calles",
    "estado": "ACT",
    "fecha": "2024-04-13 00:00:00",
    "frecuencia": "Mensual",
    "horario": [
        "8:00:00 a. m.",
        "9:00:00 a. m.",
        "10:00:00 a. m.",
        "11:00:00 a. m.",
        "12:00:00 p. m.",
        "1:00:00 p. m.",
        "2:00:00 p. m.",
        "3:00:00 p. m.",
        "4:00:00 p. m.",
        "5:00:00 p. m."
    ],
    "id": "fdc00d92-edf2-4ac4-9a4a-f4e1c09f4612",
    "id_usuario": "fc51d940-f755-11ee-bea5-2528b3b3fb6c",
    "lugar": "Bogotá - El Salitre",
    "nombre": "Carrera los Andes",
    "numero_maximo_participantes": 10,
    "numero_minimo_participantes": 1
}
----------------------------------------------------------------------------------------------------------------------------------------
Párametros de entrada invalidos
HTTP ResponseCode: 400
{
    "msg": "Párametros de entrada invalidos, por favor revise los logs."
}
----------------------------------------------------------------------------------------------------------------------------------------
Token no suministrado
HTTP ResponseCode: 401
{
	"msg": "El token es obligatorio, por favor valide e intente nuevamente."
}
----------------------------------------------------------------------------------------------------------------------------------------
No autorizado
HTTP ResponseCode: 401
{
	"msg": "El token proporcionado no es valido o esta vencido, por favor valide e intente nuevamente."
}
----------------------------------------------------------------------------------------------------------------------------------------
No tiene permisos para realizar la operación
HTTP ResponseCode: 403
{
	"msg": "No esta autorizado para ralizar esta operación, por favor valide con el administrador del sistema."
}
----------------------------------------------------------------------------------------------------------------------------------------
El Servicio ingresado ya se encuentra registrado
HTTP ResponseCode: 409
{
	"msg": "El Servicio ingresado ya se encuentra registrado, por favor valide e intente nuevamente."
}
----------------------------------------------------------------------------------------------------------------------------------------
Error consumiendo el servicio de gestor de usuarios
HTTP ResponseCode: 500
{
	"msg": "Error al consumir servicio externo, por favor revise los logs."
}
----------------------------------------------------------------------------------------------------------------------------------------
Error interno
HTTP ResponseCode: 500
{
	"msg": "Error interno, por favor revise los logs."
}
                
				
⚠️ **GitHub.com Fallback** ⚠️