public async Task ThenIShouldGetTransferDetails() { //Assign var expectedViewModel = new TransferTransactionDetailsViewModel { ReceiverAccountName = "Test Group", ReceiverAccountPublicHashedId = "GFH657", IsCurrentAccountSender = true, TransferDetails = new List <AccountTransferDetails>() }; var response = new GetTransferTransactionDetailsResponse { IsCurrentAccountSender = true, ReceiverAccountName = "Test Group", ReceiverAccountPublicHashedId = "GFH657", TransferDetails = new List <AccountTransferDetails>() }; _mapper.Setup(x => x.Map <TransferTransactionDetailsViewModel>(response)) .Returns(expectedViewModel); _mediator.Setup(x => x.SendAsync(It.IsAny <GetTransferTransactionDetailsQuery>())) .ReturnsAsync(response); //Act var result = await _controller.TransferDetail(_query); //Assert var view = result as ViewResult; var viewModel = view?.Model as TransferTransactionDetailsViewModel; Assert.AreEqual(expectedViewModel, viewModel); }
public void Assign() { _db = new Mock <EmployerFinanceDbContext>(); _periodEnd = new PeriodEnd { Id = 1, PeriodEndId = PeriodEnd, AccountDataValidAt = DateTime.Now.AddDays(-2), CalendarPeriodMonth = 2, CalendarPeriodYear = 2018, CommitmentDataValidAt = DateTime.Now.AddDays(-1), CompletionDateTime = DateTime.Now, PaymentsForPeriod = "Test" }; _senderTranferTransaction = new TransactionLineEntity { AccountId = SenderAccountId, TransferSenderAccountId = SenderAccountId, TransferReceiverAccountId = ReceiverAccountId, PeriodEnd = PeriodEnd, DateCreated = DateTime.Now.AddDays(-2), TransactionType = TransactionItemType.Transfer }; _recieverTranferTransaction = new TransactionLineEntity { AccountId = ReceiverAccountId, PeriodEnd = PeriodEnd, TransferSenderAccountId = SenderAccountId, TransferReceiverAccountId = ReceiverAccountId, DateCreated = DateTime.Now.AddDays(-1), TransactionType = TransactionItemType.Transfer }; _publicHashingService = new Mock <IPublicHashingService>(); _query = new GetTransferTransactionDetailsQuery { AccountId = ReceiverAccountId, TargetAccountPublicHashedId = SenderPublicHashedId, PeriodEnd = PeriodEnd }; _response = new GetTransferTransactionDetailsResponse(); _handler = new GetTransferTransactionDetailsQueryHandler(_db.Object, _publicHashingService.Object); _transfers = new List <AccountTransfer> { new AccountTransfer { SenderAccountId = SenderAccountId, SenderAccountName = SenderAccountName, ReceiverAccountId = ReceiverAccountId, ReceiverAccountName = ReceiverAccountName, ApprenticeshipId = 1, CourseName = FirstCourseName, Amount = 123.4567M, PeriodEnd = PeriodEnd }, new AccountTransfer { SenderAccountId = SenderAccountId, SenderAccountName = SenderAccountName, ReceiverAccountId = ReceiverAccountId, ReceiverAccountName = ReceiverAccountName, ApprenticeshipId = 2, CourseName = SecondCourseName, Amount = 346.789M, PeriodEnd = PeriodEnd }, new AccountTransfer { SenderAccountId = SenderAccountId, SenderAccountName = SenderAccountName, ReceiverAccountId = ReceiverAccountId, ReceiverAccountName = ReceiverAccountName, ApprenticeshipId = 3, CourseName = SecondCourseName, Amount = 234.56M, PeriodEnd = PeriodEnd } }; _db.Setup(d => d.SqlQueryAsync <AccountTransfer>( It.IsAny <string>(), SenderAccountId, ReceiverAccountId, PeriodEnd)) .ReturnsAsync(_transfers); _db.Setup(d => d.SqlQueryAsync <AccountTransfer>( It.IsAny <string>(), ReceiverAccountId, SenderAccountId, PeriodEnd)) .ReturnsAsync(_transfers); _db.Setup(x => x.PeriodEnds).Returns(() => new DbSetStub <PeriodEnd>(_periodEnd)); _db.Setup(x => x.Transactions).Returns(() => new DbSetStub <TransactionLineEntity>( _senderTranferTransaction, _recieverTranferTransaction)); _publicHashingService.Setup(x => x.DecodeValue(SenderPublicHashedId)) .Returns(SenderAccountId); _publicHashingService.Setup(x => x.DecodeValue(ReceiverPublicHashedId)) .Returns(ReceiverAccountId); _publicHashingService.Setup(x => x.HashValue(SenderAccountId)) .Returns(SenderPublicHashedId); _publicHashingService.Setup(x => x.HashValue(ReceiverAccountId)) .Returns(ReceiverPublicHashedId); }