public async Task GivenValidUserContext_WhenGetPayeesInvoked_ThenRepositoryCalledWithCorrectArguments() { var userId = Guid.NewGuid().ToString(); _mockCurrentUserContext.SetupGet(context => context.UserId).Returns(userId); var service = new PayerPayeeService(_mockCurrentUserContext.Object, _mockRepository.Object); await service.GetPayees(); _mockRepository.Verify(repository => repository.GetPayees(userId)); }
public async Task GivenRepositoryResponse_WhenGetPayeesInvoked_CorrectIEnumerableReturned() { var userId = Guid.NewGuid().ToString(); _mockCurrentUserContext.SetupGet(context => context.UserId).Returns(userId); var payees = new List <PayerPayee> { new() { PayerPayeeId = Guid.NewGuid().ToString(), UserId = "userId123", PayerPayeeName = "name123", ExternalId = "id123" }, new() { PayerPayeeId = Guid.NewGuid().ToString(), UserId = "userId1234", PayerPayeeName = "name123", ExternalId = "id1234" } }; var payeeViewModels = payees.Select(payee => new PayerPayeeViewModel { ExternalId = payee.ExternalId, PayerPayeeId = Guid.Parse(payee.PayerPayeeId), PayerPayeeName = payee.PayerPayeeName }); _mockRepository.Setup(repository => repository.GetPayees(It.IsAny <string>())) .ReturnsAsync(() => payees); var service = new PayerPayeeService(_mockCurrentUserContext.Object, _mockRepository.Object); var response = await service.GetPayees(); Assert.Equal(payeeViewModels, response); }