コード例 #1
0
        public void makeTransfer_NotEnoughMoneyDebitAccountButOverdraftAllowed()
        {
            //arrange
            IOperationRepository operationRepository = MockRepository.GenerateStub <IOperationRepository>();
            IRepository          repository          = MockRepository.GenerateMock <IRepository>();
            IDtoCreator <Operation, OperationDto> operationCreator = MockRepository.GenerateStub <IDtoCreator <Operation, OperationDto> >();

            Account debitAccount = new Account()
            {
                Id = 1, Balance = 0, AuthorizeOverdraft = true
            };
            Account creditAccount = new Account()
            {
                Id = 2, Balance = 300
            };

            repository.Expect(x => x.Get <Account>(debitAccount.Id)).Return(debitAccount);
            repository.Expect(x => x.Get <Account>(creditAccount.Id)).Return(creditAccount);

            //act
            OperationServices services = new OperationServices(operationRepository, repository, operationCreator);

            services.MakeTransfer(debitAccount.Id, creditAccount.Id, 200, "");

            //assert
            Assert.AreEqual(-200, debitAccount.Balance);
            repository.VerifyAllExpectations();
        }
コード例 #2
0
ファイル: AccountServices.cs プロジェクト: al-main/CloudyBank
 public AccountServices(IRepository repository, IAccountRepository accountRepository, ICustomerRepository customerRepository,
     IDtoCreator<Account, AccountDto> accountDtoCreator)
 {
     _repository = repository;
     _accountRepository = accountRepository;
     _customerRepository = customerRepository;
     _accountDtoCreator = accountDtoCreator;
 }
コード例 #3
0
 public CustomerServices(ICustomerRepository customerRepository, IRepository repository, IAccountServices accountServices,
                         IDtoCreator <Customer, CustomerDto> customerDtoCreator)
 {
     _customerRepository = customerRepository;
     _repository         = repository;
     _accountServices    = accountServices;
     _customerDtoCreator = customerDtoCreator;
 }
コード例 #4
0
 public CustomerServices(ICustomerRepository customerRepository, IRepository repository, IAccountServices accountServices,
    IDtoCreator<Customer, CustomerDto> customerDtoCreator)
 {
     _customerRepository = customerRepository;
     _repository = repository;
     _accountServices = accountServices;
     _customerDtoCreator = customerDtoCreator;
 }
コード例 #5
0
 public AccountServices(IRepository repository, IAccountRepository accountRepository, ICustomerRepository customerRepository,
                        IDtoCreator <Account, AccountDto> accountDtoCreator)
 {
     _repository         = repository;
     _accountRepository  = accountRepository;
     _customerRepository = customerRepository;
     _accountDtoCreator  = accountDtoCreator;
 }
コード例 #6
0
ファイル: UserServices.cs プロジェクト: al-main/CloudyBank
 public UserServices(ICustomerRepository customerRepository, IRepository repository,IUserRepository userRepository,
     IHashProvider hashProvider, IDtoCreator<UserIdentity,UserIdentityDto> identityCreator)
 {
     _customerRepository = customerRepository;
     _userRepository = userRepository;
     _repository = repository;
     _hashProvider = hashProvider;
     _userIdentityDtoCreator = identityCreator;
 }
コード例 #7
0
ファイル: UserServices.cs プロジェクト: firebitsbr/CloudyBank
 public UserServices(ICustomerRepository customerRepository, IRepository repository, IUserRepository userRepository,
                     IHashProvider hashProvider, IDtoCreator <UserIdentity, UserIdentityDto> identityCreator)
 {
     _customerRepository     = customerRepository;
     _userRepository         = userRepository;
     _repository             = repository;
     _hashProvider           = hashProvider;
     _userIdentityDtoCreator = identityCreator;
 }
