public async Task SaveAsyncWhenSaveReturnsSaved() { //Arrange var mockVetProfileRepository = GetDefaultIVetProfileRepositoryInstance(); var mockVetVeterinaryRepository = GetDefaultIVetVeterinaryRepositoryInstance(); var mockUnitOfWork = GetDefaultIUnitOfWorkInstance(); var mockCityRepository = GetDefaultICityRepositoryInstance(); var mockProvinceRepository = GetDefaultIProvinceRepositoryInstance(); var mockUserRepository = GetDefaultIUserRepositoryInstance(); User user = new User { Id = 1, Mail = "*****@*****.**", UserTypeVet = true }; Province province = new Province { Id = 1, Name = "Lima" }; City city = new City { Id = 10, Name = "SJL", ProvinceId = 1 }; VetProfile vetProfile = new VetProfile { Id = 10, Name = "Jose", Code = 15 }; mockUserRepository.Setup(p => p.AddAsync(user)) .Returns(Task.FromResult <User>(user)); mockUserRepository.Setup(p => p.FindByIdAsync(1)) .Returns(Task.FromResult <User>(user)); mockProvinceRepository.Setup(p => p.AddAsync(province)) .Returns(Task.FromResult <Province>(province)); mockProvinceRepository.Setup(p => p.FindById(1)) .Returns(Task.FromResult <Province>(province)); mockCityRepository.Setup(r => r.AddAsync(city)) .Returns(Task.FromResult <City>(city)); mockCityRepository.Setup(p => p.FindById(10)) .Returns(Task.FromResult <City>(city)); mockVetProfileRepository.Setup(r => r.AddAsync(vetProfile)) .Returns(Task.FromResult <VetProfile>(null)); var service = new VetProfileService(mockVetProfileRepository.Object, mockVetVeterinaryRepository.Object, mockUnitOfWork.Object, mockProvinceRepository.Object, mockCityRepository.Object, mockUserRepository.Object); //Act VetProfileResponse result = await service.SaveAsync(1, 10, 1, vetProfile); //Assert result.Resource.Should().Be(vetProfile); }
public async Task <VetProfileResponse> UpdateAsync(int id, VetProfile vetProfile) { var existingVetProfile = await _vetProfileRepository.FindById(id); if (existingVetProfile == null) { return(new VetProfileResponse("VetProfile not found")); } existingVetProfile.BirthDate = vetProfile.BirthDate; existingVetProfile.ExperienceYear = vetProfile.ExperienceYear; existingVetProfile.Name = vetProfile.Name; existingVetProfile.TelephonicNumber = existingVetProfile.TelephonicNumber; try { _vetProfileRepository.Update(existingVetProfile); await _unitOfWork.CompleteAsync(); return(new VetProfileResponse(existingVetProfile)); } catch (Exception ex) { return(new VetProfileResponse($"An error ocurred whike updating VetProfile: {ex.Message}")); } }
public async Task <VetProfileResponse> SaveAsync(int provinceId, int cityId, int userId, VetProfile vetProfile) { var existingProvince = await _provinceRepository.FindById(provinceId); var existingCity = await _cityRepository.FindById(cityId); var existingUser = await _userRepository.FindByIdAsync(userId); if (existingProvince == null) { return(new VetProfileResponse("Province not found, a vet needs a province to exist")); } if (existingCity == null) { return(new VetProfileResponse("City not found, a vet needs a city to exist")); } if (existingCity.ProvinceId != provinceId) { return(new VetProfileResponse("The City does not exist in the province")); } if (existingUser == null) { return(new VetProfileResponse("The User does not exist, a profile of vet depends of an user")); } IEnumerable <VetProfile> vetProfiles = await ListAsync(); List <VetProfile> vetProfilesList = vetProfiles.ToList(); bool differentUserId = true; vetProfilesList.ForEach(vetP => { if (vetP.UserId == userId) { differentUserId = false; } }); if (!differentUserId) { return(new VetProfileResponse("The User is on used of other profile")); } if (existingUser.UserTypeVet == false) { return(new VetProfileResponse("The User is for owner profiles")); } try { await _vetProfileRepository.AddAsync(vetProfile); await _unitOfWork.CompleteAsync(); return(new VetProfileResponse(vetProfile)); } catch (Exception ex) { return(new VetProfileResponse($"An error ocurred while saving VetProfile: {ex.Message}")); } }
public void Update(VetProfile vetProfile) { _context.VetProfiles.Update(vetProfile); }
public void Remove(VetProfile vetProfile) { _context.VetProfiles.Remove(vetProfile); }
public async Task AddAsync(VetProfile vetProfile) { await _context.VetProfiles.AddAsync(vetProfile); }