public async Task Invoke_Error(String path, String renderedPath) { ILanguages languages = new Languages("en-GB", new[] { new Language { Abbreviation = "en-GB" } }); ILogger <ErrorResponseMiddleware> logger = Substitute.For <ILogger <ErrorResponseMiddleware> >(); HttpContext actual = MvcHelperFactory.CreateViewContext().HttpContext; actual.Request.RouteValues.Add("test", "test"); actual.Request.Path = path; Boolean asserted = false; await new ErrorResponseMiddleware(actual => { if (actual.Request.Path != renderedPath) { throw new Exception(); } asserted = true; return(Task.CompletedTask); }, languages, logger).Invoke(actual); Assert.True(asserted); Assert.Empty(actual.Request.RouteValues); Assert.Equal(renderedPath, actual.Request.Path); Assert.Equal(HttpMethods.Get, actual.Request.Method); }
public SiteMapTests() { context = MvcHelperFactory.CreateViewContext(); authorization = Substitute.For <IAuthorization>(); siteMap = new SiteMap(CreateSiteMap(), authorization); route = context.RouteData.Values; }
public MvcGridExtensionsTests() { Grid <AllTypesView> grid = new(Array.Empty <AllTypesView>()); IHtmlHelper helper = MvcHelperFactory.CreateHtmlHelper(); html = new HtmlGrid <AllTypesView>(helper, grid); columns = new GridColumns <AllTypesView>(grid); context = html.Grid.ViewContext !; }
public TruncatedAttributeTests() { values = new RouteValueDictionary(); attribute = new TruncatedAttribute(); context = new DefaultModelBindingContext(); context.ModelState = new ModelStateDictionary(); context.ModelName = "TruncatedDateTimeParameter"; context.ActionContext = MvcHelperFactory.CreateViewContext(); context.ValueProvider = new RouteValueProvider(BindingSource.Path, values); context.ModelMetadata = new EmptyModelMetadataProvider().GetMetadataForType(typeof(DateTime?)); }
public AuthorizeTagHelperTests() { authorization = Substitute.For <IAuthorization>(); TagHelperContent content = new DefaultTagHelperContent(); helper = new AuthorizeTagHelper(authorization) { ViewContext = MvcHelperFactory.CreateViewContext() }; context = new TagHelperContext(new TagHelperAttributeList(), new Dictionary <Object, Object>(), "test"); output = new TagHelperOutput("authorize", new TagHelperAttributeList(), (_, _) => Task.FromResult(content)); }
public SiteMapNodeTests() { helper = Substitute.For <IUrlHelper>(); ViewContext context = MvcHelperFactory.CreateViewContext(); helper.ActionContext.Returns(context); helper.Action(Arg.Any <UrlActionContext>()).Returns(info => { UrlActionContext context = info.Arg <UrlActionContext>(); RouteValueDictionary route = new(info.Arg <UrlActionContext>().Values); String query = String.Join("&", route.Where(pair => pair.Key != "area").Select(pair => $"{pair.Key}={pair.Value}")); return($"{route["area"]}/{context.Controller}/{context.Action}?{query}"); }); }
public void Process_Url(String? url, String newUrl) { TagHelperContent content = new DefaultTagHelperContent(); IUrlHelperFactory factory = MvcHelperFactory.CreateUrlHelperFactory(null); MvcLookupTagHelper helper = new(Substitute.For<IHtmlGenerator>(), factory); TagHelperContext context = new(new TagHelperAttributeList(), new Dictionary<Object, Object>(), "test"); TagHelperOutput output = new("div", new TagHelperAttributeList(), (_, _) => Task.FromResult(content)); helper.Url = url; helper.Handler = "Handling"; helper.Process(context, output); String? expected = newUrl; String? actual = helper.Url; Assert.Equal(expected, actual); }
public async Task BindModelAsync_DoesNotTrimValue() { DefaultModelBindingContext context = new() { ModelName = "Test", ModelState = new ModelStateDictionary(), ActionContext = MvcHelperFactory.CreateViewContext(), ModelMetadata = new EmptyModelMetadataProvider().GetMetadataForType(typeof(String)), ValueProvider = new RouteValueProvider(BindingSource.Path, new RouteValueDictionary(new { Test = " Value " })) }; await new NotTrimmedAttribute().BindModelAsync(context); ModelBindingResult expected = ModelBindingResult.Success(" Value "); ModelBindingResult actual = context.Result; Assert.Equal(expected, actual); } }
public AppStyleTagHelperTests() { host = Substitute.For <IWebHostEnvironment>(); TagHelperContent content = new DefaultTagHelperContent(); ViewContext viewContext = MvcHelperFactory.CreateViewContext(); IUrlHelperFactory factory = MvcHelperFactory.CreateUrlHelperFactory(viewContext); context = new TagHelperContext(new TagHelperAttributeList(), new Dictionary <Object, Object>(), "test"); output = new TagHelperOutput("link", new TagHelperAttributeList(), (_, _) => Task.FromResult(content)); host.WebRootPath.Returns(Directory.GetCurrentDirectory()); helper = new AppStyleTagHelper(host, factory); helper.ViewContext = viewContext; helper.Action = "Test"; if (Directory.Exists("css")) { Directory.Delete("css", true); } }