public async Task CreateBookingForTwoSeat() { // Arrange using (var context = DbContextHelper.GetInMemoryDbContext()) { var service = new BookingService(context); Guid id = Guid.NewGuid(); var booking = new Booking() { Id = id.ToString(), Date = DateTime.Now, ScheduleId = _seedService.EvenSchedules.First().Id, BookingPositions = new List <BookingPosition> { new BookingPosition { BookingId = id.ToString(), ServicePlacePositionId = _seedService.ServicePlacePositions[1].Id }, new BookingPosition { BookingId = id.ToString(), ServicePlacePositionId = _seedService.ServicePlacePositions[2].Id }, } }; int expectedSeat = 2; // Act var bookingFromDb = await service.CreateBookingAsync(booking); // Assert Assert.True(booking.BookingPositions.Count == expectedSeat); } }
public void CreateBookingAsync_ShouldThrowArgumentNullException_WhenArgumentIsNull( BookingService bookingService) { // ARRANGE CreateBookingDTO createBooking = null; // ACT Func <Task <int> > result = async() => await bookingService.CreateBookingAsync(createBooking); // ASSERT result.Should().Throw <ArgumentNullException>() .WithMessage("*createBooking*"); }
public void CreateBookingAsync_ShouldValidationException_WhenEmailAddressIsInvalid( CreateBookingDTO createBooking, BookingService bookingService) { // ARRANGE createBooking.Name = "nbnb"; // ACT Func <Task <int> > result = async() => await bookingService.CreateBookingAsync(createBooking); // ASSERT result.Should().Throw <ValidationException>() .WithMessage("Booking is invalid"); }
public async Task CreateBookingAsync_ShouldAddBooking_WhenThereIsNoErrors( CreateBookingDTO createBooking, [Frozen] IRepository <Booking> bookingRepository, BookingService bookingService) { // ARRANGE createBooking.EmailAddress = "*****@*****.**"; bookingRepository.CreateAsync(Arg.Any <Booking>()).Returns(1); // ACT var result = await bookingService.CreateBookingAsync(createBooking); // ASSERT result.Should().Be(1); }
public void CreateBookingAsync_ShouldValidationException_WhenContactNumberIsEmpty( CreateBookingDTO createBooking, BookingService bookingService) { // ARRANGE createBooking.Name = "nbnb"; createBooking.EmailAddress = "*****@*****.**"; createBooking.ContactNumber = ""; // ACT Func <Task <int> > result = async() => await bookingService.CreateBookingAsync(createBooking); // ASSERT result.Should().Throw <ValidationException>() .WithMessage("Booking is invalid"); }