- Desafio realizado como parte do processo seletivo para QA.
- O projeto consiste em realizar testes automatizados com javascript e cypress.
- Dividido em 2 partes:
- UI - frontend: sistema sob test: https://front.serverest.dev/
- API - backend: sistema sob test: https://front.serverest.dev/
- Faça o clone ou fork do projeto
- Instale as dependencias com o comando
npm i
Execute o comando npm start ou npx cypress open
npm start
npx cypress open
Foi criada uma pipeline de integração e entrega contínua para executar automaticamente os testes em cypress a cada novo push realizado no projeto.
Basta ir na aba Actions do projeto para ter acessos as pipelines que já foram executadas.
1. Validação de tentativa de criação de usuários no sistema
Descrição(Gherkin):
DADO que sou gerente do sistema
QUANDO alguém tentar cadastrar novo usuário administrador
E apresentar e-mail já cadastrado
OU não preencher os campos obrigatórios
ENTÃO deve ser apresentado mensagens claras sobre o motivo da criação ter falhado
2. Validação de gerenciamento de produto no sistema
Descrição(Gherkin):
DADO que sou usuário administrador
QUANDO fizer login no sistema
ENTÃO sou capaz de gerenciar produtos no sistema
1. Validar criação de usuário com e-mail já cadastrado
Passos:
- Clicar no botão Cadastrar
- Preencher campo Nome com qualquer valor
- Preencher campo e-mail com um valor que já conste no sistema
- Preencher campo senha com qualquer valor
- Clicar no botão Cadastrar
Critério de aceite
Deve ser apresentada a mensagem "Este email já está sendo usado" ao usuário
2. Validar criação de usuário sem preencher campos obrigatórios
Passos:
- Clicar no botão Cadastrar
- Deixar campo Nome em branco
- Deixar campo e-mail em branco
- Deixar campo senha em branco
- Clicar no botão Cadastrar
Critério de aceite
Deve ser apresentada uma mensagem para cada campo em branco:
3. Validar criação de produto com sucesso
Passos:
- Fazer login com usuário administrador
- Preencher campo Nome com qualquer valor
- Preencher campo Preço com qualquer valor
- Preencher campo Descrição com qualquer valor
- Preencher campo Quantidade com qualquer valor
- Clicar no botão Cadastrar
Critério de aceite
Deve ser apresentada um novo produto cadastrado com o mesmo nome, descrição e preço
- "Nome é obrigatório"
- "Email é obrigatório"
- "Password é obrigatório"
- Criar novo usuário com sucesso
- Dado um ID, atualizar o usuário referente a ele com sucesso
- Recuperar o usuário por ID