https://github.com/sancruz-dev/jest-tests-dio
Testes com Jest + nodeJs
https://github.com/sancruz-dev/jest-tests-dio
dio-bootcamp
Last synced: 3 months ago
JSON representation
Testes com Jest + nodeJs
- Host: GitHub
- URL: https://github.com/sancruz-dev/jest-tests-dio
- Owner: sancruz-dev
- Created: 2022-08-08T01:52:41.000Z (almost 3 years ago)
- Default Branch: main
- Last Pushed: 2022-08-08T02:02:20.000Z (almost 3 years ago)
- Last Synced: 2025-01-12T15:11:57.744Z (5 months ago)
- Topics: dio-bootcamp
- Language: TypeScript
- Homepage:
- Size: 97.7 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: Readme.md
Awesome Lists containing this project
README
# TwiDIO API
#### API desenvolvida para o projeto TwiDIO
### Arquitetura
#### 📂Controllers
> Aplica validações necessárias na requisição.
#### 📂Services
> Aplica regras de negócios antes de enviar ao repositório.
#### 📂Repositories
> Salva os dados no banco de dados.
#### 📂Entities
> Gerencia a estrutura das entidades da aplicação.
#### 📂Database
> Cria as conexões necessárias com o banco de dados.#### 📂__mocks __
> Armazena os dados e mocks utilizados nos testes unitários.
#### 📂tests
> Armazena as switch de testes de integração.```
📁 TwiDIO
|
|- 📁 src
| |
| |- 📁 __mocks_
| |- 📄 getEntityManagerMock.ts
| |- 📄 mockContentList.ts
| |- 📄 mockRequest.ts
| |- 📄 mockResponse.ts
|
| |- 📁 database
| |- 📁 migrations
| |- 📄 index.ts
| |- 📄 database.sqlite
| |- 📄 database.test.sqlite
|
| |- 📁 controllers
| |- 📄 UserController.ts
| |- 📄 MessageController.ts
|
| |- 📁 entities
| |- 📄 User.ts
|
| |- 📁 repositories
| |- 📄 UserRepository.ts
|
| |- 📁 services
| |- 📄 UserService.ts
|
| |- 📁 tests
| |- 📄 message.test.ts
| |- 📄 user.test.ts
|
|
|- 📄 .gitignore
|- 📄 package.json
|- 📄 app.ts
|- 📄 index.ts
|- 📄 router.ts```
### Este projeto usa
- Node
- Typescript
- Jest
- SQLite
- TypeORM### Como rodar o projeto
1 - Clone o repositório
2 - Instale todas as dependências
---
yarn install
---4 - Acesse a rota principal
### Testando o projeto
#### Testes unitários
---
yarn test:unit
---#### Testes de integração
1 - Rode a aplicação em modo de desenvolvimento
---
yarn run dev
---1 - Rode os testes de integração no repositório /tests
---
yarn test:integration
---### endpoints
**_GET_** /
Retorna uma mensagem de boas vindas
##### Exemplo
---
http://localhost:5000/
---**_POST_** /user
Cria um novo usuário no banco de dados. Todos os campos são obrigatórios
##### Exemplo
---
body {
email: '[email protected]',
name: 'Nome do usuário'
}
---**Desafios sugeridos**
- Usando os conceitos de TDD
[ ] Implementar uma rota que retorne todos os usuários cadastrados
[ ] Implementar uma mensagem de erro quando tentar cadastrar um usuário com os campos em branco
### Happy hacking!