public void GetBookingsByBusinessBetweenDatesForInvalidDatesThrowsException() { // Arrange DateTime startDate = new DateTime(2012, 1, 5, 0, 0, 0, DateTimeKind.Utc); DateTime endDate = new DateTime(2012, 1, 2, 0, 0, 0, DateTimeKind.Utc); long businessId = 3; var bookingDao = new Mock<IBookingDao>(); var orderDao = new Mock<IOrderDao>(); DiaryDataRetrievalManager manager = new DiaryDataRetrievalManager(); bookingDao.Setup(x => x.GetBetweenDates(businessId, startDate, endDate, It.IsAny<string>())).Returns(new List<Booking>()); orderDao.Setup(o => o.GetByKey(It.IsAny<int>(), It.IsAny<string>(), It.IsAny<string>(), It.IsAny<string>(), It.IsAny<GetOrderWithBookingsByEnum>())).Returns(new Order()); manager.BookingDao = bookingDao.Object; manager.OrderDao = orderDao.Object; // act CheckForEviivoException<ValidationException>(() => manager.GetBookingsByBusinessBetweenDates(businessId, startDate, endDate), "Wrong dates did not throw correct error code.", "SRVEX30002"); // assert bookingDao.Verify(b => b.GetBetweenDates(businessId, startDate, endDate, It.IsAny<string>()), Times.Never()); orderDao.Verify(o => o.GetByKey(It.IsAny<int>(), It.IsAny<string>(), It.IsAny<string>(), It.IsAny<string>(), It.IsAny<GetOrderWithBookingsByEnum>()), Times.Never()); }
public void GetBookingsByBusinessBetweenDatesValidDatesCallsDao() { // Arrange // Parameters for the invoke var startDate = new DateTime(2012, 1, 1, 0, 0, 0, DateTimeKind.Utc); var endDate = new DateTime(2012, 1, 5, 0, 0, 0, DateTimeKind.Utc); long businessId = 1; var bookingDao = new Mock<IBookingDao>(); var diaryDataRetrievalMgr = new DiaryDataRetrievalManager { BookingDao = bookingDao.Object }; // Create a list with 2 entries var bookingData = new List<Booking> { new Booking { Id = 12345, BookingReferenceNumber = "B123" }, new Booking { Id = 54321, BookingReferenceNumber = "B321" } }; bookingDao.Setup(x => x.GetBetweenDates(businessId, startDate, endDate, It.IsAny<string>())).Returns(bookingData); // Act var bookings = diaryDataRetrievalMgr.GetBookingsByBusinessBetweenDates(businessId, startDate, endDate); // Assert Assert.AreEqual(2, bookings.Count, "Check that correct number of bookings are returned."); bookingDao.Verify(x => x.GetBetweenDates(businessId, startDate, endDate, It.IsAny<string>()), Times.Once); }