public VacancyDto CreateForUser(Int32 userId, CreateVacancyDto vacancyData) { User user = _userRepository.Get(userId); if (user.Type != UserType.Recruiter) { throw new ArgumentException($"Unable to create recruiter for not candidate user with id {userId}!"); } if (_vacancyRepository.IsHaveForUser(userId)) { throw new ArgumentException($"Vacancy for user with id {userId} have already created!"); } var vacancy = new Vacancy( user, _specializationRepository.GetByName(vacancyData.Specialization), vacancyData.Skills .Select(s => _skillRepository.GetByName(s)) .ToList(), vacancyData.Information); vacancy = _vacancyRepository.Create(vacancy); return(VacancyDto.Create(vacancy)); }
public void Should_create_new_vacancy_for_user_in_repository() { // Arrange var userId = 6; var vacancyData = new CreateVacancyDto( "Spec2", new List <String> { "Skill1", "Skill3" }, "Inform"); var expected = new VacancyDto( userId, 2, vacancyData.Specialization, vacancyData.Skills, vacancyData.Information); // Act var result = _vacancyService.CreateForUser(userId, vacancyData); // Assert Assert.That(result != null); Assert.That(result.Equals(expected)); Assert.That(result.Equals(VacancyDto.Create(_vacancyRepository.GetForUser(userId)))); }
public void Should_return_vacancy_for_user_same_as_from_repository() { // Arrange var userId = 2; var expected = VacancyDto.Create(_vacancyRepository.GetForUser(userId)); // Act var result = _vacancyService.GetForUser(userId); // Assert Assert.That(result != null); Assert.That(result.Equals(expected)); }
public void Should_return_vacancy_by_id_same_as_from_repository() { // Arrange var vacancyId = 0; var expected = VacancyDto.Create(_vacancyRepository.Get(vacancyId)); // Act var result = _vacancyService.Get(vacancyId); // Assert Assert.That(result != null); Assert.That(result.Equals(expected)); }
public VacancyDto Delete(Int32 vacancyId) { return(VacancyDto.Create(_vacancyRepository.Delete(vacancyId))); }
public VacancyDto GetForUser(Int32 userId) { return(VacancyDto.Create(_vacancyRepository.GetForUser(userId))); }
public VacancyDto Get(Int32 vacancyId) { return(VacancyDto.Create(_vacancyRepository.Get(vacancyId))); }