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); }
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); }
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(); } }
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); }