58 lines
1.3 KiB
Swift
58 lines
1.3 KiB
Swift
import Dependencies
|
|
import Foundation
|
|
import SharedModels
|
|
import Testing
|
|
import URLRouting
|
|
|
|
@Suite("VendorBranchViewRouteTests")
|
|
struct VendorBranchViewRouteTests {
|
|
let router = ViewRoute.router
|
|
|
|
@Test
|
|
func create() throws {
|
|
let id = UUID(0)
|
|
var request = URLRequestData(
|
|
method: "POST",
|
|
path: "/vendors/branches",
|
|
body: .init("name=Test&vendorID=\(id)".utf8)
|
|
)
|
|
let route = try router.parse(&request)
|
|
#expect(route == .vendorBranch(.create(.init(name: "Test", vendorID: id))))
|
|
}
|
|
|
|
@Test
|
|
func delete() throws {
|
|
let id = UUID(0)
|
|
var request = URLRequestData(
|
|
method: "DELETE",
|
|
path: "/vendors/branches/\(id)"
|
|
)
|
|
let route = try router.parse(&request)
|
|
#expect(route == .vendorBranch(.delete(id: id)))
|
|
}
|
|
|
|
@Test
|
|
func index() throws {
|
|
let id = UUID(0)
|
|
var request = URLRequestData(
|
|
method: "GET",
|
|
path: "/vendors/branches",
|
|
query: ["vendorID": ["\(id)"]]
|
|
)
|
|
let route = try router.parse(&request)
|
|
#expect(route == .vendorBranch(.index(for: id)))
|
|
}
|
|
|
|
@Test
|
|
func select() throws {
|
|
var request = URLRequestData(
|
|
method: "GET",
|
|
path: "/vendors/branches/select",
|
|
query: ["context": ["purchaseOrderForm"]]
|
|
)
|
|
let route = try router.parse(&request)
|
|
#expect(route == .vendorBranch(.select(context: .purchaseOrderForm)))
|
|
}
|
|
|
|
}
|