Ejemplo n.º 1
0
        public void Should_Call_SubmitPayment_Repository_With_PaymentDataEntity()
        {
            PaymentDataEntity capturedObject = null;

            A.CallTo(() => _paymentRepository.Add(A <PaymentDataEntity> .Ignored))
            .Invokes((PaymentDataEntity pd) => capturedObject = pd);

            var expectedPaymentDataEntity = new PaymentDataEntity
            {
                Id            = new Guid().ToString(),
                AccountName   = _account.AccountName,
                AccountNumber = _account.AccountNumber,
                Bsb           = _account.Bsb,
                Amount        = _depositDetail.Amount,
                Reference     = _depositDetail.Reference
            };

            _submitPaymentService.Submit(_account, _depositDetail);

            capturedObject.AccountName.Should().Be(expectedPaymentDataEntity.AccountName);
            capturedObject.AccountNumber.Should().Be(expectedPaymentDataEntity.AccountNumber);
            capturedObject.Bsb.Should().Be(expectedPaymentDataEntity.Bsb);
            capturedObject.Amount.Should().Be(expectedPaymentDataEntity.Amount);
            capturedObject.Reference.Should().Be(expectedPaymentDataEntity.Reference);
        }
Ejemplo n.º 2
0
        public TextPaymentRepositoryFixture()
        {
            var fixture = new Fixture();

            _fakeFilePathService = A.Fake <IFilePathService>();
            _repository          = new TextPaymentRepository(_fakeFilePathService);
            _submitPaymentEntity = fixture.Create <PaymentDataEntity>();
            var tempPath = AppDomain.CurrentDomain.BaseDirectory + "PaymentData.txt";

            A.CallTo(() => _fakeFilePathService.GetPaymentDataFilePath()).Returns(tempPath);
        }
Ejemplo n.º 3
0
        public void Add(PaymentDataEntity paymentEntity)
        {
            Locker.EnterWriteLock();
            try
            {
                var mappedPath = _filePathService.GetPaymentDataFilePath();

                using (var sw = File.AppendText(mappedPath))
                {
                    sw.WriteLine($"{paymentEntity.Id},{paymentEntity.AccountName},{paymentEntity.AccountNumber},{paymentEntity.Amount},{ paymentEntity.Bsb},{ paymentEntity.Reference}");
                }
            }
            finally
            {
                Locker.ExitWriteLock();
            }
        }
Ejemplo n.º 4
0
        public string Submit(BankAccount account, DepositDetail depositDetail)
        {
            var id = Guid.NewGuid().ToString();

            var entity = new PaymentDataEntity
            {
                Id            = id,
                AccountName   = account.AccountName,
                AccountNumber = account.AccountNumber,
                Bsb           = account.Bsb,
                Amount        = depositDetail.Amount,
                Reference     = depositDetail.Reference
            };

            _paymentRepository.Add(entity);

            return(id);
        }