public Order ToModel(int id) { return(new Order() { ID = id, Email = Email, Updates = Updates, FirstName = FirstName, LastName = LastName, ShippingMethod = ShippingMethod, ShippingPrice = ShippingPrice, PaymentMethod = PaymentMethod, BillingStreet = BillingStreet, BillingApartment = BillingApartment, BillingCity = BillingCity, BillingCountry = BillingCountry, BillingZip = BillingZip, ShippingStreet = ShippingStreet, ShippingApartment = ShippingApartment, ShippingCity = ShippingCity, ShippingCountry = ShippingCountry, ShippingZip = ShippingZip, VAT = VAT, OrderProducts = OrderProducts.Select(opf => opf.ToModel()).ToList() }); }
public async Task ShouldReturnScheduleInputOrderObjectWhenScheduleTypeIsDay() { _mockDayComparable.Setup(x => x.Compare(It.IsAny <DayOfWeek>())).Returns(true); var scheduleOrder = new ScheduleOrder( _mockGasStationScheduleRepo.Object , _mockGasStationScheduleByDayRepo.Object , _mockGasStationTanksScheduleRepo.Object , _mockGasStationScheduleByTimeRepo.Object , _mockDayComparable.Object , _mockTimeIntervalComparable.Object , _mockOrderRepository.Object ); var gasStation = _orderData.GasStations.First(); var result = await scheduleOrder.CreateAsync((gasStation, _orderData.OrderStrategies.First().OrderType)); Assert.True(result.IsSuccess); var lineItemsTankIds = result.Entity !.OrderProducts.Select(x => x.TankId).ToList(); var gasStationScheduleTanks = _orderData.GasStationTankSchedules.Where(x => x.TankId == 1 || x.TankId == 2).ToList(); _mockDayComparable.Verify(x => x.Compare(It.IsAny <DayOfWeek>()), Times.Once); Assert.Equal(OrderType.Schedule, result.Entity !.OrderType); Assert.Equal(2, result.Entity !.OrderProducts.Count()); Assert.True(lineItemsTankIds.Exists(x => x == gasStationScheduleTanks .FirstOrDefault().TankId)); Assert.True(lineItemsTankIds.Exists(x => x == gasStationScheduleTanks .LastOrDefault().TankId)); Assert.Equal(result.Entity !.OrderProducts.FirstOrDefault( x => x.TankId == gasStationScheduleTanks.FirstOrDefault().TankId) .Quantity, gasStationScheduleTanks.FirstOrDefault().Quantity); Assert.Equal(result.Entity !.OrderProducts.FirstOrDefault( x => x.TankId == gasStationScheduleTanks.LastOrDefault().TankId) .Quantity, gasStationScheduleTanks.LastOrDefault().Quantity); }