Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/eudanilobarbosa/cypress-express
Projeto de testes automatizados realizado no curso Cypress eXpress da QAx Academy com Fernando Papito.
https://github.com/eudanilobarbosa/cypress-express
allure-reports api-rest bash cli cross-browser-testing cypress-io e2e-testing faker-js gherkin-language git html-css-javascript json-schema node-js visual-studio-code webapp
Last synced: 2 months ago
JSON representation
Projeto de testes automatizados realizado no curso Cypress eXpress da QAx Academy com Fernando Papito.
- Host: GitHub
- URL: https://github.com/eudanilobarbosa/cypress-express
- Owner: eudanilobarbosa
- Created: 2024-03-05T18:32:05.000Z (10 months ago)
- Default Branch: main
- Last Pushed: 2024-06-02T23:52:21.000Z (7 months ago)
- Last Synced: 2024-10-01T04:43:19.079Z (3 months ago)
- Topics: allure-reports, api-rest, bash, cli, cross-browser-testing, cypress-io, e2e-testing, faker-js, gherkin-language, git, html-css-javascript, json-schema, node-js, visual-studio-code, webapp
- Language: JavaScript
- Homepage: https://www.udemy.com/course/cypress-express/
- Size: 34.4 MB
- Stars: 1
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# [email protected] + Mark L - Gerenciador de Tarefas
Repositório do projeto de testes End-to-end (E2E) feitos com **Cypress** :green_heart: para o web app de demonstração: *Mark L - Gerenciador de Tarefas*.
## IDE utilizada nesse projeto
[VS Code](https://code.visualstudio.com/) versão `1.88.1`
- Extensões
- [One Dark Pro (Darker)](https://marketplace.visualstudio.com/items?itemName=zhuangtongfa.Material-theme)
- [Material Icon Theme](https://marketplace.visualstudio.com/items?itemName=PKief.material-icon-theme)
- [Cucumber (Gherkin) Full Support](https://marketplace.visualstudio.com/items?itemName=alexkrechik.cucumberautocomplete)
- [SQLite Viewer](https://marketplace.visualstudio.com/items?itemName=qwtel.sqlite-viewer)## Pré-requisitos
Você vai precisar dos seguintes sistemas instalados em seu computador:
- [Windows Terminal](https://apps.microsoft.com/detail/9n0dx20hk701?hl=pt-br&gl=BR)
- [Node.js](https://nodejs.org/dist/v18.12.1/node-v18.12.1-x64.msi) versão `v18.12.1`
- NPM versão `8.19.2`
- [Git](https://github.com/git-for-windows/git/releases/download/v2.43.0.windows.1/Git-2.43.0-64-bit.exe) versão `2.43.0.windows.1`> [!NOTE]
> Durante a instalação do Node.js o NPM é automaticamente instalado.> [!IMPORTANT]
> Para a instalação do Git garantir que as opções "Git Bash Here" e "(NEW!) Add a Git Bash Profile to Windows Terminal" estejam marcadas :white_check_mark:.## Instalação
### Após clonar o repositório, instalar as dependências da web app que estão na pasta `/apps/markL/`1. Pasta `api` - API do gerenciador de tarefas, execute o comando
```
npm i
```2. Para inicializar e criar o banco de dados SQLite da API, execute o comando
```
npm run db:init
```3. Colocar API em execução
```
npm run dev
```4. Pasta `web` - Interface gráfica do gerenciador de tarefas, execute o comando
```
npm i
```5. Colocar Interface gráfica em execução
```
npm run dev
```### Métodos HTTP
#### Requisições para a API REST:green_circle: GET /Task list
```
curl --request GET \
--url http://localhost:3333/tasks
```:yellow_circle: POST /New task
```
curl --request POST \
--url http://localhost:3333/tasks \
--header 'Content-Type: application/json' \
--data '{
"name": "Comprar ketchup",
"is_done": false
}'
```:large_blue_circle: PUT /Update task
```
curl --request PUT \
--url http://localhost:3333/tasks/8b161cff-5485-4a06-aaa3-5cde44d34es \
--header 'Content-Type: application/json' \
--data '{
"is_done": true
}'
```:red_circle: DELETE /Remove task by name
```
curl --request DELETE \
--url http://localhost:3333/helper/tasks \
--header 'Content-Type: application/json' \
--data '{
"name": "Ler um livro de Node.js"
}'
```:red_circle: DELETE /Remove task
```
curl --request DELETE \
--url http://localhost:3333/tasks/2aa7dc4e-7148-4ed7-936e-fc9167a4deb8
```
## Como executar
### TestesVocê pode executá-los tanto em modo interativo, como em modo _headless_.
1. Instalar as dependências do Cypress que estão na pasta raiz `/`, execute o comando
```
npm i
```2. Para rodar todos os testes em **modo _headless_**, execute o comando
```
npx cypress run --env allure=true
```3. O relatório de execução dos testes pode ser visualizado com [Allure Report](https://www.npmjs.com/package/@mmisty/cypress-allure-adapter), execute o comando
```
npx allure serve
```> [!WARNING]
> É necessário o [Java 8](https://www.oracle.com/java/technologies/downloads/#license-lightbox) para executar o binário do Allure Reports.> [!TIP]
> Execute os testes através do Lauchpad, modo interativo do Cypress, com o comando `npx cypress open`.## Funcionalidades Testadas
[![Cypress.io](https://img.shields.io/badge/tested%20with-Cypress-04C38E.svg)](https://www.cypress.io/)#### home
* [x] webapp deve estar online
#### tarefas > cadastro
* [x] deve cadastrar uma nova tarefa
* [x] não deve permitir tarefa duplicada
* [x] campo obrigatório#### tarefas > atualização
* [x] deve concluir uma tarefa
#### tarefas > exclusão
* [x] deve remover uma tarefa