示例#1
0
 /// <summary>ctor</summary>
 public VouchersController(
     CreateVoucherUseCase createVoucherUseCase,
     ClaimVoucherUseCase claimVoucherUseCase,
     ILogger logger)
 {
     _createVoucherUseCase = createVoucherUseCase;
     _claimVoucherUseCase  = claimVoucherUseCase;
     _logger = logger;
 }
        public GivenCreationOfAVoucher()
        {
            var voucherRepository = new VoucherRepository();

            ICreateVouchers sutVoucherCreator = voucherRepository;
            IClaimVouchers  sutVoucherClaimer = voucherRepository;

            _sut = new CreateVoucherUseCase(sutVoucherCreator);
        }
        public void WhenTheAdapterThrowsException_TheUseCaseShouldWrapTheExceptionInACustomException()
        {
            var voucherCreator = new MisbehavingVoucherCreator();
            var sut            = new CreateVoucherUseCase(voucherCreator);

            Record.Exception(() =>
                             { sut.Create(VoucherType.FreeShipping); })
            .Should()
            .BeOfType <CouldNotCreateAVoucher>();
        }