public void GetByBookingWithInValidBookingExpectNoBookingItemsReturned() { //Arrange var bookingItemManager = new BookingItemManager(); const int BOOKING_ID = -1; var bookingItemDao = MockRepository.GenerateMock<IBookingItemDao>(); bookingItemManager.BookingItemDao = bookingItemDao; bookingItemDao.Stub(b => b.GetByBooking(BOOKING_ID)).Return(null); // Act var bookingItemsReturned = bookingItemManager.GetByBooking(BOOKING_ID); // Assert Assert.IsNull(bookingItemsReturned, "BookingItems are not null."); }
public void GetByBookingWithValidBookingExpectBookingItemsReturned() { //Arrange var bookingItemManager = new BookingItemManager(); const int BOOKING_ID = 1; var bookingItems = new List<BookingItem> { new BookingItem { Id = 1 }, new BookingItem { Id = 2 } }; var bookingItemDao = MockRepository.GenerateMock<IBookingItemDao>(); bookingItemManager.BookingItemDao = bookingItemDao; bookingItemDao.Stub(b => b.GetByBooking(BOOKING_ID)).Return(bookingItems); // Act var bookingItemsReturned = bookingItemManager.GetByBooking(BOOKING_ID); // Assert Assert.IsNotNull(bookingItemsReturned, "BookingItems are null."); Assert.AreEqual(bookingItems, bookingItemsReturned, "BookingItems return are not correct."); }
public void GetBookingChargesWithValidBookingExpectBookingItemsReturned() { //Arrange var bookingItemManager = new BookingItemManager(); const int BOOKING_ID = 1; var bookingItems = new List<BookingItem> { new BookingItem { Id = 1, ItemType = ItemTypeEnum.Charge }, new BookingItem { Id = 2, ItemType = ItemTypeEnum.Discount }, new BookingItem { Id = 3, ItemType = ItemTypeEnum.Breakfast } }; var bookingItemDao = MockRepository.GenerateMock<IBookingItemDao>(); bookingItemManager.BookingItemDao = bookingItemDao; bookingItemDao.Stub(b => b.GetByBooking(BOOKING_ID)).Return(bookingItems); bookingItemDao.Expect(b => b.GetConstituentsByItemId(Arg<int>.Is.Equal(1))).Return(new List<BookingConstituent>()).Repeat.Once(); bookingItemDao.Expect(b => b.GetConstituentsByItemId(Arg<int>.Is.Equal(2))).Return(new List<BookingConstituent>()).Repeat.Once(); // Act var bookingItemsReturned = bookingItemManager.GetBookingCharges(BOOKING_ID); // Assert Assert.IsNotNull(bookingItemsReturned, "BookingItems are null."); Assert.AreEqual(2, bookingItemsReturned.Count, "BookingItems returned are not correct."); foreach (var bookingItem in bookingItemsReturned) { Assert.IsTrue(bookingItem.ItemType == ItemTypeEnum.Charge || bookingItem.ItemType == ItemTypeEnum.Discount, "Booking item type returned is not correct."); } bookingItemDao.VerifyAllExpectations(); }
public void DeleteBookingItemCallsCorrectMethod() { //Arrange const int BOOKING_ITEM_ID = 1; var bookingItemManager = new BookingItemManager(); var bookingItemDao = MockRepository.GenerateMock<IBookingItemDao>(); bookingItemManager.BookingItemDao = bookingItemDao; bookingItemDao.Expect(b => b.CancelItem(Arg<int>.Is.Anything)).Return(true); // Act bookingItemManager.DeleteBookingItem(BOOKING_ITEM_ID); // Assert bookingItemDao.VerifyAllExpectations(); }
public void CreateBookingChargeWithInvalidChargeThrowsValidationException() { //Arrange var bookingItemManager = new BookingItemManager(); var bookingItem = new BookingItem { BookingId = 1, EventDate = DateTime.UtcNow, Charge = new Charge() }; // Act bookingItemManager.CreateBookingCharge(bookingItem); // Assert Assert.Fail("No validation exception was thrown"); }
public void CreateBookingChargeCallsCorrectMethod() { //Arrange var bookingItemManager = new BookingItemManager(); var bookingItem = new BookingItem { BookingId = 1, EventDate = DateTime.UtcNow, Charge = new Charge { Id = 1, ChargeCategory = new ChargeCategory { Id = 1, Name = "Category" }, ChargeCostType = new ChargeCostType { Type = ChargeCostTypeEnum.Variable }, ChargeType = new ChargeType { Type = ChargeTypeEnum.Charge }, Name = "Charge" } }; var bookingItemDao = MockRepository.GenerateMock<IBookingItemDao>(); bookingItemManager.BookingItemDao = bookingItemDao; bookingItemDao.Expect(b => b.CreateBookingCharge(Arg<BookingItem>.Is.Anything)).WhenCalled(delegate { bookingItem.Id = 1; }); // Act bookingItemManager.CreateBookingCharge(bookingItem); // Assert bookingItemDao.VerifyAllExpectations(); }