public ActionResult GetGraphAverageSummary() { var monthData = MonthStatsHelper.GetMonthsData(_context.Orders); var stats = MonthStatsHelper.GetMonthsAvgValuation(monthData, _context.Products); return(Ok(stats)); }
public void GetMonthsAvgValuation_MultiProducts_ReturnsMonthDataCollection() { #region Arrange var products = new List <Product>() { new Product { Id = 1, IsDeleted = false, Name = "Vyrobek1", Price = 256 }, new Product { Id = 2, IsDeleted = false, Name = "Vyrobek2", Price = 20 } }; var mockDbSet = MockHelper.GetMockDbSet <Product>(products); var monthdata = new List <MonthBaseDto> { new MonthBaseDto { MonthId = 5, ProductsIds = new List <int> { 1, 2 } } }; #endregion #region Act var res = MonthStatsHelper.GetMonthsAvgValuation(monthdata, mockDbSet.Object); decimal avgResult = 0; foreach (var customerAvgValuationDto in res) { avgResult += customerAvgValuationDto.TotalSum; } #endregion #region Assert var expectedResult = 138; Assert.Equal(expectedResult, avgResult); #endregion }
public void GetMonthsData_WithOneOrder_ReturnsProductIdentifiers() { #region Arrange var ctx = new Mock <CustomerStatsContext>(); var orders = new List <Order>() { new Order { Id = 1, CreationDate = new DateTime(2019, 5, 15), CustomerId = 1, OrderProducts = new List <OrderProduct> { new OrderProduct { OrderProductId = Guid.NewGuid().ToString(), Product = new Product { Id = 1, IsDeleted = false, Name = "Vyrobek1", Price = 256 }, ProductId = 1 } } }, }; var mockDbSet = MockHelper.GetMockDbSet <Order>(orders); ctx.Setup(c => c.Set <Order>()).Returns(mockDbSet.Object); #endregion #region Act var monthData = MonthStatsHelper.GetMonthsData(mockDbSet.Object.AsQueryable() as DbSet <Order>).ToList(); var resultEntity = monthData.SelectMany(c => c.ProductsIds).ToList(); #endregion #region Assert Assert.Equal(1, resultEntity.Select(c => c).SingleOrDefault()); #endregion }