public async Task CartSummaryComponent_Returns_CartedItems() { // Arrange var viewContext = new ViewContext() { HttpContext = new DefaultHttpContext() }; // Session initialization var cartId = "CartId_A"; viewContext.HttpContext.Session = new TestSession(); viewContext.HttpContext.Session.SetString("Session", cartId); // DbContext initialization var dbContext = _serviceProvider.GetRequiredService<MusicStoreContext>(); PopulateData(dbContext, cartId, albumTitle: "AlbumA", itemCount: 10); // CartSummaryComponent initialization var cartSummaryComponent = new CartSummaryComponent(dbContext) { ViewComponentContext = new ViewComponentContext() { ViewContext = viewContext } }; // Act var result = await cartSummaryComponent.InvokeAsync(); // Assert Assert.NotNull(result); var viewResult = Assert.IsType<ViewViewComponentResult>(result); Assert.Null(viewResult.ViewName); Assert.Null(viewResult.ViewData.Model); Assert.Equal(10, cartSummaryComponent.ViewBag.CartCount); Assert.Equal("AlbumA", cartSummaryComponent.ViewBag.CartSummary); }
public async Task CartSummaryComponent_Returns_CartedItems() { // Arrange var viewContext = new ViewContext() { HttpContext = new DefaultHttpContext() }; // Session initialization var cartId = "CartId_A"; viewContext.HttpContext.Session = new TestSession(); viewContext.HttpContext.Session.SetString("Session", cartId); // DbContext initialization var dbContext = _serviceProvider.GetRequiredService <MusicStoreContext>(); PopulateData(dbContext, cartId, albumTitle: "AlbumA", itemCount: 10); // CartSummaryComponent initialization var cartSummaryComponent = new CartSummaryComponent(dbContext) { ViewComponentContext = new ViewComponentContext() { ViewContext = viewContext } }; // Act var result = await cartSummaryComponent.InvokeAsync(); // Assert Assert.NotNull(result); var viewResult = Assert.IsType <ViewViewComponentResult>(result); Assert.Null(viewResult.ViewName); Assert.Null(viewResult.ViewData.Model); Assert.Equal(10, cartSummaryComponent.ViewBag.CartCount); Assert.Equal("AlbumA", cartSummaryComponent.ViewBag.CartSummary); }