Hacktoberfest 2026: as issues que os mantenedores marcaram para outubro, abertas e boas para iniciantes. Ver issues do Hacktoberfest

Crear Sistema de descuentos

Aberta
#3 0 comentários 0 reações 0 responsáveis Ver no GitHub

Ninguém assumiu esta issue ainda.

Avaliação

Dificuldade
4/5
Tempo estimado
3-5 dias
Facilidade para iniciantes
35/100
Tipo de issue
Funcionalidade
Clareza
Razoavelmente clara
Status de atividade
Estagnada
Stack de tecnologia
cypress, javascript

Direção de pesquisa

Nenhum arquivo é nomeado. Comece localizando a Product API, a migration do Sequelize e os pontos de entrada de seed, além da exibição de produtos no frontend; em seguida, rastreie como as respostas de produtos chegam à página. Use o endpoint POST indicado e a configuração de requests do Cypress para verificar que habilitar a venda adiciona o preço com desconto para todos os produtos, enquanto desabilitá-la restaura a resposta normal.

Escrita pelo modelo de indexação a partir do texto da issue.

Descrição

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

Linguagem predominante
JavaScript
Estrelas
0
Forks
6
Métricas de merge de PRs
Nenhum PR com merge em 30d

Preparar o ambiente

Ainda não verificamos os arquivos de configuração deste projeto. Comece pelo README e veja nosso guia da primeira contribuição para os passos gerais.

Primeiros passos

  1. Leia a issue inteira e depois o guia de contribuição do projeto.
  2. Comente na issue dizendo que vai assumir — evita que duas pessoas façam o mesmo trabalho.
  3. Faça um fork do repositório e trabalhe em uma branch.
  4. Abra um pull request que referencie o número da issue.

Mais de booleancl/G01-2021-fullstack-javascript-final

Todas as issues de booleancl/G01-2021-fullstack-javascript-final

Issues semelhantes

Mais issues de JavaScript

Receba novas issues na sua caixa de entrada

Um resumo curto de issues do GitHub para quem está começando.