public void CreateBooking_RegularValues_OkResult() { //Arrange var booking = new Mock <IBooking>(); booking.SetupGet(b => b.Id).Returns(15); booking.SetupGet(b => b.FacilityId).Returns(model.FacilityId); booking.SetupGet(b => b.StartTime).Returns(model.StartTime); booking.SetupGet(b => b.EndTime).Returns(model.EndTime); booking.SetupGet(b => b.PersonId).Returns(4); facade.Setup(f => f.CreateBooking("3445", model.FacilityId, model.StartTime, model.EndTime)) .Returns(booking.Object); var controller = new BookingController(facade.Object) { ControllerContext = controllerContext }; //Act var result = controller.CreateBooking(model); //Assert Assert.NotNull(result); var okresult = Assert.IsType <OkNegotiatedContentResult <GenericResponse> >(result); Assert.Equal(true, okresult.Content.IsSuccess); }
public void TestVFJan13() { // Test scenario: Viktors Farmor booking 13 for sale VF Jan with Estrella Chimborazo ICustomer viktorsFarmor = customerController.CreateCustomer(CustomerType.Bureau, "", "Viktors Farmor"); ISupplier estrellaChimborazo = supplierController.CreateSupplier("Estrella Chimborazo", "", SupplierType.Restaurant); // PaymentRule to use for the booking supplierController.AddPaymentRule(estrellaChimborazo, viktorsFarmor, BookingType.Group, 100, -1, BaseDate.StartDate, PaymentType.Full); // Dummy PaymentRule (must not be applied) supplierController.AddPaymentRule(estrellaChimborazo, viktorsFarmor, BookingType.FIT, 100, 14, BaseDate.EndDate, PaymentType.Full); IBooking booking = bookingController.CreateBooking(estrellaChimborazo, viktorsFarmor, "VF Jan", 13, new DateTime(2014, 01, 14), new DateTime(2014, 01, 14)); booking.Type = BookingType.Group; booking.IVAExempt = 0m; booking.IVASubject = 378m; booking.ProductRetention = 2m; booking.SupplierRetention = 70m; bookingController.CalculatePaymentsForBooking(booking); // Check that TransferAmount and IVA match real world data string expectedTransferAmount = "384.05"; string expectedIVA = "45.36"; Assert.AreEqual(expectedTransferAmount, booking.TransferAmount.ToString("N2", culture.NumberFormat)); Assert.AreEqual(expectedIVA, booking.IVA.ToString("N2", culture.NumberFormat)); // Check that correct number of payments was created int expectedNumberOfPayments = 1; List <IPayment> createdPayments = paymentController.ReadAllPayments(); Assert.AreEqual(expectedNumberOfPayments, createdPayments.Count); // Check that Payment stats set by PaymentRules match real world data IPayment payment = createdPayments[0]; string expectedDueAmount = "384.05"; DateTime expectedDueDate = new DateTime(2014, 01, 13); Assert.AreEqual(expectedDueAmount, payment.DueAmount.ToString("N2", culture.NumberFormat)); Assert.AreEqual(expectedDueDate, payment.DueDate); }
public void CreateBooking_ThrowsError_BadModel() { //Arrange var controller = new BookingController(facade.Object) { ControllerContext = controllerContext }; controller.ModelState.AddModelError("Key", "ErrorMessage"); //Act var result = controller.CreateBooking(model); //Assert Assert.NotNull(result); Assert.IsType <InvalidModelStateResult>(result); }
public async Task CreateBooking_Return_RedicretToAction_ShowGetAllBookings() { // Arrange Booking booking = new(); var mock = new Mock <IDelpinHttpClientHandler <Booking> >(); mock.Setup(m => m.PostHttp(It.IsAny <Booking>(), It.IsAny <string>(), It.IsAny <string>())); // Act var sut = new BookingController(Configuration(), mock.Object); var result = await sut.CreateBooking(booking); // Assert var redirectToActionResult = Assert.IsType <RedirectToActionResult>(result); Assert.Equal("ShowGetAllBookings", redirectToActionResult.ActionName); }
public void CreateBooking_ThrowsError_InternalServerError() { //Arrange var excpetion = new ConnApsDomain.Exceptions.InternalException(); facade.Setup(f => f.CreateBooking("3445", model.FacilityId, model.StartTime, model.EndTime)).Throws(excpetion); var controller = new BookingController(facade.Object) { ControllerContext = controllerContext }; //Act var result = controller.CreateBooking(model); //Assert Assert.NotNull(result); Assert.IsType <InternalServerErrorResult>(result); }
public void TestShowBookingToUI() { foreach (Package package in packages1) { stringPackagesT.Add(package.Name); } bcT.CreateBooking("muslim", "08:00", new DateTime(2019, 06, 05, 00, 00, 00), "*****@*****.**", "+4511223344", stringPackagesT, "123xx66", "MERCEDES"); bcT.CreateBooking("muslim", "10:00", new DateTime(2019, 06, 06, 00, 00, 00), "*****@*****.**", "+4511223344", stringPackagesT, "123xx66", "MERCEDES"); bcT.CreateBooking("muslim", "12:00", new DateTime(2019, 06, 07, 00, 00, 00), "*****@*****.**", "+4511223344", stringPackagesT, "123xx66", "MERCEDES"); bcT.CreateBooking("muslim", "14:00", new DateTime(2019, 06, 08, 00, 00, 00), "*****@*****.**", "+4511223344", stringPackagesT, "123xx66", "MERCEDES"); bcT.CreateBooking("David", "16:00", new DateTime(2019, 06, 10, 00, 00, 00), "*****@*****.**", "+4511223344", stringPackagesT, "987erty", "Porsche"); bcT.CreateBooking("Simon", "18:00", new DateTime(2019, 06, 11, 00, 00, 00), "*****@*****.**", "+4511223344", stringPackagesT, "678yy33", "BMW"); bookingStringsT = bcT.GetWeeklyBookings(new DateTime(2019, 06, 05, 00, 00, 00)); Assert.IsTrue(bookingStringsT.Count == 6); }
public void CreateBooking_ThrowsError_BadRequest() { //Arrange var exception = new ConnApsDomain.Exceptions.BookingOverlapingException(); facade.Setup(f => f.CreateBooking("3445", model.FacilityId, model.StartTime, model.EndTime)).Throws(exception); var controller = new BookingController(facade.Object) { ControllerContext = controllerContext }; //Act var result = controller.CreateBooking(model); //Assert Assert.NotNull(result); var badRequest = Assert.IsType <BadRequestErrorMessageResult>(result); Assert.Equal("Your Booking is overlaping another booking. Please pick another time", badRequest.Message); }
private void buttonBookRoom_Click(object sender, EventArgs e) { Booking b = new Booking(); if (dataGridViewBooking2.RowCount > 0 && dataGridViewBooking1.RowCount > 0) { DataGridViewRow row = dataGridViewBooking1.SelectedRows[0]; DataGridViewRow row2 = dataGridViewBooking2.SelectedRows[0]; b.pnr = row.Cells["Pnr"].Value.ToString(); b.roomNumber = row2.Cells["Rumsnummer"].Value.ToString(); b.period = row2.Cells["Period"].Value.ToString(); b.roomId = row2.Cells["RumsID"].Value.ToString(); string price = row2.Cells["Pris"].Value.ToString(); b.price = Convert.ToInt32(price); Random rnd = new Random(); int bookingNbr = rnd.Next(100, 10000); b.bookingNbr = bookingNbr.ToString(); if (b.pnr != null && b.roomId != null) { BookingController BController = new BookingController(); BController.CreateBooking(b); dataGridViewBooking2.ClearSelection(); btnAllRooms.PerformClick(); } else { Console.WriteLine("Boka rum1"); } } else { Console.WriteLine("Boka rum 2"); } }
// Button - Create booking private void Button_CreateBooking_Click(object sender, RoutedEventArgs e) { string customerName = TextBox_CustomerName.Text; string startTime = (string)ComboBox_TimeStamps.SelectedItem; DateTime bookingDate = (DateTime)Calendar_Main.SelectedDate; string email = TextBox_Email.Text; string telephoneNumber = TextBox_Phonenumber.Text; string vat = TextBox_VAT.Text; List <string> packages = new List <string>(); foreach (string package in ListBox_Packages.Items) { packages.Add(package); } string licensePlate = TextBox_LicensePlate.Text; string brand = TextBox_Brand.Text; bc.CreateBooking(customerName, startTime, bookingDate, email, telephoneNumber, packages, licensePlate, brand, vat); this.Close(); }
private void NewBooking(object sender, RoutedEventArgs e) { Bctr.CreateBooking((Model.Classes.User)UserList.SelectedItem, (Model.Classes.Book)BookList.SelectedItem); FillViewList(); }
private void saveButton_Click(object sender, RoutedEventArgs e) { try { if (selectedBooking == null) { string sale = saleTextBox.Text; int bookingNumber; int.TryParse(bookingNumberTextBox.Text, out bookingNumber); DateTime startDate = startDateDatePicker.SelectedDate.Value; DateTime endDate = endDateDatePicker.SelectedDate.Value; ISupplier selectedSupplier = null; foreach (ISupplier supplier in supplierController.ReadAllSuppliers()) { if (supplier.Name == supplierTextBox.Text) { selectedSupplier = supplier; break; } } ICustomer selectedCustomer = null; foreach (ICustomer customer in customerController.ReadAllCustomers()) { if (customer.Name == customerTextBox.Text) { selectedCustomer = customer; break; } } IBooking booking = bookingController.CreateBooking(selectedSupplier, selectedCustomer, sale, bookingNumber, startDate, endDate); booking.Type = (BookingType)bookingTypeComboBox.SelectedItem; decimal iVAExempt; decimal iVASubject; decimal service; decimal productRetention; decimal supplierRetention; decimal.TryParse(IVAExemptTextBox.Text, NumberStyles.Any, culture, out iVAExempt); decimal.TryParse(IVASubjectTextBox.Text, NumberStyles.Any, culture, out iVASubject); decimal.TryParse(serviceTextBox.Text, NumberStyles.Any, culture, out service); decimal.TryParse(productRetentionTextBox.Text, NumberStyles.Any, culture, out productRetention); decimal.TryParse(supplierRetentionTextBox.Text, NumberStyles.Any, culture, out supplierRetention); booking.IVAExempt = iVAExempt; booking.IVASubject = iVASubject; booking.Service = service; booking.ProductRetention = productRetention; booking.SupplierRetention = supplierRetention; booking.Note = noteTextBox.Text; bookingController.UpdateBooking(booking); refreshDataGrid(); bookingsDataGrid.SelectedItem = null; setValuesInTextBoxes(); } else { int currentIndex = bookingsDataGrid.SelectedIndex; ISupplier selectedSupplier = null; foreach (ISupplier supplier in supplierController.ReadAllSuppliers()) { if (supplier.Name == supplierTextBox.Text) { selectedSupplier = supplier; break; } } ICustomer selectedCustomer = null; foreach (ICustomer customer in customerController.ReadAllCustomers()) { if (customer.Name == customerTextBox.Text) { selectedCustomer = customer; break; } } decimal iVAExempt; decimal iVASubject; decimal service; decimal productRetention; decimal supplierRetention; int bookingNumber; decimal.TryParse(IVAExemptTextBox.Text, NumberStyles.Any, culture, out iVAExempt); decimal.TryParse(IVASubjectTextBox.Text, NumberStyles.Any, culture, out iVASubject); decimal.TryParse(serviceTextBox.Text, NumberStyles.Any, culture, out service); decimal.TryParse(productRetentionTextBox.Text, NumberStyles.Any, culture, out productRetention); decimal.TryParse(supplierRetentionTextBox.Text, NumberStyles.Any, culture, out supplierRetention); int.TryParse(bookingNumberTextBox.Text, out bookingNumber); selectedBooking.IVAExempt = iVAExempt; selectedBooking.IVASubject = iVASubject; selectedBooking.Service = service; selectedBooking.ProductRetention = productRetention; selectedBooking.SupplierRetention = supplierRetention; selectedBooking.BookingNumber = bookingNumber; selectedBooking.Customer = selectedCustomer; selectedBooking.Supplier = selectedSupplier; selectedBooking.EndDate = endDateDatePicker.SelectedDate.Value; selectedBooking.StartDate = startDateDatePicker.SelectedDate.Value; selectedBooking.Note = noteTextBox.Text; selectedBooking.Sale = saleTextBox.Text; selectedBooking.Type = (BookingType)bookingTypeComboBox.SelectedItem; bookingController.UpdateBooking(selectedBooking); refreshDataGrid(); bookingsDataGrid.SelectedIndex = currentIndex; } } catch (Exception ex) { MessageBox.Show(ex.Message); } }
public void TestCreateBookingOK() { Tourist tourist = new Tourist() { Email = "*****@*****.**", Id = 1, Name = "s", LastName = "b" }; Accommodation accommodation = new Accommodation() { Id = 6, Address = "aa", ContactNumber = "44", Name = "ss" }; Booking booking = new Booking() { Id = 5, TotalPrice = 10, CheckIn = DateTime.Now.AddDays(1), CheckOut = DateTime.Now.AddDays(2), HeadGuest = tourist, Accommodation = accommodation, AccommodationId = 6 }; BookingModelIn bookingModel = new BookingModelIn() { CheckIn = booking.CheckIn, CheckOut = booking.CheckOut, GuestEmail = booking.HeadGuest.Email, GuestName = booking.HeadGuest.Name, GuestLastName = booking.HeadGuest.LastName, AccommodationId = 0 }; Guest guest1 = new Guest() { Amount = 1, Multiplier = 1, BookingId = 5, Booking = booking }; Guest guest2 = new Guest() { Amount = 2, Multiplier = 2, BookingId = 5, Booking = booking }; Guest guest3 = new Guest() { Amount = 3, Multiplier = 3, BookingId = 5, Booking = booking }; List <Guest> guestList = new List <Guest> { guest1, guest2, guest3 }; bookingModel.Guests = guestList; var mockBooking = new Mock <IBookingLogic>(MockBehavior.Strict); mockBooking.Setup(p => p.AddBooking(It.IsAny <Booking>())).Returns(booking); var controller = new BookingController(mockBooking.Object); var result = controller.CreateBooking(bookingModel) as OkObjectResult; mockBooking.VerifyAll(); Assert.AreEqual(200, result.StatusCode); }