public void GivenAllFieldsAreCorrect_WhenAddBooking_ShouldSucceed() { // Arrange var LAddBookingCommand = new AddBookingCommand { GuestFullName = StringProvider.GetRandomString(), GuestPhoneNumber = StringProvider.GetRandomString(9), BedroomsNumber = 1, DateFrom = FDateTimeService.Now.AddDays(10), DateTo = FDateTimeService.Now.AddDays(20) }; // Act var LValidator = new AddBookingCommandValidator(FDateTimeService); var LResult = LValidator.Validate(LAddBookingCommand); // Assert LResult.Errors.Should().BeEmpty(); }
public void GivenGuestPhoneNumberTooLong_WhenAddBooking_ShouldThrowError() { // Arrange var LAddBookingCommand = new AddBookingCommand { GuestFullName = StringProvider.GetRandomString(), GuestPhoneNumber = StringProvider.GetRandomString(15), BedroomsNumber = 1, DateFrom = FDateTimeService.Now.AddDays(10), DateTo = FDateTimeService.Now.AddDays(20) }; // Act var LValidator = new AddBookingCommandValidator(FDateTimeService); var LResult = LValidator.Validate(LAddBookingCommand); // Assert LResult.Errors.Count.Should().Be(1); LResult.Errors[0].ErrorCode.Should().Be(nameof(ValidationCodes.PHONE_NUMBER_TOO_LONG)); }
public void GivenNoGuestFullNameAndPhoneNumberProvided_WhenAddBooking_ShouldThrowError() { // Arrange var LAddBookingCommand = new AddBookingCommand { GuestFullName = null, GuestPhoneNumber = null, BedroomsNumber = 1, DateFrom = FDateTimeService.Now.AddDays(10), DateTo = FDateTimeService.Now.AddDays(20) }; // Act var LValidator = new AddBookingCommandValidator(FDateTimeService); var LResult = LValidator.Validate(LAddBookingCommand); // Assert LResult.Errors.Count.Should().Be(2); LResult.Errors[0].ErrorCode.Should().Be(nameof(ValidationCodes.REQUIRED)); LResult.Errors[1].ErrorCode.Should().Be(nameof(ValidationCodes.REQUIRED)); }
public void GivenDateFromAndDateToAreSame_WhenAddBooking_ShouldThrowError(DateTime ADateFrom, DateTime ADateTo, TestCaseDays ACase) { // Arrange var LAddBookingCommand = new AddBookingCommand { GuestFullName = StringProvider.GetRandomString(), GuestPhoneNumber = StringProvider.GetRandomString(9), BedroomsNumber = 1, DateFrom = ADateFrom, DateTo = ADateTo }; // Act var LValidator = new AddBookingCommandValidator(FDateTimeService); var LResult = LValidator.Validate(LAddBookingCommand); // Assert if (ACase is TestCaseDays.Present or TestCaseDays.Future) { LResult.Errors.Count.Should().Be(1); LResult.Errors[0].ErrorCode.Should().Be(nameof(ValidationCodes.START_DATE_AND_END_DATE_CANNOT_BE_SAME)); }