예제 #1
0
        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));
        }
예제 #2
0
        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);
        }