Exemple #1
0
        public async Task GetCodingSkillWithNoResults()
        {
            var filter = new CodingSkillFilter()
            {
                Name = new Guid().ToString()
            };

            List <CodingSkill> skills = await Get <List <CodingSkill> >(API_URL, filter);

            Assert.True(skills != null && !skills.Any(), "No skills should found from the API.");
        }
Exemple #2
0
        /// <summary>
        /// Get the skills by filter.
        /// </summary>
        /// <returns>List of skills matching given filter.</returns>
        /// <param name="filter">Filter</param>
        public async Task <IEnumerable <CodingSkillEntity> > GetByFilter(CodingSkillFilter filter)
        {
            var codingSkills = _context.CodingSkills.AsQueryable();

            // Apply filter
            if (filter.Levels != null && filter.Levels.Any())
            {
                codingSkills = codingSkills.Where(skill => filter.Levels.Contains(skill.Level));
            }
            if (!string.IsNullOrWhiteSpace(filter.Name))
            {
                codingSkills = codingSkills.Where(skill => skill.Name.Contains(filter.Name, StringComparison.CurrentCultureIgnoreCase));
            }

            return(await codingSkills.OrderBy(skill => skill.Level).ToListAsync());
        }
        public async Task GetSkillByLevel()
        {
            var testSkill = testSkills.First();

            using var ctx = await DBContextHelper.ResetWithData(testSkills);

            ICodingSkillRepository repo = new CodingSkillRepository(ctx); var filter = new CodingSkillFilter()

            {
                Levels = new List <CodingSkillLevel> {
                    testSkill.Level
                }
            };
            IEnumerable <CodingSkillEntity> skills = await repo.GetByFilter(filter);

            Assert.All(skills, skill => filter.Levels.Contains(skill.Level));
            Assert.Contains(skills, s => s.Id == testSkill.Id);
        }
Exemple #4
0
 /// <summary>
 /// Get coding skills by filter.
 /// </summary>
 /// <returns>List of coding skills matching to filter.</returns>
 /// <param name="filter">Filter</param>
 public async Task <IEnumerable <CodingSkillEntity> > GetByFilter(CodingSkillFilter filter)
 {
     return(await _codingSkillRepository.GetByFilter(filter));
 }
Exemple #5
0
        public async Task <IActionResult> Get([FromQuery] CodingSkillFilter filter)
        {
            var entities = await _codingSkillService.GetByFilter(filter);

            return(Ok(_mapper.Map <IEnumerable <CodingSkill> >(entities)));
        }