public async Task ShouldReturnSuccess_WhenService_GetStackById()
        {
            // Arrange
            var   stackId       = StackIds.BackEndFrameworks;
            Stack stack         = StackFake.GetStackById(stackId);
            var   stackResponse = new StackResponse {
                StackId = stack.StackId, StackName = stack.StackName
            };

            _stackRepository.Setup(m => m.GetStackByStackId(It.IsAny <StackIds>())).Returns(Task.FromResult(stack));
            _mapper.Setup(m => m.Map <StackResponse>(stack)).Returns(stackResponse);

            // Act
            StackResponse result = await _stackService.GetStackByStackId(stackId);

            // Assert
            Assert.NotNull(result);
            Assert.Equal(stack.StackId, result.StackId);
            Assert.Equal(stack.StackName, result.StackName);
        }
        public async Task ShouldReturnSuccess_WhenService_GetAllStacks()
        {
            // Arrange
            IEnumerable <Stack>         stacks         = StackFake.GetStacks();
            IEnumerable <StackResponse> stackResponses = stacks.Select(stack =>
            {
                return(new StackResponse {
                    StackId = stack.StackId, StackName = stack.StackName
                });
            });

            _stackRepository.Setup(m => m.GetAll()).Returns(Task.FromResult(stacks));
            _mapper.Setup(m => m.Map <IEnumerable <StackResponse> >(It.IsAny <IEnumerable <Stack> >())).Returns(stackResponses);

            // Act
            IEnumerable <StackResponse> result = await _stackService.GetAll();

            // Assert
            Assert.NotEmpty(result);
            Assert.Equal(result.Count(), stackResponses.Count());
        }