private TestDotvvmRequestContext PrepareRequest( string fileName, PostbackRequestModel postback = null ) { var context = DotvvmTestHelper.CreateContext(configuration); context.CsrfToken = null; context.Route = new Framework.Routing.DotvvmRoute( "testpage", fileName, null, null, configuration); var httpContext = (TestHttpContext)context.HttpContext; if (postback is object) { httpContext.Request.Method = "POST"; httpContext.Request.Headers["X-DotVVM-PostBack"] = new[] { "true" }; httpContext.Request.Body = new MemoryStream( new UTF8Encoding(false).GetBytes( JsonConvert.SerializeObject(postback) ) ); } return(context); }
public async Task <CommandRunResult> RunCommand( string filePath, PostbackRequestModel model) { var request = PrepareRequest(filePath, model); await presenter.ProcessRequest(request); return(CreateCommandResult(request)); }