From 985b9b20e46112da04837d42b5eb58b2ae0f73e4 Mon Sep 17 00:00:00 2001 From: Lucas Pampolha Date: Fri, 19 Sep 2025 23:23:50 -0300 Subject: [PATCH] Desafio 2 --- .github/workflows/02-tests-ci.yml | 22 ++++++++++++++++------ package-lock.json | 3 +-- package.json | 8 ++++---- 3 files changed, 21 insertions(+), 12 deletions(-) diff --git a/.github/workflows/02-tests-ci.yml b/.github/workflows/02-tests-ci.yml index 3a9801b..59b8cd7 100644 --- a/.github/workflows/02-tests-ci.yml +++ b/.github/workflows/02-tests-ci.yml @@ -7,7 +7,7 @@ env: NODE_VERSION: '18' CHALLENGE_LEVEL: 2 CHALLENGE_NAME: "testes-automatizados" - COVERAGE_MIN: 80 # Cobertura mínima exigida em porcentagem + COVERAGE_MIN: 99 # Cobertura mínima exigida em porcentagem jobs: tests-and-coverage: @@ -20,10 +20,15 @@ jobs: - name: "Checkout do código" uses: actions/checkout@v4 - # INSIRA AQUI A LÓGICA PARA RODAR OS TESTES E VERIFICAR A COBERTURA - ### - ### - ### + - name: "Setup Node" + uses: actions/setup-node@v5 + with: + node-version: ${{env.NODE_VERSION}} + + - name: "Instalar dependências" + run: npm ci + - name: "Executar testes" + run: npm run tests - name: "Extrair porcentagem de cobertura" # Esse step será validado pelo desafio, não altere o nome. No final, ele deve gerar o output "coverage" com a porcentagem de cobertura. id: coverage @@ -31,7 +36,12 @@ jobs: COVERAGE=$(npx nyc report --reporter=text-summary | grep -oP 'Statements\s*:\s*\K[0-9\.]+(?=%)' | head -1) echo "Coverage: $COVERAGE%" echo "coverage=$COVERAGE" >> $GITHUB_OUTPUT - + + - name: "Validar se os testes passaram" + if: ${{steps.coverage.outputs.coverage < env.COVERAGE_MIN}} + run: | + echo "Cobertura mínima não atendida: Esperado - ${{ env.COVERAGE_MIN }}%. Atingido: ${{ steps.coverage.outputs.coverage }}%" + exit 1 generate-certificate: # DAQUI PARA BAIXO, NÃO ALTERAR name: "Desafio Nível 2 - Certificado" runs-on: ubuntu-latest diff --git a/package-lock.json b/package-lock.json index ef1322c..b2c7d57 100644 --- a/package-lock.json +++ b/package-lock.json @@ -11,7 +11,7 @@ "dependencies": { "cors": "^2.8.5", "dotenv": "^16.3.1", - "express": "^4.18.2", + "express": "^4.21.2", "helmet": "^7.0.0", "node-fetch": "^3.3.2" }, @@ -2040,7 +2040,6 @@ "version": "4.21.2", "resolved": "https://registry.npmjs.org/express/-/express-4.21.2.tgz", "integrity": "sha512-28HqgMZAmih1Czt9ny7qr6ek2qddF4FclbMzwhCREB6OFfH+rXAnuNCwo1/wFvrtbgsQDb4kSbX9de9lFbrXnA==", - "license": "MIT", "dependencies": { "accepts": "~1.3.8", "array-flatten": "1.1.1", diff --git a/package.json b/package.json index 2175daf..1326318 100644 --- a/package.json +++ b/package.json @@ -19,16 +19,16 @@ "author": "LINUXtips", "license": "MIT", "dependencies": { - "express": "^4.18.2", "cors": "^2.8.5", - "helmet": "^7.0.0", "dotenv": "^16.3.1", + "express": "^4.21.2", + "helmet": "^7.0.0", "node-fetch": "^3.3.2" }, "devDependencies": { "jest": "^29.7.0", - "supertest": "^6.3.4", - "nyc": "^17.1.0" + "nyc": "^17.1.0", + "supertest": "^6.3.4" }, "engines": { "node": ">=16.0.0"