Implemented phase 1 for the POC prototype in the Website service.

This commit is contained in:
javier committed 2026-09-21 11:16:52 +02:00
1 parent 6d7ab4bcba
commit ea89ea892a
37 files changed
+4173 -43

No files matched your search

+54
View File
@@ -58,6 +58,60 @@ struct AppTests {
}
}
@Test
func `landing page to list the seeded catalogue`() async throws {
try await app(
staticFilesPath: staticFilesPath
).test(.router) { client in
try await client.execute(
uri: "/",
method: .get
) { response in
let body = String(buffer: response.body)
#expect(body.contains("New in single issues"))
#expect(body.contains(#"href="/listing/nightward-1-cgc-9-8""#))
}
}
}
@Test(arguments: [
"/search?q=nightward",
"/listing/nightward-1-cgc-9-8",
"/shop/kestrel-row-comics",
])
func `catalogue page to be served with the security headers`(
uri: String
) async throws {
try await app(
staticFilesPath: staticFilesPath
).test(.router) { client in
try await client.execute(
uri: uri,
method: .get
) { response in
#expect(response.status == .ok)
#expect(response.headers[.contentType] == "text/html; charset=utf-8")
#expect(response.headers[.contentSecurityPolicy] != nil)
}
}
}
@Test
func `error page to be served for an unknown listing`() async throws {
try await app(
staticFilesPath: staticFilesPath
).test(.router) { client in
try await client.execute(
uri: "/listing/missing",
method: .get
) { response in
#expect(response.status == .notFound)
#expect(String(buffer: response.body).contains("Page Not Found"))
}
}
}
@Test
func `landing page to answer a head request`() async throws {
try await app(