Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

all tests passed #4

Merged
merged 1 commit into from
Jun 12, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
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
Loading