Пример #1
0
        public async Task ExistThreeSkills_Executed_ThreeSkillViewModel() //padrão nomenclatura given_when_then
        {
            //Arrange
            var skills = new List <Skill>
            {
                new Skill(".Net"),
                new Skill("Angular"),
                new Skill("Sql Server")
            };

            var skillRepository = new Mock <ISkillRepository>();

            skillRepository.Setup(sr => sr.GetAll()).Returns(Task.FromResult(skills));
            var getAllSkillsQuery        = new GetAllSkillsQuery();
            var getAllSkillsQueryHandler = new GetAllSkillsQueryHandler(skillRepository.Object);

            //Act
            var skillsViewModel = await getAllSkillsQueryHandler.Handle(getAllSkillsQuery, new CancellationToken());

            //Assert
            Assert.NotNull(skillsViewModel);
            Assert.Equal(skills.Count, skillsViewModel.Count);

            foreach (var skill in skills)
            {
                var skillViewModel = skillsViewModel.SingleOrDefault(s => s.Description == skill.Description);
                Assert.NotNull(skillViewModel);
            }

            skillRepository.Verify(sr => sr.GetAll(), Times.Once);
        }
Пример #2
0
        public async Task <ActionResult <List <VacancySkillDto> > > GetAllSkills([FromQuery] GetAllSkillsQuery skillsQuery)
        {
            try
            {
                var filter = _mapper.Map <GetAllSkillsFilter>(skillsQuery);
                var skills = await _skillService.GetAllSkills(filter);

                var skillsResponse = _mapper.Map <List <VacancySkillDto> >(skills);
                return(Ok(skillsResponse));
            }
            catch (SkillValidationException exception)
                when(exception.InnerException is NotFoundSubscriptionException)
                {
                    var innerMessage = GetInnerMessage(exception);

                    return(NotFound(innerMessage));
                }
            catch (SkillValidationException exception)
            {
                var innerMessage = GetInnerMessage(exception);

                return(BadRequest(innerMessage));
            }
            catch (SkillServiceException exception)
            {
                return(Problem(exception.Message));
            }
        }
Пример #3
0
        public async Task TwoSkillsExist_Executed_ReturnTwoSkillsDTO()
        {
            //Arrange
            var skills = new List <SkillDTO>
            {
                new SkillDTO(1, "Descrição de teste 1"),
                new SkillDTO(2, "Descrição de teste 2")
            };

            var skillsRepositoryMock = new Mock <ISkillRepository>();

            skillsRepositoryMock.Setup(s => s.GetAllAsync().Result).Returns(skills);

            var getAllSkillsQuery        = new GetAllSkillsQuery("");
            var getAllSkillsQueryHandler = new GetAllSkillsQueryHandler(skillsRepositoryMock.Object);

            //Act
            var skillDTOList = await getAllSkillsQueryHandler.Handle(getAllSkillsQuery, new CancellationToken());

            //Assert
            Assert.NotNull(skillDTOList);
            Assert.NotEmpty(skillDTOList);
            Assert.Equal(skills.Count, skillDTOList.Count);

            skillsRepositoryMock.Verify(s => s.GetAllAsync().Result, Times.Once);
        }
        public async Task ExistThreeSkills_Executed_ThreeSkillsViewModel()
        {
            //Arrange
            var skills = new List <Skill>
            {
                new Skill(".NET"),
                new Skill("Angular"),
                new Skill("SQL Server")
            };

            var skillsRepository = new Mock <ISkillRepository>();

            skillsRepository.Setup(sr => sr.GetAllSkillsAsync()).Returns(Task.FromResult(skills)); //Mockando os dados da entidade para as classes do CRQS e validá-los posteriormente

            var getAllSkillsQuery        = new GetAllSkillsQuery();
            var getAllSkillsQueryHandler = new GetAllSkillsQueryHandler(skillsRepository.Object);

            //Act
            var skillsViewModel = await getAllSkillsQueryHandler.Handle(getAllSkillsQuery, new CancellationToken());

            //Assert
            Assert.NotNull(skillsViewModel);
            Assert.Equal(skills.Count, skillsViewModel.Count);

            foreach (var item in skills)
            {
                var skillViewModel = skillsViewModel.FirstOrDefault(s => s.Description == item.Description);

                Assert.NotNull(skillViewModel);
            }

            skillsRepository.Verify(sr => sr.GetAllSkillsAsync(), Times.Once);
        }
Пример #5
0
        public async Task <ApiResponse <IEnumerable <GetSkillQueryResult> > > GetAll()
        {
            var query = new GetAllSkillsQuery();
            var data  = await _operationMediator.HandleAsync(query);

            return(ApiResponse.Ok(data));
        }
        public async Task <IActionResult> Get()
        {
            var query = new GetAllSkillsQuery();

            var skills = await _mediator.Send(query);

            return(Ok(skills));
        }
Пример #7
0
        public async Task <List <SkillDTO> > Handle(GetAllSkillsQuery request, CancellationToken cancellationToken)
        {
            return(await _skillRepository.GetAll());

            //using (var sqlConnection = new SqlConnection(_connectionString))
            //{
            //    sqlConnection.Open();

            //    var script = "SELECT Id, Description FROM Skills";

            //    var skills = await sqlConnection.QueryAsync<SkillViewModel>(script);

            //    return skills.ToList();
            //}
        }
Пример #8
0
        public async Task <IActionResult> Get()
        {
            //if (_memoryCache.TryGetValue(GET_SKILLS_CACHE, out List<SkillViewModel> skills))
            //{
            //    return Ok(skills);
            //}

            var query = new GetAllSkillsQuery();

            var result = await _mediator.Send(query);

            //var memoryCacheOptions = new MemoryCacheEntryOptions
            //{
            //    AbsoluteExpirationRelativeToNow = TimeSpan.FromSeconds(3600),
            //    SlidingExpiration = TimeSpan.FromSeconds(1200)
            //};

            //_memoryCache.Set(GET_SKILLS_CACHE, result, memoryCacheOptions);

            return(Ok(result));
        }