diff --git a/.github/workflows/run-e2e-tests.yml b/.github/workflows/run-e2e-tests.yml new file mode 100644 index 0000000..54b8f7f --- /dev/null +++ b/.github/workflows/run-e2e-tests.yml @@ -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: docker + POSTGRESQL_PASSWORD: docker + POSTGRESQL_DATABASE: apisolid + + steps: + - uses: actions/checkout@v3 + + - uses: actions/setup-node@v3 + with: + node-version: 18 + cache: 'npm' + + - run: npm ci + + - run: npm run test:e2e + env: + JWT_SECRET: testing + DATABASE_URL: "postgresql://docker:docker@localhost:5432/apisolid?schema=public" diff --git a/.github/workflows/run-unit-tests.yml b/.github/workflows/run-unit-tests.yml new file mode 100644 index 0000000..1b748af --- /dev/null +++ b/.github/workflows/run-unit-tests.yml @@ -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 \ No newline at end of file diff --git a/README.md b/README.md index e463704..84faf31 100644 --- a/README.md +++ b/README.md @@ -19,11 +19,11 @@ GymPass style app. - [x] O usuário não pode fazer 2 check-ins no mesmo dia; - [x] O usuário não pode fazer check-in se não estiver perto (100m) da academia; - [x] O check-in só pode ser validado até 20 minutos após criado; -- [] O check-in só pode ser validado por administradores; -- [] A academia só pode ser cadastrada por administradores; +- [x] O check-in só pode ser validado por administradores; +- [x] A academia só pode ser cadastrada por administradores; ## RNFs (Requisitos não-funcionais) - [x] A senha do usuário precisa estar criptografada; - [x] Os dados da aplicação precisam estar persistidos em um banco PostgreSQL; - [x] Todas listas de dados precisam estar paginadas com 20 itens por página; -- [] O usuário deve ser identificado por um JWT (JSON Web token); \ No newline at end of file +- [x] O usuário deve ser identificado por um JWT (JSON Web token); \ No newline at end of file