Aplica validações necessárias na requisição.
Aplica regras de negócios antes de enviar ao repositório.
Salva os dados no banco de dados.
Gerencia a estrutura das entidades da aplicação.
Cria as conexões necessárias com o banco de dados.
Armazena os dados e mocks utilizados nos testes unitários.
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
- Node
- Typescript
- Jest
- SQLite
- TypeORM
1 - Clone o repositório
2 - Instale todas as dependências
yarn install
4 - Acesse a rota principal
yarn test:unit
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
GET /
Retorna uma mensagem de boas vindas
http://localhost:5000/
POST /user
Cria um novo usuário no banco de dados. Todos os campos são obrigatórios
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