public CustomerRegistrationTests()
        {
            var mapper = AutomapperConfiguration.Init();

            _customerRepository = Substitute.For <ICustomerRepository>();
            _creditCardGateway  = Substitute.For <ICreditCardGateway>();
            _mailConfirmer      = Substitute.For <IMailConfirmer>();

            // Default objects ('stubs')
            var customer = Mocks.GetCustomer();

            _vm = Mocks.GetCreateCustomerViewModel();
            _creditCardGatewayResponse = Mocks.GetCreditCardGatewayResponse();

            // Default system under test ('sut')
            _sut = new CustomerRegistration(mapper, _customerRepository,
                                            _mailConfirmer, _creditCardGateway);

            // Default Behaviour
            _customerRepository.Create(Arg.Any <Customer>()).Returns(customer);
            _customerRepository.CreateRop(Arg.Any <Customer>()).Returns(Result.Ok(customer));
            _customerRepository.UpgradeToPremium(Arg.Any <Customer>()).Returns(Result.Ok(customer));
            _creditCardGateway.Charge(Arg.Any <string>()).Returns(_creditCardGatewayResponse);
            _creditCardGateway.ChargeRop(Arg.Any <string>()).Returns(Result.Ok(_creditCardGatewayResponse));
            _creditCardGateway.RollBackLastTransactionRop(Arg.Any <Customer>()).Returns(Result.Ok(customer));

            _mailConfirmer.SendWelcomeRop(Arg.Any <Customer>()).Returns(Result.Ok(customer));
        }
Пример #2
0
 public CustomerRegistration(IMapper mapper,
                             ICustomerRepository customerRepository,
                             IMailConfirmer mailConfirmer,
                             ICreditCardGateway creditCardGateway)
 {
     _mapper             = mapper;
     _customerRepository = customerRepository;
     _mailConfirmer      = mailConfirmer;
     _creditCardGateway  = creditCardGateway;
 }