public void when_displaying_payment_and_registration_information_for_a_not_yet_updated_order_then_shows_wait_page()
        {
            var seatTypeId = Guid.NewGuid();
            var seats      = new[] { new SeatType(seatTypeId, conferenceAlias.Id, "Test Seat", "Description", 10, 50) };

            Mock.Get(conferenceDao).Setup(r => r.GetPublishedSeatTypes(conferenceAlias.Id)).Returns(seats);

            var orderId      = Guid.NewGuid();
            var orderVersion = 10;

            Mock.Get(orderDao)
            .Setup(d => d.FindPricedOrder(orderId))
            .Returns(new PricedOrder {
                OrderId = orderId, Total = 100, OrderVersion = orderVersion
            });
            var result = (ViewResult)sut.SpecifyRegistrantAndPaymentDetails(orderId, orderVersion).Result;

            Assert.Equal("PricedOrderUnknown", result.ViewName);
        }
        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");
        }