コード例 #8
0
        public void makeTransfer_Ok()
        {
            //arrange
            IOperationRepository operationRepository = MockRepository.GenerateStub <IOperationRepository>();
            IRepository          repository          = MockRepository.GenerateMock <IRepository>();
            IDtoCreator <Operation, OperationDto> operationCreator = MockRepository.GenerateStub <IDtoCreator <Operation, OperationDto> >();


            Account debitAccount = new Account()
            {
                Id = 1, Balance = 200
            };
            Account creditAccount = new Account()
            {
                Id = 2, Balance = 300
            };

            repository.Expect(x => x.Get <Account>(debitAccount.Id)).Return(debitAccount);
            repository.Expect(x => x.Get <Account>(creditAccount.Id)).Return(creditAccount);
            repository.Expect(x => x.Save(debitAccount));
            repository.Expect(x => x.Save(creditAccount));
            repository.Expect(x => x.Save(new Operation())).IgnoreArguments();
            repository.Expect(x => x.Save(new Operation())).IgnoreArguments();

            //act
            OperationServices services = new OperationServices(operationRepository, repository, operationCreator);

            services.MakeTransfer(debitAccount.Id, creditAccount.Id, 200, "transfer test");

            //assert
            Assert.AreEqual(0, debitAccount.Balance);
            Assert.AreEqual(500, creditAccount.Balance);

            Assert.AreEqual(1, debitAccount.Operations.Count);

            Operation debitOperation = debitAccount.Operations[0];

            Assert.AreEqual(debitAccount.Id, debitOperation.Account.Id);
            Assert.AreEqual(200, debitOperation.Amount);
            Assert.AreEqual(Direction.Debit, debitOperation.Direction);
            Assert.AreEqual("transfer test", debitOperation.Motif);

            Operation creditOperation = creditAccount.Operations[0];

            Assert.AreEqual(creditAccount.Id, creditOperation.Account.Id);
            Assert.AreEqual(200, creditOperation.Amount);
            Assert.AreEqual(Direction.Credit, creditOperation.Direction);
            Assert.AreEqual("transfer test", creditOperation.Motif);

            repository.VerifyAllExpectations();
        }
コード例 #9
0
        public void makeTransfer_CreditAccountIsNull()
        {
            //arrange
            IOperationRepository operationRepository = MockRepository.GenerateStub <IOperationRepository>();
            IRepository          repository          = MockRepository.GenerateStub <IRepository>();
            IDtoCreator <Operation, OperationDto> operationCreator = MockRepository.GenerateStub <IDtoCreator <Operation, OperationDto> >();

            Account creditAccount = new Account()
            {
                Id = 1
            };
            Account debitAccount = new Account()
            {
                Id = 2
            };

            repository.Expect(x => x.Get <Account>(debitAccount.Id)).Return(debitAccount);

            //act
            OperationServices services = new OperationServices(operationRepository, repository, operationCreator);

            services.MakeTransfer(debitAccount.Id, creditAccount.Id, 0, null);
        }
コード例 #10
0
        public void makeTransfer_NotEnoughMoneyDebitAccount()
        {
            IOperationRepository operationRepository = MockRepository.GenerateStub <IOperationRepository>();
            IRepository          repository          = MockRepository.GenerateMock <IRepository>();
            IDtoCreator <Operation, OperationDto> operationCreator = MockRepository.GenerateStub <IDtoCreator <Operation, OperationDto> >();

            Account debitAccount = new Account()
            {
                Id = 1, Balance = 100
            };
            Account creditAccount = new Account()
            {
                Id = 2, Balance = 300
            };

            repository.Expect(x => x.Get <Account>(debitAccount.Id)).Return(debitAccount);
            repository.Expect(x => x.Get <Account>(creditAccount.Id)).Return(creditAccount);

            OperationServices services = new OperationServices(operationRepository, repository, operationCreator);

            services.MakeTransfer(debitAccount.Id, creditAccount.Id, 200, "");

            repository.VerifyAllExpectations();
        }
コード例 #11
0
 public PaymentEventServices(IRepository repository, IPaymentEventRepository paymentEventRepository, IDtoCreator <PaymentEvent, PaymentEventDto> dtoCreator)
 {
     _repository             = repository;
     _paymentEventRepository = paymentEventRepository;
     _dtoCreator             = dtoCreator;
 }
コード例 #12
0
 public TagDepensesServices(IRepository repository, IDtoCreator <TagDepenses, TagDepensesDto> dtoCreator)
 {
     _repository = repository;
     _dtoCreator = dtoCreator;
 }
コード例 #13
0
 public BusinessPartnerServices(IRepository repository, IDtoCreator <BusinessPartner, BusinessPartnerDto> dtoCreator)
 {
     _repository = repository;
     _dtoCreator = dtoCreator;
 }
コード例 #14
0
 public CustomerProfileServices(IRepository repository, IDtoCreator<CustomerProfile, CustomerProfileDto> dtoCreator)
 {
     _repository = repository;
     _dtoCreator = dtoCreator;
 }
コード例 #15
0
 public OperationServices(IOperationRepository operationRepository, IRepository repository, IDtoCreator<Operation, OperationDto> operationDtoCreator)
 {
     _operationRepository = operationRepository;
     _repository = repository;
     _operationCreator = operationDtoCreator;
 }
コード例 #16
0
 public PaymentEventServices(IRepository repository,IPaymentEventRepository paymentEventRepository, IDtoCreator<PaymentEvent, PaymentEventDto> dtoCreator)
 {
     _repository = repository;
     _paymentEventRepository = paymentEventRepository;
     _dtoCreator = dtoCreator;
 }
コード例 #17
0
ファイル: TagServices.cs プロジェクト: al-main/CloudyBank
 public TagServices(IRepository repository, ITagRepository tagRepository, IDtoCreator<Tag, TagDto> tagDtoCreator)
 {
     _repository = repository;
     _tagRepository = tagRepository;
     _tagDtoCreator = tagDtoCreator;
 }
コード例 #18
0
 public OperationServices(IOperationRepository operationRepository, IRepository repository, IDtoCreator <Operation, OperationDto> operationDtoCreator)
 {
     _operationRepository = operationRepository;
     _repository          = repository;
     _operationCreator    = operationDtoCreator;
 }
コード例 #19
0
 public CustomerProfileServices(IRepository repository, IDtoCreator <CustomerProfile, CustomerProfileDto> dtoCreator)
 {
     _repository = repository;
     _dtoCreator = dtoCreator;
 }
コード例 #20
0
ファイル: TaskServices.cs プロジェクト: firebitsbr/CloudyBank
 public TaskServices(IRepository repository, ITaskRepository taskRepository, IDtoCreator <Task, TaskDto> taskDtoCreator)
 {
     _repository     = repository;
     _taskRepository = taskRepository;
     _taskDtoCreator = taskDtoCreator;
 }
コード例 #21
0
ファイル: TaskServices.cs プロジェクト: al-main/CloudyBank
 public TaskServices(IRepository repository, ITaskRepository taskRepository, IDtoCreator<Task, TaskDto> taskDtoCreator)
 {
     _repository = repository;
     _taskRepository = taskRepository;
     _taskDtoCreator = taskDtoCreator;
 }
コード例 #22
0
ファイル: TagServices.cs プロジェクト: firebitsbr/CloudyBank
 public TagServices(IRepository repository, ITagRepository tagRepository, IDtoCreator <Tag, TagDto> tagDtoCreator)
 {
     _repository    = repository;
     _tagRepository = tagRepository;
     _tagDtoCreator = tagDtoCreator;
 }
コード例 #23
0
 public BusinessPartnerServices(IRepository repository, IDtoCreator<BusinessPartner, BusinessPartnerDto> dtoCreator)
 {
     _repository = repository;
     _dtoCreator = dtoCreator;
 }
コード例 #24
0
 public AdvisorServices(IRepository repository, IAdvisorRepository advisorRepository, IDtoCreator <Advisor, AdvisorDto> advisorDtoCreator)
 {
     _repository        = repository;
     _advisorRepository = advisorRepository;
     _advisorDtoCreator = advisorDtoCreator;
 }