2 Característica: Modificar una especie
4 Dado el sistema de turnos para una veterinaria, como administrador, se editan
5 las especies que pueden ser atendidas.
7 Escenario: El administrador modifica una especie existente
8 Dada una especie cargada en el sistema
9 E identificada por un ID
10 Cuando el admin edita la especie
12 Y la acción se realiza a través de la API REST
13 Y la llamada se hace a la ruta '/especie/{ID}'
14 Y el verbo HTTP es 'PUT'
15 Y se envía un objeto JSON que respeta el formato:
21 Entonces el sistema retorna el código 200
22 Y un objeto representando a la especie actualizada
23 Y el objeto es un JSON que respeta el formato:
31 Escenario: El administrador edita una especie y duplica una existente
32 Dada una especie cargada en el sistema
33 E identificada por un ID
34 Cuando el admin edita la especie
35 Y el nuevo nombre duplica una especie existente
36 Y la acción se realiza a través de la API REST
37 Y la llamada se hace a la ruta '/especie/{ID}'
38 Y el verbo HTTP es 'PUT'
39 Y se envía un objeto JSON que respeta el formato:
45 Entonces el sistema retorna el código 403
46 Y un objeto con el mensaje
48 La especie que intenta definir ya existe
50 Y el objeto es un JSON que respeta el formato:
57 Escenario: El administrador edita una especie con nombre inválido
58 Dada una especie cargada en el sistema
59 E identificada por un ID
60 Cuando el admin edita la especie
61 Y el nuevo nombre sea mayor a 30 caracteres
62 O que contenga números
63 O que contenga caracteres inválidos
64 Y la acción se realiza a través de la API REST
65 Y la llamada se hace a la ruta '/especie/{ID}'
66 Y el verbo HTTP es 'PUT'
67 Y se envía un objeto JSON que respeta el formato:
73 Entonces el sistema retorna el código 422
74 Y un objeto con el mensaje
76 Nombre de especie inválido
78 Y el objeto es un JSON que respeta el formato:
85 Escenario: El administrador modifica una especie inexistente
86 Dado el ID de una especie inexistente
87 Cuando el admin edita la especie
88 Entonces el sistema retorna el código 404
89 Y un objeto con el mensaje
91 ID invalido o inexistente
93 Y el objeto es un JSON que respeta el formato: