ramiletus / fraud-detection

Mozilla Public License 2.0
1 stars 0 forks source link

Information injection - User Data #1

Closed jemacineiras closed 1 month ago

jemacineiras commented 2 months ago

As a Product Owner I want this service to be able to inject/have access to my customers /users data. So it will injest the information from the events generated in my system and store relevant information in the graph database in order to process the queries needed to detect fraud.

Relevant user data will be

Data should be consumed by the service or injected through a rest call. May be CQRS pattern will be required.

ramiletus commented 1 month ago
Caso de prueba no. TC-01
Nombre Se inserta correctamente un Usuario desde el servicio
Precondiciones 1. No existen usuarios en la base de datos
Pasos de prueba 1. Se crea un usuario
2. Se establecen unas propiedades arbitrarias para el usuario
3. Se crea un número de teléfono
4. Se establecen unas propiedades arbitrarias para el número de teléfono
5. Se establece el número de teléfono como propiedad del usuario
6. Se guarda el usuario
Resultado esperado Solo hay un usuario en la base de datos y tiene las propiedades correctas
Resultados El usuario persiste en la base de datos y tiene las propiedades esperadas
Aprobado/reprobado APROBADO
ramiletus commented 1 month ago
Caso de prueba no. TC-02
Nombre El servidor responde con un HTTP status code 400 cuando el cuerpo del método POST del endpoint habilitado para registrar usuarios no está bien formado
Precondiciones 1. Un servidor de la aplicación está en marcha
Pasos de prueba 1. Se hace una llamada POST("/users/inject") al servidor con cuerpo inválido, con un correo electrónico mal formado y un campo con valor null
Resultado esperado El servidor responde con una HTTP response 400, incluido un mensaje con el motivo concreto de la invalidez de la petición
Resultados 400 Bad Request
{
"phoneNumbers[0].isMainNumber": "no debe ser nulo",
"email": "debe ser una dirección de correo electrónico con formato correcto"
}
Aprobado/reprobado APROBADO
ramiletus commented 1 month ago
Caso de prueba no. TC-03
Nombre El servidor responde con un HTTP status code 200 cuando se invoca correctamente el endpoint POST("/users/inject")
Precondiciones 1. Un servidor de la aplicación está en marcha
Pasos de prueba 1. Se hace una llamada POST("/users/inject") al servidor
Resultado esperado El servidor valida el cuerpo del método POST y responde con una HTTP response 200
Resultados El servidor responde con un HTTP status code 200
Aprobado/reprobado APROBADO