diff --git a/src/12-testing/.github/workflows/run-tests.yml b/src/12-testing/.github/workflows/run-tests.yml new file mode 100644 index 0000000..050b1ff --- /dev/null +++ b/src/12-testing/.github/workflows/run-tests.yml @@ -0,0 +1,44 @@ +name: Run Tests + +on: + push: + branches: + - main + pull_request: + branches: + - main + +jobs: + jest-tests: + runs-on: ubuntu-latest + steps: + - name: Checkout code + uses: actions/checkout@v3 + + - name: Set up Node.js + uses: actions/setup-node@v3 + with: + node-version: 22 + + - name: Install dependencies + run: npm install + + - name: Run Jest tests + run: npm test + + deno-tests: + runs-on: ubuntu-latest + steps: + - name: Checkout code + uses: actions/checkout@v3 + + - name: Set up Deno + uses: denoland/setup-deno@v1 + with: + deno-version: 2.2.3 + + - name: Install dependencies + run: deno install + + - name: Run Deno tests + run: deno test \ No newline at end of file diff --git a/src/12-testing/.gitignore b/src/12-testing/.gitignore new file mode 100644 index 0000000..b512c09 --- /dev/null +++ b/src/12-testing/.gitignore @@ -0,0 +1 @@ +node_modules \ No newline at end of file diff --git a/src/12-testing/deno.lock b/src/12-testing/deno.lock deleted file mode 100644 index ed41a95..0000000 --- a/src/12-testing/deno.lock +++ /dev/null @@ -1,35 +0,0 @@ -{ - "version": "5", - "specifiers": { - "jsr:@std/assert@*": "1.0.11", - "jsr:@std/assert@^1.0.10": "1.0.11", - "jsr:@std/internal@^1.0.5": "1.0.5", - "jsr:@std/testing@*": "1.0.9" - }, - "jsr": { - "@std/assert@1.0.11": { - "integrity": "2461ef3c368fe88bc60e186e7744a93112f16fd110022e113a0849e94d1c83c1", - "dependencies": [ - "jsr:@std/internal" - ] - }, - "@std/internal@1.0.5": { - "integrity": "54a546004f769c1ac9e025abd15a76b6671ddc9687e2313b67376125650dc7ba" - }, - "@std/testing@1.0.9": { - "integrity": "9bdd4ac07cb13e7594ac30e90f6ceef7254ac83a9aeaa089be0008f33aab5cd4", - "dependencies": [ - "jsr:@std/assert@^1.0.10" - ] - } - }, - "workspace": { - "packageJson": { - "dependencies": [ - "npm:@types/jest@^29.5.14", - "npm:jest@^29.7.0", - "npm:ts-jest@^29.3.2" - ] - } - } -} diff --git a/src/12-testing/src/deno/user.service.test.ts b/src/12-testing/src/deno/user.service.test.ts index 10ee5d7..369b151 100644 --- a/src/12-testing/src/deno/user.service.test.ts +++ b/src/12-testing/src/deno/user.service.test.ts @@ -17,3 +17,12 @@ Deno.test('getUserById should return a user', async (t) => { assertEquals(result, []); }); }); + +Deno.test('getUserById', () => { + const userService = new UserService(); + userService.addUser('Tilli', 35); + + const result = userService.getUserById(1); + + assertEquals(result, { id: 1, name: 'Tilli', age: 35 }); +}); diff --git a/src/12-testing/src/deno/utis.test.ts b/src/12-testing/src/deno/utils.test.ts similarity index 63% rename from src/12-testing/src/deno/utis.test.ts rename to src/12-testing/src/deno/utils.test.ts index 30f0e9b..bbef2a2 100644 --- a/src/12-testing/src/deno/utis.test.ts +++ b/src/12-testing/src/deno/utils.test.ts @@ -1,3 +1,4 @@ +import { assertEquals } from 'jsr:@std/assert/equals'; import { assertThrows } from 'jsr:@std/assert/throws'; import { riskyFunction } from '../utils.ts'; @@ -8,3 +9,7 @@ Deno.test('Soll einen Fehler werfen', () => { 'Wert darf nicht negativ sein!' ); }); + +Deno.test('Sollte value zurückgeben', () => { + assertEquals(riskyFunction(42), 42); +});