feat: Adds api route tests. Tested user interface works as expected, still needs some work on vendors form.
This commit is contained in:
@@ -8,7 +8,7 @@ private let viewProtectedMiddleware: [any Middleware] = [
|
||||
UserPasswordAuthenticator(),
|
||||
UserSessionAuthenticator(),
|
||||
User.redirectMiddleware { req in
|
||||
"/login?next=\(req.url)"
|
||||
"/login?next=\(req.url.string)"
|
||||
}
|
||||
]
|
||||
|
||||
@@ -43,6 +43,7 @@ extension SharedModels.ViewRoute {
|
||||
let token = try await users.login(.init(username: login.username, password: login.password))
|
||||
let user = try await users.get(token.userID)!
|
||||
request.session.authenticate(user)
|
||||
request.logger.info("Logged in next: \(login.next ?? "N/A")")
|
||||
return await request.render {
|
||||
MainPage.loggedIn(next: login.next)
|
||||
}
|
||||
@@ -197,7 +198,10 @@ extension SharedModels.ViewRoute.PurchaseOrderRoute.Search {
|
||||
MainPage(displayNav: true, route: .purchaseOrders) {
|
||||
div(.class("container"), .id("purchase-order-content")) {
|
||||
search
|
||||
PurchaseOrderTable(page: .init(items: [], metadata: .init(page: 0, per: 50, total: 0)))
|
||||
PurchaseOrderTable(
|
||||
page: .init(items: [], metadata: .init(page: 0, per: 50, total: 0)),
|
||||
context: .search
|
||||
)
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -212,7 +216,7 @@ extension SharedModels.ViewRoute.PurchaseOrderRoute.Search {
|
||||
}
|
||||
return await request.render { html }
|
||||
|
||||
case let .search(context):
|
||||
case let .request(context):
|
||||
let results = try await database.purchaseOrders.search(context.toDatabaseQuery(), .init(page: 1, per: 25))
|
||||
return await request.render {
|
||||
PurchaseOrderTable(page: results, context: .search)
|
||||
|
||||
Reference in New Issue
Block a user