public static void AddBreadcrumbs(this IServiceCollection services)
        {
            BreadcrumbsManager breadcrumbsManager = new BreadcrumbsManager();

            breadcrumbsManager.Initialize(typeof(Startup).Assembly, new BreadcrumbOptions());
            services.AddSingleton(breadcrumbsManager);
        }
Esempio n. 2
0
 public HomeController(ILogger <HomeController> logger, IRazorViewEngine viewEngine, BreadcrumbsManager breadcrumbsManager, IOptions <Settings> settings)
 {
     _logger             = logger;
     _viewEngine         = viewEngine;
     _breadcrumbsManager = breadcrumbsManager;
     _settings           = settings.Value;
 }
Esempio n. 3
0
        public BreadcrumbsTagHelper(BreadcrumbsManager breadcrumbsManager,
                                    IActionContextAccessor actionContextAccessor)
        {
            if (breadcrumbsManager == null)
            {
                throw new ArgumentNullException(nameof(breadcrumbsManager));
            }
            if (actionContextAccessor == null)
            {
                throw new ArgumentNullException(nameof(actionContextAccessor));
            }

            _breadcrumbsManager = breadcrumbsManager;
            _urlHelper          = new UrlHelper(actionContextAccessor.ActionContext);
        }
Esempio n. 4
0
        public void BreadCrumbManagerShouldReplaceLabelsCorrectly()
        {
            //Arrange
            var crumbs = new List <Breadcrumb>()
            {
                new Breadcrumb
                {
                    Label = "Course X"
                },
                new Breadcrumb
                {
                    Label = "Course Y"
                },
                new Breadcrumb
                {
                    Label = "Course Z"
                }
            };
            var mockContext = new Mock <HttpContext>();

            mockContext.SetupGet(c => c.Items).Returns(new Dictionary <object, object>()
            {
                { "breadcrumbs", crumbs }
            });

            var httpContextAccessor = new Mock <IHttpContextAccessor>();

            httpContextAccessor.SetupGet(c => c.HttpContext).Returns(mockContext.Object);
            var manager = new BreadcrumbsManager(httpContextAccessor.Object);

            //Act
            manager.ReplaceCrumbForSlug("Course X", "Grapes");
            manager.ReplaceCrumbForSlug("Course Z", "Whiskey");

            //Assert
            Assert.Collection(crumbs,
                              (b) => { Assert.Equal("Grapes", b.Label); },
                              (b) => { Assert.Equal("Course Y", b.Label); },
                              (b) => { Assert.Equal("Whiskey", b.Label); }
                              );
        }
Esempio n. 5
0
 public BreadcrumbsTagHelper(BreadcrumbsManager breadcrumbsManager, IActionContextAccessor actionContextAccessor)
 {
     _breadcrumbsManager = breadcrumbsManager;
     _urlHelper          = new UrlHelper(actionContextAccessor.ActionContext);
 }