Skip to content

Commit

Permalink
all tests passed
Browse files Browse the repository at this point in the history
  • Loading branch information
Bruno Fernandes committed Jun 12, 2024
1 parent 7564d30 commit e84f941
Show file tree
Hide file tree
Showing 29 changed files with 1,271 additions and 97 deletions.
1 change: 1 addition & 0 deletions .env.example
Original file line number Diff line number Diff line change
@@ -1,2 +1,3 @@
DATABASE_URL="postgresql://postgres:docker@localhost:5432/daily-diet?schema=public"
PORT=3000
NODE_ENV=dev
33 changes: 33 additions & 0 deletions .github/workflows/run-e2e-tests.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,33 @@
name: Run E2E Tests

on: [pull_request]

jobs:
run-e2e-tests:
name: Run E2E Tests
runs-on: ubuntu-latest

services:
postgres:
image: bitnami/postgresql
ports:
- 5432:5432
env:
POSTGRESQL_USERNAME: postgres
POSTGRESQL_PASSWORD: docker
POSTGRESQL_DATABASE: find-a-friend

steps:
- uses: actions/checkout@v3

- uses: actions/setup-node@v3
with:
node-version: 18
cache: "npm"

- run: npm ci
- run: npm run ci:gen-jwt-keys

- run: npm run test:e2e
env:
DATABASE_URL: "postgresql://postgres:docker@localhost:5432/find-a-friend?schema=public"
20 changes: 20 additions & 0 deletions .github/workflows/run-unit-tests.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
name: Run Unit Tests

on: [push]

jobs:
run-unit-tests:
name: Run Unit Tests
runs-on: ubuntu-latest

steps:
- uses: actions/checkout@v3

- uses: actions/setup-node@v3
with:
node-version: 18
cache: "npm"

- run: npm ci

- run: npm run test
60 changes: 33 additions & 27 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -72,42 +72,48 @@ A seguir estarão disponíveis as informações relacionadas ao desenvolvimento

### Requisitos Funcionais

- [ ] Deve ser possível cadastrar um pet
- [ ] Deve ser possível listar todos os pets disponíveis para adoção em uma cidade
- [ ] Deve ser possível filtrar pets por suas características
- [ ] Deve ser possível visualizar detalhes de um pet para adoção
- [ ] Deve ser possível se cadastrar como uma ORG
- [ ] Deve ser possível realizar login como uma ORG
- [x] Deve ser possível cadastrar um pet
- [x] Deve ser possível listar todos os pets disponíveis para adoção em uma cidade
- [x] Deve ser possível filtrar pets por suas características
- [x] Deve ser possível visualizar detalhes de um pet para adoção
- [x] Deve ser possível se cadastrar como uma ORG
- [x] Deve ser possível realizar login como uma ORG

### Regras de Negócio

- [ ] Para listar os pets, obrigatoriamente precisamos informar a cidade
- [ ] Uma ORG precisa ter um endereço e um número de WhatsApp
- [ ] Um pet deve estar ligado a uma ORG
- [ ] O usuário que quer adotar, entrará em contato com a ORG via WhatsApp
- [ ] Todos os filtros, além da cidade, são opcionais
- [ ] Para uma ORG acessar a aplicação como admin, ela precisa estar logada
- [x] Para listar os pets, obrigatoriamente precisamos informar a cidade
- [x] Uma ORG precisa ter um endereço e um número de WhatsApp
- [x] Um pet deve estar ligado a uma ORG
- [x] O usuário que quer adotar, entrará em contato com a ORG via WhatsApp
- [x] Todos os filtros, além da cidade, são opcionais
- [x] Para uma ORG acessar a aplicação como admin, ela precisa estar logada

### Requisitos Não Funcionais

- [ ] Os dados deverão ser persistidos num banco de dados postgreSQL
- [ ] O Banco de dados em desenvolvimento deve ser usado através de um container do Docker
- [ ] Devem haver testes unitários e testes e2e para validar os requisitos e as regras de negócio
- [x] Os dados deverão ser persistidos num banco de dados postgreSQL
- [x] O Banco de dados em desenvolvimento deve ser usado através de um container do Docker
- [x] Devem haver testes unitários e testes e2e para validar os requisitos e as regras de negócio
- [ ] Deve ser implementado o CI (Continuous Integration)
- [ ] CI - ao realizar um **push** para o github, todos os tests unitários devem ser executados
- [ ] CI - ao realizar um **pull request** para o github, todos os tests e2e devem ser executados
- [ ] O projeto dev seguir a metodologia DDD (Domain-Driven Design)
- [x] O projeto dev seguir a metodologia DDD (Domain-Driven Design)

### Metodologia Domain-Driven Design

- [ ] domains:
- [ ] find a friend
- [ ] application
- [ ] repositories
- [ ] pets repository
- [ ] users repository
- [ ] enterprise
- [ ] entities:
- [ ] basic user
- [ ] org
- [ ] pet
- [x] domains:
- [x] find a friend:
- [x] application:
- [x] repositories:
- [x] pets repository
- [x] users repository
- [x] use cases:
- [x] register org
- [x] authenticate org
- [x] register pet
- [x] fetch all adoptable pet
- [x] find pet
- [x] want to adopt
- [x] enterprise:
- [x] entities:
- [x] org
- [x] pet
39 changes: 4 additions & 35 deletions client.http
Original file line number Diff line number Diff line change
Expand Up @@ -56,45 +56,14 @@ Authorization: Bearer {{authToken}}
GET {{baseUrl}}/pets?city=the daily planet&mainCharacteristics=diurno,limpo&color=preto



###

# @name update_meal
PUT {{baseUrl}}/meals/49715768-da2f-49f5-9ff9-87a3d28ebcce
Content-Type: application/json
Authorization: Bearer {{authToken}}

{
"name": "meal test",
"description": "testing",
"isInDiet": false,
"dateTime": "2024-06-10T11:09:30.535Z"
}



###

# @name delete_meal
DELETE {{baseUrl}}/meals/0e42f8d8-33c2-4490-856e-fa59fd25000e
Content-Type: application/json
Authorization: Bearer {{authToken}}




###

# @name find_meal_by_id
GET {{baseUrl}}/meals/49715768-da2f-49f5-9ff9-87a3d28ebcce
Content-Type: application/json
Authorization: Bearer {{authToken}}
# @name find_pet
GET {{baseUrl}}/pets/b10f8cc7-b64c-4a85-a4b2-52d690b9417a


###

# @name get_user_metrics
GET {{baseUrl}}/meals/metrics
Content-Type: application/json
Authorization: Bearer {{authToken}}
# @name want_to_adopt_pet
GET {{baseUrl}}/pets/adopt/b10f8cc7-b64c-4a85-a4b2-52d690b9417a

Loading

0 comments on commit e84f941

Please sign in to comment.