public void RegularCustomer_CancellingLessThan48Hours_ShouldThrowException()
        {
            var customer    = CreateRegularCustomer();
            var reservation = new Reservation(customer, DateTime.Now.AddHours(47));

            reservation.Cancel();
        }
        public void RegularCustomer_CancellingAfterStartDate_ShouldThrowException()
        {
            var customer    = CreateRegularCustomer();
            var reservation = new Reservation(customer, DateTime.Now.AddHours(-1));

            reservation.Cancel();
        }
        public void GoldCustomer_CancellingLessThan24HoursBefore_ShouldThrowException()
        {
            var customer    = CreateGoldCustomer();
            var reservation = new Reservation(customer, DateTime.Now.AddHours(23));

            reservation.Cancel();
        }
        public void RegularCustomer_CancellingMore48_Ok()
        {
            var customer    = CreateRegularCustomer();
            var reservation = new Reservation(customer, DateTime.Now.AddHours(50));

            reservation.Cancel();
            reservation.IsCancelad.Should().Be(true);
        }
        public void RegularCustomer_CancellingLessThan48Hours_ShouldThrowException()
        {
            var customer    = CreateRegularCustomer();
            var reservation = new Reservation(customer, DateTime.Now.AddHours(47));
            var ex          = Assert.Throws <InvalidOperationException>(() => reservation.Cancel());

            Assert.Equal("It´s too late to cancel", ex.Message);
        }
        public void GoldCustomer_CancellingMoreThan24Hours_ShouldCancel()
        {
            var customer    = CreateGoldcustomer();
            var reservation = new Reservation(customer, DateTime.Now.AddHours(25));

            reservation.Cancel();
            reservation.IsCancelad.Should().Be(true);
        }
        public void RegularCustomer_CancellingMoreThan48HoursBefore_ShouldCancel()
        {
            var customer    = CreateRegularCustomer();
            var reservation = new Reservation(customer, DateTime.Now.AddHours(49));

            reservation.Cancel();

            Assert.IsTrue(reservation.IsCanceled);
        }
        public void GoldCustomer_CancellingMoreThan24Hours_ShouldCancel()
        {
            var customer    = CreateGoldCustomer();
            var reservation = new Reservation(customer, DateTime.Now.AddHours(25));

            reservation.Cancel();

            Assert.IsTrue(reservation.IsCanceled);
        }
        public void RegularCustomer_CancellingLessThan48Hours_ShouldThorwException()
        {
            var customer    = CreateRegularCustomer();
            var reservation = new Reservation(customer, DateTime.Now.AddHours(47));

            //Assert.Throws<InvalidOperationException>(() => reservation.Cancel());


            //reservation.Cancel().Should().BeOfType<InvalidOperationException>().Which.Message.Should().Be("It´s too late to cancel");

            Action act = () => reservation.Cancel();

            act.Should().Throw <InvalidOperationException>().WithMessage("It´s too late to cancel");

            var ex = Assert.Throws <InvalidOperationException>(() => reservation.Cancel());

            Assert.Equal("It´s too late to cancel", ex.Message);
        }
Beispiel #10
0
 /// <summary>
 /// 预定取消
 /// </summary>
 /// <param name="ReservationId">预定Id</param>
 public void Cancel(Guid ReservationId)
 {
     using (ITransactionCoordinator coordinator = TransactionCoordinatorFactory.Create(Context, bus))
     {
         Reservation reservation = reservationRepository.GetByKey(ReservationId);
         reservation.Cancel();
         reservationRepository.Update(reservation);
         coordinator.Commit();
     }
 }
        public async Task <ValidationResult> CancelReservationAsync(Reservation reservation)
        {
            ValidationResult result = reservation.Cancel(CurrentTime);

            if (result.IsValid)
            {
                await _repository.SaveReservationAsync(reservation);
            }

            return(result);
        }