feat: Adds api route tests. Tested user interface works as expected, still needs some work on vendors form.

This commit is contained in:
2025-01-20 16:44:12 -05:00
parent affd9b5d81
commit 410bbae1c8
23 changed files with 537 additions and 121 deletions

View File

@@ -45,7 +45,7 @@ struct PurchaseOrderTable: HTML {
if context != .search {
Button.add()
.attributes(
.hx.get(route: .purchaseOrder(.index)), .hx.target(.id(.float)),
.hx.get(route: .purchaseOrder(.form)), .hx.target(.id(.float)),
.hx.swap(.outerHTML), .hx.pushURL(true)
)
}
@@ -79,9 +79,12 @@ struct PurchaseOrderTable: HTML {
for purchaseOrder in page.items {
Row(purchaseOrder: purchaseOrder)
}
if page.metadata.pageCount > page.metadata.page {
// We set page to 0 when we're on search, but have not completed the search
// form yet, so don't add the infinite scroll row / trigger otherwise it will
// load the first page, which is not what we want, but we need the empty table
// to be available once the search form is completed.
if page.metadata.page > 0, page.metadata.pageCount > page.metadata.page {
tr(
// .hx.get("/purchase-orders/next?page=\(page.metadata.page + 1)&limit=\(page.metadata.per)"),
.hx.get(route: .purchaseOrder(.page(page: page.metadata.page + 1, limit: page.metadata.per))),
.hx.trigger(.event(.revealed)),
.hx.swap(.outerHTML.transition(true).swap("1s")),