102 lines
2.2 KiB
Swift
102 lines
2.2 KiB
Swift
import Dependencies
|
|
import Foundation
|
|
import SharedModels
|
|
import Testing
|
|
import URLRouting
|
|
|
|
@Suite("EmployeeViewRouteTests")
|
|
struct EmployeeViewRouteTests {
|
|
let router = SiteRoute.View.router
|
|
|
|
@Test
|
|
func employeeCreate() throws {
|
|
var request = URLRequestData(
|
|
method: "POST",
|
|
path: "/employees",
|
|
body: .init("firstName=Blob&lastName=Esquire&active=true".utf8)
|
|
)
|
|
let route = try router.parse(&request)
|
|
#expect(
|
|
route == .employee(.create(.init(firstName: "Blob", lastName: "Esquire", active: true)))
|
|
)
|
|
}
|
|
|
|
// @Test
|
|
// func employeeDelete() throws {
|
|
// let id = UUID(0)
|
|
// var request = URLRequestData(
|
|
// method: "DELETE",
|
|
// path: "/employees/\(id)"
|
|
// )
|
|
// let route = try router.parse(&request)
|
|
// #expect(
|
|
// route == .employee(.delete(id: id))
|
|
// )
|
|
// }
|
|
|
|
@Test
|
|
func employeeForm() throws {
|
|
var request = URLRequestData(
|
|
method: "GET",
|
|
path: "/employees/create"
|
|
)
|
|
let route = try router.parse(&request)
|
|
#expect(
|
|
route == .employee(.form)
|
|
)
|
|
}
|
|
|
|
@Test
|
|
func employeeGet() throws {
|
|
let id = UUID(0)
|
|
var request = URLRequestData(
|
|
method: "GET",
|
|
path: "/employees/\(id)"
|
|
)
|
|
let route = try router.parse(&request)
|
|
#expect(
|
|
route == .employee(.get(id: id))
|
|
)
|
|
}
|
|
|
|
@Test
|
|
func employeeIndex() throws {
|
|
var request = URLRequestData(
|
|
method: "GET",
|
|
path: "/employees"
|
|
)
|
|
let route = try router.parse(&request)
|
|
#expect(
|
|
route == .employee(.index)
|
|
)
|
|
}
|
|
|
|
@Test
|
|
func employeeUpdate() throws {
|
|
let id = UUID(0)
|
|
var request = URLRequestData(
|
|
method: "PUT",
|
|
path: "/employees/\(id)",
|
|
body: .init("firstName=Blob&lastName=Esquire&active=true".utf8)
|
|
)
|
|
let route = try router.parse(&request)
|
|
#expect(
|
|
route == .employee(.update(
|
|
id: id,
|
|
updates: .init(firstName: "Blob", lastName: "Esquire", active: true)
|
|
))
|
|
)
|
|
}
|
|
|
|
@Test
|
|
func employeeSelect() throws {
|
|
var request = URLRequestData(
|
|
method: "GET",
|
|
path: "/employees/select",
|
|
query: ["context": ["purchaseOrderForm"]]
|
|
)
|
|
let route = try router.parse(&request)
|
|
#expect(route == .employee(.select(context: .purchaseOrderForm)))
|
|
}
|
|
}
|