public void GivenTheSelectedOrderItems(Table table) { conferenceInfo = ScenarioContext.Current.Get <ConferenceInfo>(); registrationController = RegistrationHelper.GetRegistrationController(conferenceInfo.Slug); orderViewModel = RegistrationHelper.GetModel <OrderViewModel>(registrationController.StartRegistration().Result); Assert.NotNull(orderViewModel); registration = new RegisterToConference { ConferenceId = conferenceInfo.Id, OrderId = orderViewModel.OrderId }; foreach (var row in table.Rows) { var orderItemViewModel = orderViewModel.Items.FirstOrDefault(s => s.SeatType.Description == row["seat type"]); Assert.NotNull(orderItemViewModel); int qt; if (!row.ContainsKey("quantity") || !Int32.TryParse(row["quantity"], out qt)) { qt = orderItemViewModel.SeatType.Quantity; } registration.Seats.Add(new SeatQuantity(orderItemViewModel.SeatType.Id, qt)); } // Store for sharing between steps implementations ScenarioContext.Current.Set(registration); ScenarioContext.Current.Set(registrationController.ConferenceAlias); }
public void when_starting_registration_then_returns_view_with_registration_for_conference() { var seatTypeId = Guid.NewGuid(); var seats = new[] { new SeatType(seatTypeId, conferenceAlias.Id, "Test Seat", "Description", 10, 50) }; // Arrange Mock.Get(conferenceDao).Setup(r => r.GetPublishedSeatTypes(conferenceAlias.Id)).Returns(seats); // Act var result = (ViewResult)sut.StartRegistration().Result; // Assert Assert.NotNull(result); Assert.Equal("", result.ViewName); var resultModel = (OrderViewModel)result.Model; Assert.NotNull(resultModel); Assert.Equal(1, resultModel.Items.Count); Assert.Equal("Test Seat", resultModel.Items[0].SeatType.Name); Assert.Equal("Description", resultModel.Items[0].SeatType.Description); Assert.Equal(0, resultModel.Items[0].OrderItem.RequestedSeats); Assert.Equal(0, resultModel.Items[0].OrderItem.ReservedSeats); }
public void GivenTheRegistrantProceedToMakeTheReservation() { //Assert.True(redirect != null, "Reservation not accepted. May be waitlisted."); // Perform external redirection var timeout = DateTime.Now.Add(Constants.UI.WaitTimeout); while (DateTime.Now < timeout && registrationViewModel == null) { var redirect = registrationController.StartRegistration(registration, orderViewModel.OrderVersion) as RedirectToRouteResult; if (redirect != null) { //ReservationUnknown var result = registrationController.SpecifyRegistrantAndPaymentDetails( (Guid)redirect.RouteValues["orderId"], orderViewModel.OrderVersion).Result; Assert.IsNotType <RedirectToRouteResult>(result); registrationViewModel = RegistrationHelper.GetModel <RegistrationViewModel>(result); } } Assert.False(registrationViewModel == null, "Could not make the reservation and get the RegistrationViewModel"); }