Moved test database teardown into defer blocks and unified the one-decimal formatting in the Website service.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
javierandClaude Opus 5.5 committed 2026-10-25 12:41:55 +01:00
1 parent 06953a1be0
commit e0524da525
16 files changed
+118 -146

No files matched your search

@@ -256,30 +256,26 @@ private extension AccountAndCollectingControllerTests {
logger: Logger(label: "test")
)()
do {
await PrepareDB()(for: fluent)
try await fluent.migrate()
let accounts = AccountRepository(fluent: fluent)
let catalogue = CatalogueRepository(fluent: fluent)
let collecting = CollectingRepository(fluent: fluent, now: now)
let sessions = SessionStore(trade: .init(fluent: fluent), collecting: collecting)
let router = Router(context: WebsiteRequestContext.self)
router.addRoutes(CatalogueController<WebsiteRequestContext>(repository: catalogue, sessions: sessions, collecting: collecting).routes)
router.addRoutes(SessionController<WebsiteRequestContext>(sessions: sessions, accounts: accounts, catalogue: catalogue).routes)
router.addRoutes(AccountController<WebsiteRequestContext>(accounts: accounts, catalogue: catalogue, sessions: sessions).routes)
router.addRoutes(CollectingController<WebsiteRequestContext>(collecting: collecting, catalogue: catalogue, sessions: sessions).routes)
try await Application(router: router).test(.router, body)
} catch {
defer {
try? await fluent.shutdown()
throw error
}
try await fluent.shutdown()
await PrepareDB()(for: fluent)
try await fluent.migrate()
let accounts = AccountRepository(fluent: fluent)
let catalogue = CatalogueRepository(fluent: fluent)
let collecting = CollectingRepository(fluent: fluent, now: now)
let sessions = SessionStore(trade: .init(fluent: fluent), collecting: collecting)
let router = Router(context: WebsiteRequestContext.self)
router.addRoutes(CatalogueController<WebsiteRequestContext>(repository: catalogue, sessions: sessions, collecting: collecting).routes)
router.addRoutes(SessionController<WebsiteRequestContext>(sessions: sessions, accounts: accounts, catalogue: catalogue).routes)
router.addRoutes(AccountController<WebsiteRequestContext>(accounts: accounts, catalogue: catalogue, sessions: sessions).routes)
router.addRoutes(CollectingController<WebsiteRequestContext>(collecting: collecting, catalogue: catalogue, sessions: sessions).routes)
try await Application(router: router).test(.router, body)
}
}
@@ -110,23 +110,19 @@ private extension CatalogueControllerTests {
logger: Logger(label: "test")
)()
do {
await PrepareDB()(for: fluent)
try await fluent.migrate()
let router = Router(context: WebsiteRequestContext.self)
router.addRoutes(CatalogueController<WebsiteRequestContext>(repository: .init(fluent: fluent)).routes)
try await Application(router: router).test(.router, body)
} catch {
defer {
try? await fluent.shutdown()
throw error
}
try await fluent.shutdown()
await PrepareDB()(for: fluent)
try await fluent.migrate()
let router = Router(context: WebsiteRequestContext.self)
router.addRoutes(CatalogueController<WebsiteRequestContext>(repository: .init(fluent: fluent)).routes)
try await Application(router: router).test(.router, body)
}
}
@@ -204,35 +204,31 @@ private extension ListingFormControllerTests {
logger: Logger(label: "test")
)()
do {
await PrepareDB()(for: fluent)
try await fluent.migrate()
let catalogue = CatalogueRepository(fluent: fluent)
let trade = TradeRepository(fluent: fluent)
let sessions = SessionStore(trade: trade)
let router = Router(context: WebsiteRequestContext.self)
router.addRoutes(CatalogueController<WebsiteRequestContext>(repository: catalogue, sessions: sessions).routes)
router.addRoutes(SessionController<WebsiteRequestContext>(sessions: sessions, accounts: .init(fluent: fluent), catalogue: catalogue).routes)
router.addRoutes(ListingFormController<WebsiteRequestContext>(
catalogue: catalogue,
trade: trade,
sessions: sessions,
photos: .init(staticFilesPath: folder)
).routes)
try await Application(router: router).test(.router) { client in
try await body(client, folder)
}
} catch {
defer {
try? await fluent.shutdown()
throw error
}
try await fluent.shutdown()
await PrepareDB()(for: fluent)
try await fluent.migrate()
let catalogue = CatalogueRepository(fluent: fluent)
let trade = TradeRepository(fluent: fluent)
let sessions = SessionStore(trade: trade)
let router = Router(context: WebsiteRequestContext.self)
router.addRoutes(CatalogueController<WebsiteRequestContext>(repository: catalogue, sessions: sessions).routes)
router.addRoutes(SessionController<WebsiteRequestContext>(sessions: sessions, accounts: .init(fluent: fluent), catalogue: catalogue).routes)
router.addRoutes(ListingFormController<WebsiteRequestContext>(
catalogue: catalogue,
trade: trade,
sessions: sessions,
photos: .init(staticFilesPath: folder)
).routes)
try await Application(router: router).test(.router) { client in
try await body(client, folder)
}
}
}
@@ -156,27 +156,23 @@ private extension PasskeyControllerTests {
logger: Logger(label: "test")
)()
do {
await PrepareDB()(for: fluent)
try await fluent.migrate()
let router = Router(context: WebsiteRequestContext.self)
router.addRoutes(PasskeyController<WebsiteRequestContext>(
origin: "http://localhost:8080",
accounts: .init(fluent: fluent),
sessions: .init()
).routes)
try await Application(router: router).test(.router, body)
} catch {
defer {
try? await fluent.shutdown()
throw error
}
try await fluent.shutdown()
await PrepareDB()(for: fluent)
try await fluent.migrate()
let router = Router(context: WebsiteRequestContext.self)
router.addRoutes(PasskeyController<WebsiteRequestContext>(
origin: "http://localhost:8080",
accounts: .init(fluent: fluent),
sessions: .init()
).routes)
try await Application(router: router).test(.router, body)
}
}
@@ -203,31 +203,27 @@ private extension SessionControllerTests {
logger: Logger(label: "test")
)()
do {
await PrepareDB()(for: fluent)
try await fluent.migrate()
let catalogue = CatalogueRepository(fluent: fluent)
let router = Router(context: WebsiteRequestContext.self)
let sessions = SessionStore()
router.addRoutes(RootController<WebsiteRequestContext>(sessions: sessions).routes)
router.addRoutes(CatalogueController<WebsiteRequestContext>(repository: catalogue, sessions: sessions).routes)
router.addRoutes(SessionController<WebsiteRequestContext>(
sessions: sessions,
accounts: .init(fluent: fluent),
catalogue: catalogue
).routes)
try await Application(router: router).test(.router, body)
} catch {
defer {
try? await fluent.shutdown()
throw error
}
try await fluent.shutdown()
await PrepareDB()(for: fluent)
try await fluent.migrate()
let catalogue = CatalogueRepository(fluent: fluent)
let router = Router(context: WebsiteRequestContext.self)
let sessions = SessionStore()
router.addRoutes(RootController<WebsiteRequestContext>(sessions: sessions).routes)
router.addRoutes(CatalogueController<WebsiteRequestContext>(repository: catalogue, sessions: sessions).routes)
router.addRoutes(SessionController<WebsiteRequestContext>(
sessions: sessions,
accounts: .init(fluent: fluent),
catalogue: catalogue
).routes)
try await Application(router: router).test(.router, body)
}
}
@@ -320,28 +320,24 @@ private extension TradeControllerTests {
logger: Logger(label: "test")
)()
do {
await PrepareDB()(for: fluent)
try await fluent.migrate()
let catalogue = CatalogueRepository(fluent: fluent)
let trade = TradeRepository(fluent: fluent)
let sessions = SessionStore(trade: trade)
let router = Router(context: WebsiteRequestContext.self)
router.addRoutes(CatalogueController<WebsiteRequestContext>(repository: catalogue, sessions: sessions).routes)
router.addRoutes(SessionController<WebsiteRequestContext>(sessions: sessions, accounts: .init(fluent: fluent), catalogue: catalogue).routes)
router.addRoutes(TradeController<WebsiteRequestContext>(trade: trade, catalogue: catalogue, sessions: sessions).routes)
try await Application(router: router).test(.router, body)
} catch {
defer {
try? await fluent.shutdown()
throw error
}
try await fluent.shutdown()
await PrepareDB()(for: fluent)
try await fluent.migrate()
let catalogue = CatalogueRepository(fluent: fluent)
let trade = TradeRepository(fluent: fluent)
let sessions = SessionStore(trade: trade)
let router = Router(context: WebsiteRequestContext.self)
router.addRoutes(CatalogueController<WebsiteRequestContext>(repository: catalogue, sessions: sessions).routes)
router.addRoutes(SessionController<WebsiteRequestContext>(sessions: sessions, accounts: .init(fluent: fluent), catalogue: catalogue).routes)
router.addRoutes(TradeController<WebsiteRequestContext>(trade: trade, catalogue: catalogue, sessions: sessions).routes)
try await Application(router: router).test(.router, body)
}
}