Hacktoberfest 2026: le issue che i maintainer hanno segnato per ottobre, aperte e adatte ai principianti. Sfoglia le issue Hacktoberfest

Crear Sistema de descuentos

Aperta
#3 0 commenti 0 reazioni 0 assegnatari Vedi su GitHub

Nessuno ha ancora preso questa issue.

Valutazione

Difficoltà
4/5
Tempo stimato
3-5 giorni
Idoneità per principianti
35/100
Tipo di issue
Funzionalità
Chiarezza
Abbastanza chiara
Stato di attività
Ferma
Stack tecnologico
cypress, javascript

Direzione di ricerca

Non vengono indicati file. Inizia individuando la Product API, la migrazione di Sequelize e i punti di ingresso del seed, oltre alla visualizzazione dei prodotti nel frontend; poi traccia il percorso delle risposte dei prodotti fino alla pagina. Usa l’endpoint POST indicato e la configurazione delle requests di Cypress per verificare che l’abilitazione della vendita aggiunga il prezzo scontato per ogni prodotto, mentre la disabilitazione ripristini la risposta normale.

Scritto dal modello di indicizzazione a partire dal testo della issue.

Descrizione

enhancement get certificate required

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:
{
    "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


  • 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


Notas
Se espera que al menos 1 de los criterios de aceptación esté automatizado

Lingua principale
JavaScript
Stelle
0
Fork
6
Metriche di merge delle PR
Nessuna PR unita negli ultimi 30g

Preparare l'ambiente

Questo progetto non fornisce container di sviluppo, Dockerfile né guida per i contributori, quindi l'ambiente è a tuo carico: parti dal suo README e consulta la nostra guida al primo contributo per i passaggi generali.

Come iniziare

  1. Leggi tutta la issue e poi la guida ai contributi del progetto.
  2. Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
  3. Fai un fork del repository e lavora su un branch.
  4. Apri una pull request che faccia riferimento al numero della issue.

Altre issue di booleancl/G01-2021-fullstack-javascript-final

Tutte le issue di booleancl/G01-2021-fullstack-javascript-final

Issue simili

Altre issue su JavaScript

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.