booleancl / booleancl/G01-2021-fullstack-javascript-final
Crear Sistema de descuentos
- Ngôn ngữ chính
- JavaScript
- Star
- 0
- Fork
- 6
- Chỉ số merge pull request
- Không có pull request nào được merge trong 30 ngày
Mô tả
**Criterios de Aceptación**
```
Característica: Página principal
Mostrar precio y precio rebajado de cada producto
Escenario: precio y precio con descuento de cada producto
Dado el usuario autenticado en la página principal
Luego el usuario ve la información del precio y el precio rebajado de cada producto
```
**Requerimientos técnicos**
- [ ] Crear endpoint llamado `/api/enable_hot_sale`. este Debe ser de tipo POST y aceptar el siguiente cuerpo:
```javascript
{
"enabled": true | false,
"percentageDiscount": number
}
```
---
- [ ] Crear una migración llamada `create-hot-sale` con los campos `enabled` y `percentageDiscount`. Agrega por defecto los valores `false` y `0` respectivamente.
> Tip: No olvides correr el comando `npx sequelize-cli db:migrate` y el comando `npx sequelize-cli db:seed:all`. para este último debes haber creado algun fixture con la información por defecto de esta tabla.
---
- [ ] Modificar el endpoint que devuelve los productos para que detecte si `hot_sale` está activa. En este caso se debe agregar un nuevo campo a la respuesta llamado `priceWithDiscount` en el cuál debe estar aplicado el descuento desde la tabla. El descuento se debe aplicar a todos los productos.
> Tip: Para modificar el valor leído desde la base de datos y poder modificar el JSON de respuesta utilizar la opción `raw: true` al utilizar `findAll` de Sequelize. Más info en [este link](https://sequelize.org/master/class/lib/model.js~Model.html#static-method-findAll)
---
- [ ] Modificar el código Frontend para mostrar el precio y el precio con descuento como muestra la siguiente imagen:

> Tip: Para escribir una prueba para este caso puedes utilizar `cy.request('POST'. 'http://localhost:3000/api/enable_hot_sale', body)` para activar y desactivar la funcionalidad. utiliza esto utilizando `before()` y `after()` en la prueba. No olvides el principio FIRS. Más detalle en [este link](https://docs.cypress.io/api/commands/request#Send-a-POST-request-with-a-JSON-body)
---
*Notas*
Se espera que al menos 1 de los criterios de aceptación esté automatizado
Hướng dẫn đóng góp
Chưa lập chỉ mục được hướng dẫn đóng góp cho kho mã nguồn này
Đánh giá
Issue này chưa được đánh giá.