Compare commits
15 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| daa7f4951f | |||
| a95818e3bf | |||
| 26eedcc4f2 | |||
| ce4782580d | |||
| 91248370da | |||
| 6b8b5e6aa3 | |||
| d1c3b93755 | |||
| f42df29f06 | |||
| c8b808f509 | |||
| fdfdd74894 | |||
| 60dde4675c | |||
| fef9457795 | |||
| 6db04045f4 | |||
| cdd9c0bf06 | |||
| 980efcfbc3 |
@@ -6,9 +6,26 @@ on:
|
|||||||
- main
|
- main
|
||||||
|
|
||||||
jobs:
|
jobs:
|
||||||
|
check-code:
|
||||||
|
name: "Check Deno code"
|
||||||
|
runs-on: ubuntu-latest
|
||||||
|
steps:
|
||||||
|
- uses: actions/checkout@v4
|
||||||
|
|
||||||
|
- uses: denoland/setup-deno@v2
|
||||||
|
with:
|
||||||
|
deno-version: v2.x
|
||||||
|
|
||||||
|
- name: Check formatting
|
||||||
|
run: deno fmt --check
|
||||||
|
|
||||||
|
- name: Check linting
|
||||||
|
run: deno lint
|
||||||
|
|
||||||
deploy:
|
deploy:
|
||||||
name: "Build Docker image"
|
name: "Build Docker image"
|
||||||
runs-on: ubuntu-latest
|
runs-on: ubuntu-latest
|
||||||
|
needs: check-code
|
||||||
steps:
|
steps:
|
||||||
- name: Login to Docker Hub
|
- name: Login to Docker Hub
|
||||||
uses: docker/login-action@v3
|
uses: docker/login-action@v3
|
||||||
|
|||||||
@@ -4,6 +4,10 @@ on:
|
|||||||
pull_request:
|
pull_request:
|
||||||
branches:
|
branches:
|
||||||
- main
|
- main
|
||||||
|
- develop
|
||||||
|
push:
|
||||||
|
branches:
|
||||||
|
- develop
|
||||||
|
|
||||||
permissions:
|
permissions:
|
||||||
contents: read
|
contents: read
|
||||||
|
|||||||
@@ -0,0 +1,58 @@
|
|||||||
|
import { assertEquals, assertExists } from "@std/assert";
|
||||||
|
import {
|
||||||
|
closeTestPool,
|
||||||
|
seedRoles,
|
||||||
|
seedUsers,
|
||||||
|
testDb,
|
||||||
|
truncateAll,
|
||||||
|
} from "../helpers/db_integration.ts";
|
||||||
|
import { users } from "$root/databases/schema.ts";
|
||||||
|
|
||||||
|
Deno.test({
|
||||||
|
name: "integration: GET /users - DB round trip",
|
||||||
|
async fn() {
|
||||||
|
await truncateAll();
|
||||||
|
|
||||||
|
const [role] = await seedRoles([{ nom: "employee" }]);
|
||||||
|
await seedUsers([
|
||||||
|
{ id: "dupont.jean", nom: "Dupont", prenom: "Jean", idRole: role.id },
|
||||||
|
{ id: "martin.alice", nom: "Martin", prenom: "Alice", idRole: role.id },
|
||||||
|
]);
|
||||||
|
|
||||||
|
const rows = await testDb.select().from(users);
|
||||||
|
assertEquals(rows.length, 2);
|
||||||
|
assertExists(rows.find((u) => u.id === "dupont.jean"));
|
||||||
|
},
|
||||||
|
sanitizeResources: false,
|
||||||
|
sanitizeOps: false,
|
||||||
|
});
|
||||||
|
|
||||||
|
Deno.test({
|
||||||
|
name: "integration: INSERT user and retrieve by id",
|
||||||
|
async fn() {
|
||||||
|
await truncateAll();
|
||||||
|
|
||||||
|
const [role] = await seedRoles([{ nom: "admin" }]);
|
||||||
|
const [created] = await testDb.insert(users).values({
|
||||||
|
id: "durand.claire",
|
||||||
|
nom: "Durand",
|
||||||
|
prenom: "Claire",
|
||||||
|
idRole: role.id,
|
||||||
|
}).returning();
|
||||||
|
|
||||||
|
assertExists(created);
|
||||||
|
assertEquals(created.id, "durand.claire");
|
||||||
|
assertEquals(created.nom, "Durand");
|
||||||
|
},
|
||||||
|
sanitizeResources: false,
|
||||||
|
sanitizeOps: false,
|
||||||
|
});
|
||||||
|
|
||||||
|
Deno.test({
|
||||||
|
name: "integration: cleanup - close pool",
|
||||||
|
async fn() {
|
||||||
|
await closeTestPool();
|
||||||
|
},
|
||||||
|
sanitizeResources: false,
|
||||||
|
sanitizeOps: false,
|
||||||
|
});
|
||||||
Reference in New Issue
Block a user