public void MakeSideBySideBookinForSameSpace() { // Arrange var booking_repository = new InMemoryBookingRepository(); var response_handler = new MakeBookingResponseHandler(); var validator = new BookingValidator(); var booking_a = new Booking { Id = 4, Name = "FirstName1 LastName1", Start = new DateTime(2018, 1, 1, 10, 0, 0), End = new DateTime(2018, 1, 1, 11, 0, 0), Space = new Space { Name = "Boardroom" } }; var booking_b = new Booking { Id = 5, Name = "FirstName1 LastName1", Start = new DateTime(2018, 1, 1, 11, 0, 0), End = new DateTime(2018, 1, 1, 12, 0, 0), Space = new Space { Name = "Boardroom" } }; var make_booking_interaction = new MakeBookingInteractor(response_handler, booking_repository, validator); make_booking_interaction.Booking = booking_a; // Act / Assert make_booking_interaction.Execute(); Assert.IsTrue(response_handler.WasSuccessful); make_booking_interaction.Booking = booking_b; make_booking_interaction.Execute(); Assert.IsTrue(response_handler.WasSuccessful); }
public void Validation_Fails_When_Model_Is_Invalid() { //Arrange var validator = new BookingValidator(); var invalidBookingModel = new Booking { BookingID = 11, BookingStatus = 0, CustomerID = 1, FromDate = null, //should fail validation ToDate = "2021-05-30", Location = "Esbjerg", BookingRessources = new List <BookingRessource> { new BookingRessource { BookingRessourceID = 1, Ressource = new Ressource { RessourceID = 2, ModelNR = 4444, ItemName = "Traktor", NumberOfItems = 2 } } }, RowVersion = Encoding.ASCII.GetBytes("AAAAAAAAB9Y=") }; //Act var result = validator.TestValidate(invalidBookingModel); //Assert result.ShouldHaveAnyValidationError(); }
public static BookingValidator GetBookingValidatorInstance() { if (bookingValidator == null) { bookingValidator = new BookingValidator(GetUnitOfWofkInstance()); } return(bookingValidator); }
public BookingController(IBookingService bookingService) { this.bookingService = bookingService; this.toModelMapper = new MapperConfiguration(cfg => cfg.CreateMap <BookingDTO, BookingModel>()).CreateMapper(); this.toDtoMapper = new MapperConfiguration(cfg => cfg.CreateMap <BookingModel, BookingDTO>()).CreateMapper(); this.bookingValidator = new BookingValidator(); }
public TripServicesImpl(AccountRepository accountRepository, TripRepository tripRepository, BookingRepository bookingRepository, AccountValidator accountValidator, TripValidator tripValidator, BookingValidator bookingValidator) { this.accountRepository = accountRepository; this.tripRepository = tripRepository; this.bookingRepository = bookingRepository; this.accountValidator = accountValidator; this.tripValidator = tripValidator; this.bookingValidator = bookingValidator; }
public void Validate(Booking entity) { var validationResults = new BookingValidator().Validate(entity); if (!validationResults.IsValid) { throw new ValidationException("Booking is invalid", validationResults.Errors); } }
public void BookingValidator_ShouldFailIfEndDateTimeIsGreaterThenStartDateTime() { var bookingVal = new BookingValidator(); var booking = new BookingDto { StartDateTime = new DateTime(2018, 08, 22, 12, 00, 00), EndDateTime = new DateTime(2018, 08, 22, 11, 00, 00) }; bookingVal.ShouldHaveValidationErrorFor(e => e.EndDateTime, booking); }
internal override Booking Validate(Action <Booking>?onFail = null) { var validationResults = new BookingValidator().Validate(this); if (!validationResults.IsValid) { onFail?.Invoke(this); throw new ValidationException("Booking is not valid", validationResults.Errors); } return(this); }
public IDataResult <BookingDto> Create(Entity.Dtos.BookingDto bookingDto) { var validator = new BookingValidator(); var validateResult = validator.Validate(bookingDto); if (!validateResult.IsValid) { var validationErrors = ValidationHelper.GetErrors(validateResult.Errors); return(new ErrorDataResult <BookingDto>("Rezervasyon ekleme işlemi başarısız oldu.", validationErrors)); } return(_bookingDal.Add(bookingDto)); }
public void ValidBookingPassesValidation() { // Arrange var bookingValidator = new BookingValidator(); // Act var bookingValidation = bookingValidator.ValidateBooking(ValidRequest(), _agents, _properties); // Assert bookingValidation.IsValid.Should().BeTrue(); bookingValidation.ErrorMessage.Should().BeEmpty(); }
public void ShouldFailIfPropertyDoesNotExist() { // Arrange var bookingRequest = ValidateBooking(); bookingRequest.PropertyId = 17; var bookingValidator = new BookingValidator(); // Act var bookingValidation = bookingValidator.ValidateBooking(bookingRequest, _agents, _properties); // Assert bookingValidation.IsValid.Should().BeFalse(); bookingValidation.ErrorMessage.Should().Be("Sorry - we couldn't find a matching property."); }
public void ShouldFailIfNameIsMissing() { // Arrange var bookingRequest = ValidRequest(); bookingRequest.Name = null; var bookingValidator = new BookingValidator(); // Act var bookingValidation = bookingValidator.ValidateBooking(bookingRequest, _agents, _properties); // Assert bookingValidation.IsValid.Should().BeFalse(); bookingValidation.ErrorMessage.Should().Be("You must provide a name"); }
public void ShouldFailIfPhoneNumberIsMissing() { var bookingRequest = new BookingRequest { PhoneNumber = "" }; var bookingValidator = new BookingValidator(); // Act var bookingValidation = bookingValidator.ValidateBooking(bookingRequest, _agents, _properties); // Assert bookingValidation.IsValid.Should().BeFalse(); bookingValidation.ErrorMessage.Should().Be("You must provide a phonenumber"); }
public void ShouldFailIfEmailAddressIsMissing() { var bookingRequest = new BookingRequest { EmailAddress = "" }; var bookingValidator = new BookingValidator(); // Act var bookingValidation = bookingValidator.ValidateBooking(bookingRequest, _agents, _properties); // Assert bookingValidation.IsValid.Should().BeFalse(); bookingValidation.ErrorMessage.Should().Be("You must provide a valid email address"); }
public void MakeANullBooking() { // Arrange var booking_repository = new InMemoryBookingRepository(); var response_handler = new MakeBookingResponseHandler(); var validator = new BookingValidator(); var make_booking_interaction = new MakeBookingInteractor(response_handler, booking_repository, validator); // Act make_booking_interaction.Execute(); // Assert Assert.IsTrue(make_booking_interaction.Booking == null); Assert.IsTrue(response_handler.Exception != null); Assert.IsTrue(response_handler.Exception.GetType() == typeof(ArgumentException)); }
public void GetBookingById() { //Arrange var mockUnitOfWork = new Mock <IUnitOfWork>(); //Esperamos que se llame al metodo Get del AnnouncementRepository con un int mockUnitOfWork.Setup(un => un.BookingRepository.GetByID(It.IsAny <int>())); BookingValidator bookingValidator = new BookingValidator(mockUnitOfWork.Object); //Act Booking returnedBooking = bookingValidator.GetBooking("5"); //Assert //mockUnitOfWork.VerifyAll(); }
public void BookingWithNoSpaceIsInvalid() { // Arrange var booking = new Booking { Id = 0, Name = "FirstName1 LastName1", Start = new DateTime(2018, 1, 1, 10, 0, 0), End = new DateTime(2018, 1, 1, 11, 0, 0) }; var validator = new BookingValidator(); // Act var results = validator.Validate(booking); // Assert Assert.IsFalse(results.IsValid); }
public void BookingWithNoPeriodIsInvalid() { // Arrange var booking = new Booking { Id = 0, Name = "FirstName1 LastName1", Space = new Space { Id = 0, Name = "Boardroom" } }; var validator = new BookingValidator(); // Act var results = validator.Validate(booking); // Assert Assert.IsFalse(results.IsValid); }
public void MakeABookingWithoutAName() { // Arrange var booking_repository = new InMemoryBookingRepository(); var response_handler = new MakeBookingResponseHandler(); var validator = new BookingValidator(); var make_booking_interaction = new MakeBookingInteractor(response_handler, booking_repository, validator); make_booking_interaction.Booking = new Booking { Start = new DateTime(2018, 1, 1, 10, 0, 0), End = new DateTime(2018, 1, 1, 11, 0, 0), Space = new Space { Name = "Boardroom" } }; // Act make_booking_interaction.Execute(); // Assert Assert.IsFalse(response_handler.WasSuccessful); }
public void BookingWithNoNameIsInvalid() { // Arrange var booking = new Booking { Id = 0, Start = new DateTime(2018, 1, 1, 10, 0, 0), End = new DateTime(2018, 1, 1, 11, 0, 0), Space = new Space { Id = 0, Name = "Boardroom" } }; var validator = new BookingValidator(); // Act var results = validator.Validate(booking); // Assert Assert.IsFalse(results.IsValid); }
static void Main(string[] args) { LOGGER.Info("loading application context"); try { AccountRepository accountRepository = new AccountRepository(); TripRepository tripRepository = new TripRepository(); BookingRepository bookingRepository = new BookingRepository(); BookingValidator bookingValidator = new BookingValidator(); AccountValidator accountValidator = new AccountValidator(); TripValidator tripValidator = new TripValidator(); ITripServices tripServices = new TripServicesImpl(accountRepository, tripRepository, bookingRepository, accountValidator, tripValidator, bookingValidator); AbstractServer server = new RpcConcurrentServer(ConfigurationManager.AppSettings["host"], Int32.Parse(ConfigurationManager.AppSettings["port"]), tripServices); server.Start(); } catch (Exception ex) { LOGGER.Warn(ex.StackTrace); } }
public void DoesntUpdateNonExistingBooking() { //Arrange var mockUnitOfWork = new Mock <IUnitOfWork>(); mockUnitOfWork .Setup(un => un.BookingRepository.GetByID(It.IsAny <int>())).Returns(() => null); mockUnitOfWork.Setup(un => un.BookingRepository.Update(It.IsAny <Booking>())); //mockUnitOfWork.Setup(un => un.Save()); IBookingValidator bookingValidator = new BookingValidator(mockUnitOfWork.Object); //act bookingValidator.PutBooking("0", new Booking() { }); //Assert //Retorna exception }
static void Main(string[] args) { var logRepository = LogManager.GetRepository(Assembly.GetEntryAssembly()); XmlConfigurator.Configure(logRepository, new FileInfo("log4net.config")); TripRepository tripRepository = new TripRepository(); TripValidator tripValidator = new TripValidator(); AccountRepository accountRepository = new AccountRepository(); AccountValidator accountValidator = new AccountValidator(); BookingRepository bookingRepository = new BookingRepository(); BookingValidator bookingValidator = new BookingValidator(); ITripServices tripServices = new TripServicesImpl(accountRepository, tripRepository, bookingRepository, accountValidator, tripValidator, bookingValidator); TripServicesGrpcImpl tripServicesGrpc = new TripServicesGrpcImpl(tripServices); GrpcServer server = new GrpcServer(int.Parse(ConfigurationManager.AppSettings["port"]), ConfigurationManager.AppSettings["host"], tripServicesGrpc); server.Start(); }
public void ValidateBooking() { // Arrange var booking = new Booking { Id = 0, Name = "FirstName1 LastName1", Start = new DateTime(2018, 1, 1, 10, 0, 0), End = new DateTime(2018, 1, 1, 11, 0, 0), Space = new Space { Id = 0, Name = "Boardroom" } }; var validator = new BookingValidator(); // Act var results = validator.Validate(booking); // Assert Assert.IsTrue(results.IsValid); }
public void ShouldFailIfNameIsMissing() { // Arrange var bookingRequest = new BookingRequest { AgentId = 1, PropertyId = 3, Name = "", EmailAddress = "*****@*****.**", StartsAt = DateTime.Now.AddHours(2), EndsAt = DateTime.Now.AddHours(3), PhoneNumber = "0300 547 873" }; var bookingValidator = new BookingValidator(); // Act var bookingValidation = bookingValidator.ValidateBooking(bookingRequest, _agents, _properties); // Assert bookingValidation.IsValid.Should().BeFalse(); bookingValidation.ErrorMessage.Should().Be("You must provide a name"); }
public void ShouldFailIfPhoneNumberMissing() { // Arrange var bookingRequest = new BookingRequest { AgentId = 1, PropertyId = 3, Name = "Jane Doe", EmailAddress = "*****@*****.**", StartsAt = DateTime.Now.AddHours(2), EndsAt = DateTime.Now.AddHours(3), PhoneNumber = "" }; var bookingValidator = new BookingValidator(); // Act var bookingValidation = bookingValidator.ValidateBooking(bookingRequest, _agents, _properties); // Assert bookingValidation.IsValid.Should().BeFalse(); bookingValidation.ErrorMessage.Should().Be("You must provide a phone number."); }
public void ValidBookingPassesValidation() { // Arrange var bookingRequest = new BookingRequest { AgentId = 1, PropertyId = 3, Name = "Rebecca", EmailAddress = "*****@*****.**", StartsAt = DateTime.Now.AddHours(2), EndsAt = DateTime.Now.AddHours(3), PhoneNumber = "0300 547 873" }; var bookingValidator = new BookingValidator(); // Act var bookingValidation = bookingValidator.ValidateBooking(bookingRequest, _agents, _properties); // Assert bookingValidation.IsValid.Should().BeTrue(); bookingValidation.ErrorMessage.Should().BeEmpty(); }
public void ShouldFailIfPropertyIdIsInvalid() { // Arrange var bookingRequest = new BookingRequest { AgentId = 1, PropertyId = 0, Name = "Rebecca", EmailAddress = "*****@*****.**", StartsAt = DateTime.Now.AddHours(2), EndsAt = DateTime.Now.AddHours(3), PhoneNumber = "0300 547 873" }; var bookingValidator = new BookingValidator(); // Act var bookingValidation = bookingValidator.ValidateBooking(bookingRequest, _agents, _properties); // Assert bookingValidation.IsValid.Should().BeFalse(); bookingValidation.ErrorMessage.Should().Be("This is not a valid Property Id"); }
public void BookingValidator_ShouldFailIfEndDateTimeIsEmpty() { var booking = new BookingValidator(); booking.ShouldHaveValidationErrorFor(e => e.EndDateTime, default(DateTime)); }
public JsonResult UpdateBooking(BookingRequest br) { Cart cart = new Cart(); BookingValidator v = new BookingValidator(); v.Validate(br); List <String> errors = v.errors; foreach (ModelState state in ModelState.Values) { foreach (ModelError error in state.Errors) { errors.Add(error.ErrorMessage); } } Boolean success = errors.Count == 0; if (success) { Booking b = cart.GetBooking(br.booking_id); //b.guests = br.guests; b.single_rooms = br.single_rooms; b.double_rooms = br.double_rooms; b.duration = br.duration; b.start_date = br.start_date; if (User.Identity.IsAuthenticated) { if (User.IsInRole("TelesaleStaff")) { b.booker_id = (System.Guid)Membership.GetUser().ProviderUserKey; Customer c = (Customer)System.Web.HttpContext.Current.Session["customer"]; b.customer_id = c.MembershipID; } else//normal customer { b.customer_id = (System.Guid)Membership.GetUser().ProviderUserKey; } } b.Travel.TravelType = cart.ctx.TravelTypes.SingleOrDefault(t => t.id == br.travel_type_id); b.Travel.departure = br.start_date; b.Travel.arrival = br.start_date; foreach (Passanger p in b.Travel.Passangers.ToList()) { b.Travel.Passangers.Remove(p); cart.ctx.DeleteObject(p); } //b.Travel.Passangers.Clear(); for (int i = 0; i < b.guests(); i++) { b.Travel.Passangers.Add(new Passanger { id = Guid.NewGuid() }); } } return(Json(new { success = success, id = br.booking_id, errors = errors })); }