public async Task <bool> AddWorkExperience(int?resumeId, WorkExperienceServiceModel 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 workExperience = Mapper.Map <WorkExperience>(model); workExperience.ResumeId = resume.Id; await this.workHistoryRepository.AddAsync(workExperience); await this.workHistoryRepository.SaveChangesAsync(); return(true); }
public async Task <bool> UpdateAsync(WorkExperienceServiceModel model) { if (!this.IsEntityStateValid(model)) { return(false); } var workExperience = await this.workHistoryRepository.All().SingleOrDefaultAsync(w => w.Id == model.Id); if (workExperience == null) { return(false); } workExperience.Position = model.Position; workExperience.Institute = model.Institute; workExperience.From = model.From; workExperience.To = model.To; workExperience.Description = model.Description; this.workHistoryRepository.Update(workExperience); await this.workHistoryRepository.SaveChangesAsync(); return(true); }
public async Task AddWorkExperience_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 WorkExperienceServiceModel(); var workService = new WorkHistoryService(new EfRepository <Resume>(context), new EfRepository <WorkExperience>(context)); var result = await workService.AddWorkExperience(model.Id, serviceModel); Assert.False(result); }
public async Task UpdateAsync_WithNonExistentWorkExperience_ReturnsFalse() { var context = new JobFinderDbContext(new DbContextOptionsBuilder <JobFinderDbContext>() .UseInMemoryDatabase(Guid.NewGuid().ToString()) .Options); var serviceModel = new WorkExperienceServiceModel() { Position = "NewTest", Institute = "InstituteTest", From = 2000, To = 2001, }; var workService = new WorkHistoryService(new EfRepository <Resume>(context), new EfRepository <WorkExperience>(context)); var result = await workService.UpdateAsync(serviceModel); Assert.False(result); }
public async Task UpdateAsync_WithValidData_ReturnsTrue() { string expectedResult = "NewPosition"; var context = new JobFinderDbContext(new DbContextOptionsBuilder <JobFinderDbContext>() .UseInMemoryDatabase(Guid.NewGuid().ToString()) .Options); var model = new WorkExperience() { Position = "PositionTest", Institute = "InstituteTest", From = 2000, To = 2001, }; await context.AddAsync(model); context.SaveChanges(); var serviceModel = new WorkExperienceServiceModel() { Id = model.Id, Position = expectedResult, Institute = "InstituteTest", From = 2000, To = 2001, }; var workService = new WorkHistoryService(new EfRepository <Resume>(context), new EfRepository <WorkExperience>(context)); var result = await workService.UpdateAsync(serviceModel); Assert.True(result); var actualResult = (await context.WorksHistory.SingleAsync(w => w.Id == model.Id)).Position; Assert.Equal(expectedResult, actualResult); }
public async Task AddWorkExperience_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 WorkExperienceServiceModel() { Position = "NewTest", Institute = "InstituteTest", From = 2000, To = 2001, }; var workService = new WorkHistoryService(new EfRepository <Resume>(context), new EfRepository <WorkExperience>(context)); var result = await workService.AddWorkExperience(model.Id, serviceModel); Assert.True(result); }