Crear Sistema de descuentos
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
- Domínio
- api, database, frontend, full-stack, testing
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
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-salecon los camposenabledypercentageDiscount. Agrega por defecto los valoresfalsey0respectivamente.
Tip: No olvides correr el comando
npx sequelize-cli db:migratey el comandonpx 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_saleestá activa. En este caso se debe agregar un nuevo campo a la respuesta llamadopriceWithDiscounten 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: trueal utilizarfindAllde 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 utilizandobefore()yafter()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
- Leia a issue inteira e depois o guia de contribuição do projeto.
- Comente na issue dizendo que vai assumir — evita que duas pessoas façam o mesmo trabalho.
- Faça um fork do repositório e trabalhe em uma branch.
- Abra um pull request que referencie o número da issue.
Mais de booleancl/G01-2021-fullstack-javascript-final
-
enhancement get certificate required
Dificuldade 4/5 3-5 dias Facilidade para iniciantes 45/100
-
Vista de detalle productoAbertaenhancement get certificate required
Dificuldade 4/5 3-5 dias Facilidade para iniciantes 38/100
-
Eliminar productoAbertaenhancement get certificate required
Dificuldade 4/5 3-5 dias Facilidade para iniciantes 38/100
-
Crear productoAbertaenhancement get certificate required
Dificuldade 5/5 Mais de uma semana Facilidade para iniciantes 25/100
-
enhancement get certificate required
Dificuldade 4/5 3-5 dias Facilidade para iniciantes 45/100
Todas as issues de booleancl/G01-2021-fullstack-javascript-final
Issues semelhantes
-
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 75/100
Mantenedores costumam responder em até 1 dia
-
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 86/100
Mantenedores costumam responder em até 1 dia
-
curriculum documentation quality
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 78/100
githubnext/gh-aw-workshop#3897 ·
Mantenedores costumam responder em até 2 dias
-
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 84/100
Mantenedores costumam responder em até 1 dia
-
agent/quality hive/hosted-available-lke648397-260827-5n31 quality testing
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 91/100
Mantenedores costumam responder em até 1 dia