public CruiseDataServiceTests() { _mockCruiseDataService = new MockCruiseDataService(); var ships = _mockCruiseDataService.InMemoryShipsData.AsQueryable(); var bookings = _mockCruiseDataService.InMemoryBookingsData.AsQueryable(); var salesUnits = _mockCruiseDataService.InMemorySalesUnitData.AsQueryable(); _mockShipSet = new Mock <DbSet <Ship> >(); _mockBookingSet = new Mock <DbSet <Booking> >(); _mockSalesUnitSet = new Mock <DbSet <SalesUnit> >(); _mockShipSet.As <IQueryable <Ship> >().Setup(m => m.Provider).Returns(ships.Provider); _mockShipSet.As <IQueryable <Ship> >().Setup(m => m.Expression).Returns(ships.Expression); _mockShipSet.As <IQueryable <Ship> >().Setup(m => m.ElementType).Returns(ships.ElementType); _mockShipSet.As <IQueryable <Ship> >().Setup(m => m.GetEnumerator()).Returns(ships.GetEnumerator()); _mockBookingSet.As <IQueryable <Booking> >().Setup(m => m.Provider).Returns(bookings.Provider); _mockBookingSet.As <IQueryable <Booking> >().Setup(m => m.Expression).Returns(bookings.Expression); _mockBookingSet.As <IQueryable <Booking> >().Setup(m => m.ElementType).Returns(bookings.ElementType); _mockBookingSet.As <IQueryable <Booking> >().Setup(m => m.GetEnumerator()).Returns(bookings.GetEnumerator()); _mockSalesUnitSet.As <IQueryable <SalesUnit> >().Setup(m => m.Provider).Returns(salesUnits.Provider); _mockSalesUnitSet.As <IQueryable <SalesUnit> >().Setup(m => m.Expression).Returns(salesUnits.Expression); _mockSalesUnitSet.As <IQueryable <SalesUnit> >().Setup(m => m.ElementType).Returns(salesUnits.ElementType); _mockSalesUnitSet.As <IQueryable <SalesUnit> >().Setup(m => m.GetEnumerator()).Returns(salesUnits.GetEnumerator()); _mockContext = new Mock <CruiseDbContext>(); _mockContext.Setup(c => c.Ships).Returns(_mockShipSet.Object); _mockContext.Setup(c => c.Bookings).Returns(_mockBookingSet.Object); _mockContext.Setup(c => c.SalesUnits).Returns(_mockSalesUnitSet.Object); _sut = new CruiseDataService(_mockContext.Object); }
public void GetSalesUnitSalesData_GetAction__Should_Return_CorrectNumberOfSales() { var startDate = DateTimeOffset.Parse("2015-07-24T00:00:00Z").UtcDateTime; var endDate = DateTimeOffset.Parse("2016-05-09T00:00:00Z").UtcDateTime; var mockedSalesUnitData = new MockCruiseDataService().GetSalesUnitSalesData(startDate, endDate); _mockCruiseDataService.Setup(repo => repo.GetSalesUnitSalesData(It.IsAny <DateTime>(), It.IsAny <DateTime>())).Returns(mockedSalesUnitData); var result = _sut.GetSalesUnitSalesData(startDate, endDate).Result; Assert.IsType <OkObjectResult>(result); OkObjectResult resultValue = result as OkObjectResult; var resultCollection = resultValue.Value as IEnumerable <SalesUnitSalesData>; Assert.Equal(3, resultCollection.Count()); }