import Dependencies import Foundation import SharedModels import Testing import URLRouting @Suite("VendorViewRouteTests") struct VendorViewRouteTests { let router = SiteRoute.View.router @Test func create() throws { var request = URLRequestData( method: "POST", path: "/vendors", body: .init("name=Test".utf8) ) let route = try router.parse(&request) #expect(route == .vendor(.create(.init(name: "Test")))) } // @Test // func delete() throws { // let id = UUID(0) // var request = URLRequestData( // method: "DELETE", // path: "/vendors/\(id)" // ) // let route = try router.parse(&request) // #expect(route == .vendor(.delete(id: id))) // } @Test func get() throws { let id = UUID(0) var request = URLRequestData( method: "GET", path: "/vendors/\(id)" ) let route = try router.parse(&request) #expect(route == .vendor(.get(id: id))) } @Test func form() throws { var request = URLRequestData( method: "GET", path: "/vendors/create" ) let route = try router.parse(&request) #expect(route == .vendor(.form)) } @Test func index() throws { var request = URLRequestData( method: "GET", path: "/vendors" ) let route = try router.parse(&request) #expect(route == .vendor(.index)) } @Test func update() throws { let id = UUID(0) var request = URLRequestData( method: "PUT", path: "/vendors/\(id)", body: .init("name=Test".utf8) ) let route = try router.parse(&request) #expect(route == .vendor(.update(id: id, updates: .init(name: "Test")))) } }