Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/rodrigor4mirez/test-pruebas-integracion-petstore3
Pruebas de integración Cucumber
https://github.com/rodrigor4mirez/test-pruebas-integracion-petstore3
bdd cucumber cucumber-java java maven serenity-bdd
Last synced: about 1 month ago
JSON representation
Pruebas de integración Cucumber
- Host: GitHub
- URL: https://github.com/rodrigor4mirez/test-pruebas-integracion-petstore3
- Owner: RodrigoR4mirez
- Created: 2024-07-31T06:15:24.000Z (5 months ago)
- Default Branch: main
- Last Pushed: 2024-07-31T11:34:21.000Z (5 months ago)
- Last Synced: 2024-11-14T08:33:06.759Z (about 1 month ago)
- Topics: bdd, cucumber, cucumber-java, java, maven, serenity-bdd
- Language: Java
- Homepage:
- Size: 220 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: readme.md
Awesome Lists containing this project
README
# PRUEBAS INTEGRALES (BDD): petstore3
## Feature: Gestionar mascotas
Esta característica proporciona funcionalidad para gestionar mascotas en el sistema. Basado en los resultados de las pruebas, los siguientes escenarios han sido implementados y probados exitosamente:
## Tecnologías Utilizadas
- **Cucumber**: Para desarrollo basado en comportamiento (BDD).
- **Serenity BDD**: Para gestión e informes de resultados de pruebas.
- **Java 17**: Lenguaje de programación.
- **Maven 3.9.6**: Gestión de construcción y dependencias.## Funcionalidad: Gestión de mascotas
Esta es una implementación de muestra de un servidor de tienda de mascotas basado en la especificación OpenAPI 3.0.
### Escenarios
#### 1. Agregar Mascotas Nuevas en el Sistema
- **Etiqueta:** `@AgregarMascotasNuevas`
- **Escenario:** Agregar mascotas nuevas en el sistema
- **Pasos:**
- **Dado** que el cliente tiene los datos de la nueva mascota
```json
{
"id": 44,
"name": "doggie43",
"category": {
"id": 1,
"name": "Dogs"
},
"photoUrls": [
"string"
],
"tags": [
{
"id": 0,
"name": "string"
}
],
"status": "available"
}
```
- **Cuando** el cliente realiza una petición POST a `/pet` con los detalles de la nueva mascota
- **Entonces** el servidor debe responder con status 200
- **Y** el cuerpo de la respuesta debe contener los detalles del nuevo tipo de mascota registrado#### 2. Actualizar Mascotas en el Sistema
- **Etiqueta:** `@ActualizarMascotas`
- **Escenario:** Actualizar mascotas en el sistema
- **Pasos:**
- **Dado** que el cliente tiene los datos de la mascota a actualizar
```json
{
"id": 44,
"name": "doggiee",
"category": {
"id": 1,
"name": "Dogs"
},
"photoUrls": [
"string"
],
"tags": [
{
"id": 0,
"name": "string"
}
],
"status": "available"
}
```
- **Cuando** el cliente realiza una petición PUT a `/pet` con los detalles de la mascota actualizada
- **Entonces** el servidor debe responder con status 200
- **Y** el cuerpo de la respuesta debe contener los detalles de la mascota actualizada#### 3. Listar Todas las Mascotas por Estatus
- **Etiqueta:** `@ListarMascotasPorStatus`
- **Escenario Outline:** Listar todas las mascotas por estatus
- **Pasos:**
- **Dado** que el cliente configura la URI base
- **Cuando** el cliente realiza una petición GET a ``
- **Entonces** el servidor debe responder con status ``
- **Y** el cuerpo de la respuesta contiene la propiedad `status` con el valor ``
- **Y** el cuerpo de la respuesta contiene la propiedad `id` con el valor ``
- **Ejemplos:**| uri | statusCode | petStatus | petId |
|-----------|------------|-------------|-------|
| "/pet/44" | 200 | "available" | 44 |
#### 4. Listar Mascota por ID
- **Etiqueta:** `@ListarMascotasPorId`
- **Escenario Outline:** Listar mascota por ID
- **Pasos:**
- **Dado** que el cliente configura la URI base
- **Cuando** el cliente realiza una petición GET a ``
- **Entonces** el servidor debe responder con status ``
- **Y** el cuerpo de la respuesta contiene la propiedad `id` con el valor ``
- **Ejemplos:**| uri | statusCode | petId |
|-----------|------------|-------|
| "/pet/44" | 200 | 44 |
#### 5. Eliminar una Mascota Existente
- **Etiqueta:** `@EliminarMascotaExistente`
- **Escenario:** Eliminar una mascota existente
- **Pasos:**
- **Dado** que el cliente configura la URI base
- **Cuando** el cliente realiza una petición DELETE a `/pet/{id}` con id tipo de mascota eliminado 44 y apiKey 44
- **Entonces** el servidor debe responder con status 200#### 6. Mostrar Mascota Buscada por ID No Encontrada
- **Etiqueta:** `@MascotasPorIdNoEncontrada`
- **Escenario Outline:** Mostrar mascota buscada por ID no encontrada
- **Pasos:**
- **Dado** que el cliente configura la URI base
- **Cuando** el cliente realiza una petición GET a ``
- **Entonces** el servidor debe responder con status ``
- **Ejemplos:**| uri | statusCode |
|------------|------------|
| "/pet/100" | 404 |### Test Coverage
- Cobertura total de pruebas: 100%
- Todos los escenarios enumerados han pasado sus respectivos casos de prueba![img.png](img.png)
### Additional Information
- Informe generado: 31-07-2024 00:42
- [Repositorio de la Tienda de Mascotas](https://github.com/swagger-api/swagger-petstore)
- [Definición de la API fuente para la Tienda de Mascotas](https://github.com/swagger-api/swagger-petstore/blob/master/src/main/resources/openapi.yaml)
- URL de la API: https://petstore3.swagger.io/api/v3/openapi.json### Ejecución de Pruebas
Para ejecutar las pruebas e2e, utiliza el siguiente comando:
```sh
mvn clean verify
```