feat: Fixes release build failures and get's release dockerfile working.

This commit is contained in:
2025-01-24 16:47:00 -05:00
parent 90c6058d56
commit 978ce8c74f
38 changed files with 233 additions and 217 deletions

View File

@@ -101,80 +101,86 @@ struct ViewControllerTests {
@Test
func userViews() async throws {
try await withDependencies {
$0.dateFormatter = .liveValue
$0.database.users = .mock
$0.viewController = .liveValue
} operation: {
@Dependency(\.database) var database
@Dependency(\.viewController) var viewController
try await withSnapshotTesting(record: record) {
try await withDependencies {
$0.dateFormatter = .liveValue
$0.database.users = .mock
$0.viewController = .liveValue
} operation: {
@Dependency(\.database) var database
@Dependency(\.viewController) var viewController
var htmlString = try await viewController.render(.user(.index))
assertSnapshot(of: htmlString, as: .html)
var htmlString = try await viewController.render(.user(.index))
assertSnapshot(of: htmlString, as: .html)
htmlString = try await viewController.render(.user(.form))
assertSnapshot(of: htmlString, as: .html)
htmlString = try await viewController.render(.user(.form))
assertSnapshot(of: htmlString, as: .html)
htmlString = try await viewController.render(.user(.create(.mock)))
assertSnapshot(of: htmlString, as: .html)
htmlString = try await viewController.render(.user(.create(.mock)))
assertSnapshot(of: htmlString, as: .html)
htmlString = try await viewController.render(.user(.get(id: UUID(0))))
assertSnapshot(of: htmlString, as: .html)
htmlString = try await viewController.render(.user(.get(id: UUID(0))))
assertSnapshot(of: htmlString, as: .html)
htmlString = try await viewController.render(.user(.update(id: UUID(0), updates: .mock)))
assertSnapshot(of: htmlString, as: .html)
htmlString = try await viewController.render(.user(.update(id: UUID(0), updates: .mock)))
assertSnapshot(of: htmlString, as: .html)
}
}
}
@Test
func vendorViews() async throws {
try await withDependencies {
$0.dateFormatter = .liveValue
$0.database.vendors = .mock
$0.viewController = .liveValue
} operation: {
@Dependency(\.database) var database
@Dependency(\.viewController) var viewController
try await withSnapshotTesting(record: record) {
try await withDependencies {
$0.dateFormatter = .liveValue
$0.database.vendors = .mock
$0.viewController = .liveValue
} operation: {
@Dependency(\.database) var database
@Dependency(\.viewController) var viewController
var htmlString = try await viewController.render(.vendor(.index))
assertSnapshot(of: htmlString, as: .html)
var htmlString = try await viewController.render(.vendor(.index))
assertSnapshot(of: htmlString, as: .html)
htmlString = try await viewController.render(.vendor(.form))
assertSnapshot(of: htmlString, as: .html)
htmlString = try await viewController.render(.vendor(.form))
assertSnapshot(of: htmlString, as: .html)
htmlString = try await viewController.render(.vendor(.create(.mock)))
assertSnapshot(of: htmlString, as: .html)
htmlString = try await viewController.render(.vendor(.create(.mock)))
assertSnapshot(of: htmlString, as: .html)
htmlString = try await viewController.render(.vendor(.get(id: UUID(0))))
assertSnapshot(of: htmlString, as: .html)
htmlString = try await viewController.render(.vendor(.get(id: UUID(0))))
assertSnapshot(of: htmlString, as: .html)
htmlString = try await viewController.render(.vendor(.update(id: UUID(0), updates: .mock)))
assertSnapshot(of: htmlString, as: .html)
htmlString = try await viewController.render(.vendor(.update(id: UUID(0), updates: .mock)))
assertSnapshot(of: htmlString, as: .html)
}
}
}
@Test
func vendorBranchViews() async throws {
try await withDependencies {
$0.dateFormatter = .liveValue
$0.database.vendors = .mock
$0.database.vendorBranches = .mock
$0.viewController = .liveValue
} operation: {
@Dependency(\.database) var database
@Dependency(\.viewController) var viewController
try await withSnapshotTesting(record: record) {
try await withDependencies {
$0.dateFormatter = .liveValue
$0.database.vendors = .mock
$0.database.vendorBranches = .mock
$0.viewController = .liveValue
} operation: {
@Dependency(\.database) var database
@Dependency(\.viewController) var viewController
var htmlString = try await viewController.render(.vendorBranch(.index(for: UUID(0))))
assertSnapshot(of: htmlString, as: .html)
var htmlString = try await viewController.render(.vendorBranch(.index(for: UUID(0))))
assertSnapshot(of: htmlString, as: .html)
htmlString = try await viewController.render(.vendorBranch(.select(context: .purchaseOrderSearch)))
assertSnapshot(of: htmlString, as: .html)
htmlString = try await viewController.render(.vendorBranch(.select(context: .purchaseOrderSearch)))
assertSnapshot(of: htmlString, as: .html)
htmlString = try await viewController.render(.vendorBranch(.select(context: .purchaseOrderForm)))
assertSnapshot(of: htmlString, as: .html)
htmlString = try await viewController.render(.vendorBranch(.select(context: .purchaseOrderForm)))
assertSnapshot(of: htmlString, as: .html)
htmlString = try await viewController.render(.vendorBranch(.create(.mock)))
assertSnapshot(of: htmlString, as: .html)
htmlString = try await viewController.render(.vendorBranch(.create(.mock)))
assertSnapshot(of: htmlString, as: .html)
}
}
}
}
@@ -182,14 +188,12 @@ struct ViewControllerTests {
extension ViewController {
func render(_ route: ViewRoute) async throws -> String {
guard let html = try await view(
let html = try await view(
for: route,
isHtmxRequest: true,
logger: .init(label: "tests"),
authenticate: { _ in }
) else {
throw TestError()
}
)
return html.renderFormatted()
}