public void WhenGetFleetSummaryStatistics_CalculatesAcrossVehicles()
        {
            var fillups1 = new[]
            {
                new FillupEntry {
                    Date = DateTime.UtcNow.AddDays(-1), PricePerUnit = 1.0, TotalUnits = 10
                },
                new FillupEntry {
                    Date = DateTime.UtcNow, PricePerUnit = 1.0, TotalUnits = 10
                }
            };

            var fillups2 = new[]
            {
                new FillupEntry {
                    Date = DateTime.UtcNow.AddDays(-1), PricePerUnit = 1.0, TotalUnits = 10
                },
                new FillupEntry {
                    Date = DateTime.UtcNow, PricePerUnit = 1.0, TotalUnits = 10
                },
                new FillupEntry
                {
                    Date           = DateTime.UtcNow,
                    PricePerUnit   = 1.0,
                    TotalUnits     = 10,
                    TransactionFee = 5.0
                }
            };

            var vehicle1 = new Vehicle {
                VehicleId = 1
            };
            var vehicle2 = new Vehicle {
                VehicleId = 2
            };

            var mockVehicleRepository = new Mock <IVehicleRepository>();
            var mockFillupsRepository = new Mock <IFillupRepository>();

            mockVehicleRepository
            .Setup(x => x.GetVehicles(DefaultUserId))
            .Returns(new[] { vehicle1, vehicle2 });

            mockFillupsRepository
            .Setup(x => x.GetFillups(vehicle1.VehicleId))
            .Returns(fillups1);

            mockFillupsRepository
            .Setup(x => x.GetFillups(vehicle2.VehicleId))
            .Returns(fillups2);

            var handler = new GetFleetSummaryStatistics(mockVehicleRepository.Object, mockFillupsRepository.Object);

            var actual = handler.Execute(DefaultUserId);

            Assert.NotNull(actual);
            Assert.Equal(30, actual.TotalFuelCost);
            Assert.Equal(35, actual.TotalCost);
        }
Example #2
0
 public GetDashboardController(GetFleetSummaryStatistics getFleetSummaryStatistics, GetImminentRemindersForUser getImminentReminders)
 {
     this.getFleetSummaryStatistics = getFleetSummaryStatistics;
     this.getImminentReminders      = getImminentReminders;
 }