|
- Sub Test_Dispatcher_NoMatchDispatchesToNotFound()
- Dim app
- Dim dispatcher
- Dim controllerKey
- Dim controller
-
- Set app = New App
- Set dispatcher = New Dispatcher
- Response.Status = "200 OK"
-
- dispatcher.Dispatch app, Nothing, controllerKey, controller
-
- AssertEquals "NotFound", controllerKey, "A Nothing route match should dispatch to NotFound"
- AssertEquals "404 Not Found", Response.Status, "NotFoundController.Execute should have run and set a 404 status"
- End Sub
-
- Sub Test_Dispatcher_UnknownControllerNameFallsBackToNotFound()
- Dim app
- Dim dispatcher
- Dim controllerKey
- Dim controller
- Dim routeMatch
- Dim params
-
- Set app = New App
- Set dispatcher = New Dispatcher
- Set params = CreateObject("Scripting.Dictionary")
- Set routeMatch = CreateObject("Scripting.Dictionary")
- routeMatch.Add "ControllerName", "SomethingUnregistered"
- routeMatch.Add "Params", params
- Response.Status = "200 OK"
-
- dispatcher.Dispatch app, routeMatch, controllerKey, controller
-
- AssertEquals "NotFound", controllerKey, "An unrecognized controller key should fall back to NotFound"
- AssertEquals "404 Not Found", Response.Status, "The NotFound fallback should still run Execute"
- End Sub
-
- Sub Test_Dispatcher_DispatchesToHome()
- Dim app
- Dim dispatcher
- Dim controllerKey
- Dim controller
- Dim routeMatch
- Dim params
-
- Set app = New App
- Set dispatcher = New Dispatcher
- Set params = CreateObject("Scripting.Dictionary")
- Set routeMatch = CreateObject("Scripting.Dictionary")
- routeMatch.Add "ControllerName", "Home"
- routeMatch.Add "Params", params
-
- dispatcher.Dispatch app, routeMatch, controllerKey, controller
-
- AssertEquals "Home", controllerKey, "A Home route match should dispatch to Home"
- AssertEquals "None", controller.ServiceSummary, "The dispatched controller should be a working HomeController"
- End Sub
-
- Sub Test_Dispatcher_DispatchesToGreetWithParams()
- Dim app
- Dim dispatcher
- Dim controllerKey
- Dim controller
- Dim routeMatch
- Dim params
-
- Set app = New App
- Set dispatcher = New Dispatcher
- Set params = CreateObject("Scripting.Dictionary")
- params.Add "name", "Ada"
- Set routeMatch = CreateObject("Scripting.Dictionary")
- routeMatch.Add "ControllerName", "Greet"
- routeMatch.Add "Params", params
-
- dispatcher.Dispatch app, routeMatch, controllerKey, controller
-
- AssertEquals "Greet", controllerKey, "A Greet route match should dispatch to Greet"
- AssertEquals "Ada", controller.Name, "The dispatched GreetController should receive the captured 'name' param"
- End Sub
-
- RunTest "Dispatcher: no route match dispatches to NotFound", "Test_Dispatcher_NoMatchDispatchesToNotFound"
- RunTest "Dispatcher: unknown controller name falls back to NotFound", "Test_Dispatcher_UnknownControllerNameFallsBackToNotFound"
- RunTest "Dispatcher: dispatches to Home", "Test_Dispatcher_DispatchesToHome"
- RunTest "Dispatcher: dispatches to Greet with params", "Test_Dispatcher_DispatchesToGreetWithParams"
|