/senac-cypress-testes-automatizados

Repositório da minha apresentação de um Workshop sobre testes automatizados no SENAC em Brusque.

Primary LanguageJavaScript

Esse projeto foi criado com intuito educacional.

Link do Notion com a transcrição da apresentação: https://www.notion.so/SENAC-Cypress-9e1157e8442d44e2ad9fb510a7eb8faa.

Código final disponível na branch codigo-final

Requisitos

Para rodar esse projeto a máquina deve possuir o Node instalado (recomendado v18).

Link para download: https://nodejs.org/en

Instalação do projeto

Para realizar a instalação desse projeto deve-se baixar o código e em seguida executar o npm install dentro das pastas apps/web e apps/api para download das dependências.

Subindo o projeto

Uma vez executada as instalações, para subir os projetos, deve ser executado um npm start.

Lembrando que deverá ser utilizado pelo menos 2 terminais, um para subir a API e outro para subir o Front-End.

Após subir a API o console irá retornar a mensagem ⚡️Server started on port 3333!

Após subir a WEB o console irá retornar a mensagem ⚡WebApp started on port 3000

Para acessar a página após subir a web basta acessar o localhost:3000 no navegador.

Sobre o produto

O intuito dessa aplicação é simular um sistema de barbearia, permitindo usuários se cadastrarem e agendarem horário com prestadores de serviço.

Nela é possível cadastrar usuários e prestadores de serviço. O usuário consegue verificar a disponibilidade dos prestadores de serviço e consegue agendar um horário com o seu barbeiro escolhido.

Cadastros de barbeiros

Como regra de negócio da aplicação, o cadastro de novos barbeiros deverá ser feito através de API, não sendo possível cadastrar pela tela da aplicação. Simulando uma situação onde a aplicação ainda não está completamente pronta e necessitará de testes via API futuramente.

Cadastro de usuários

Os usuários poderão se cadastrar através da página inicial do site.

Agendamentos

Como regra de negócio presente no produto, os agendamentos funcionam das 9h as 16h e tem duração de 1h.