public async Task AddSkill_WithValidData_ToExistingResume_WorksCorrectly() { var context = new JobFinderDbContext(new DbContextOptionsBuilder <JobFinderDbContext>() .UseInMemoryDatabase(Guid.NewGuid().ToString()) .Options); var model = new Resume() { JobSeeker = new JobSeeker() { FirstName = "JobSeekerName1", LastName = "JobSeekerName2", User = new User() { UserName = "******" } } }; await context.AddAsync(model); context.SaveChanges(); var serviceModel = new SkillServiceModel() { Name = "SkillName1" }; var skillService = new SkillService(new EfRepository <Resume>(context), new EfRepository <Skill>(context)); var result = await skillService.AddSkill(model.Id, serviceModel); Assert.True(result); }
public async Task AddSkill_ToNonExistingResume_ReturnsFalse() { var context = new JobFinderDbContext(new DbContextOptionsBuilder <JobFinderDbContext>() .UseInMemoryDatabase(Guid.NewGuid().ToString()) .Options); var model = new Resume() { JobSeeker = new JobSeeker() { FirstName = "JobSeekerName1", LastName = "JobSeekerName2", User = new User() { UserName = "******" } } }; var serviceModel = new SkillServiceModel(); var skillService = new SkillService(new EfRepository <Resume>(context), new EfRepository <Skill>(context)); var result = await skillService.AddSkill(model.Id, serviceModel); Assert.False(result); }
public async Task UpdateAsync_WithInvalidData_ReturnsTrue() { string expectedResult = "Skill1"; var context = new JobFinderDbContext(new DbContextOptionsBuilder <JobFinderDbContext>() .UseInMemoryDatabase(Guid.NewGuid().ToString()) .Options); var model = new Skill() { Name = expectedResult, Resume = new Resume() }; await context.AddAsync(model); context.SaveChanges(); var serviceModel = new SkillServiceModel() { Id = model.Id, }; var skillService = new SkillService(new EfRepository <Resume>(context), new EfRepository <Skill>(context)); var result = await skillService.UpdateAsync(serviceModel); Assert.False(result); var actualResult = (await context.Skills.SingleAsync(s => s.Id == model.Id)).Name; Assert.Equal(expectedResult, actualResult); }
public async Task <bool> AddSkill(int?resumeId, SkillServiceModel model) { if (!this.IsEntityStateValid(model)) { return(false); } if (resumeId == null) { return(false); } var resume = await this.resumesRepository.All().SingleOrDefaultAsync(r => r.Id == resumeId); if (resume == null) { return(false); } var skill = Mapper.Map <Skill>(model); skill.ResumeId = resume.Id; await this.skillsRepository.AddAsync(skill); await this.skillsRepository.SaveChangesAsync(); return(true); }
public async Task UpdateAsync_WithNonExistentSkill_ReturnsFalse() { var context = new JobFinderDbContext(new DbContextOptionsBuilder <JobFinderDbContext>() .UseInMemoryDatabase(Guid.NewGuid().ToString()) .Options); var skillService = new SkillService(new EfRepository <Resume>(context), new EfRepository <Skill>(context)); var serviceModel = new SkillServiceModel() { Name = "Skill1", }; var result = await skillService.UpdateAsync(serviceModel); }
private List <SkillAlghorythmModel> MapSubSkills(SkillServiceModel skill) { if (skill.SubSkills == null) { return(null); } var result = new List <SkillAlghorythmModel>(skill.SubSkills.Count); foreach (var subSkill in skill.SubSkills) { result.Add(new SkillAlghorythmModel() { Id = subSkill.Id, SkillType = subSkill.SkillType.Value, SubSkills = MapSubSkills(subSkill) }); } return(result); }
public async Task <bool> UpdateAsync(SkillServiceModel model) { if (!this.IsEntityStateValid(model)) { return(false); } var skill = await this.skillsRepository.All().SingleOrDefaultAsync(s => s.Id == model.Id); if (skill == null) { return(false); } skill.Name = model.Name; skill.Description = model.Description; this.skillsRepository.Update(skill); await this.skillsRepository.SaveChangesAsync(); return(true); }