public void Handle_GivenValidPatientInfo_ReturnsPatientDtoThatWasSavedInDB() { var patientRepository = new PatientRepository(SessionProvider); var patientFactory = new PatientFactory(patientRepository, new PatientUniqueIdentifierGenerator()); var dtoToDomainMappingHelper = new DtoToDomainMappingHelper(new LookupValueRepository(SessionProvider)); var handler = new CreateNewPatientRequestHandler(dtoToDomainMappingHelper, patientFactory) { SessionProvider = SessionProvider }; // When you do Agatha Request Handler testing, always declare the request as the base class type Agatha.Common.Request Request request = new CreateNewPatientRequest { AgencyKey = SafeHarborAgency.Key, BirthDate = new DateTime(1983, 8, 29), FirstName = "John", Gender = new LookupValueDto { WellKnownName = MaleGender.WellKnownName, Key = MaleGender.Key, Name = MaleGender.Name }, LastName = "Smith", MiddleName = "Middle" }; var response = handler.Handle(request) as CreateNewPatientResponse; Assert.IsTrue(response.PatientDto.Key > 0); }
/// <summary> /// Adds the new. /// </summary> protected override void AddNew() { AddNewState = AddNewState.Unknown; var createPatientRequest = new CreateNewPatientRequest { AgencyKey = CurrentUserContext.Agency.Key, FirstName = AddNewPatient.FirstName, LastName = AddNewPatient.LastName, BirthDate = AddNewPatient.BirthDate, Gender = AddNewPatient.Gender }; var requestDispatcher = _asyncRequestDispatcherFactory.CreateAsyncRequestDispatcher(); requestDispatcher.Add(createPatientRequest); IsLoading = true; requestDispatcher.ProcessRequests(CreatePatientRequestDispatcherCompleted, HandleRequestDispatcherException); }
public void Handle_GivenInValidPatientInfo_ThrowsException() { var patientRepository = new PatientRepository(SessionProvider); var patientFactory = new PatientFactory(patientRepository, new PatientUniqueIdentifierGenerator()); var dtoToDomainMappingHelper = new DtoToDomainMappingHelper(new LookupValueRepository(SessionProvider)); var handler = new CreateNewPatientRequestHandler(dtoToDomainMappingHelper, patientFactory) { SessionProvider = SessionProvider }; // When you do Agatha Request Handler testing, always declare the request as the base class type Agatha.Common.Request Request request = new CreateNewPatientRequest { AgencyKey = SafeHarborAgency.Key }; handler.Handle(request); }
public async Task <string> CreateNewPatient(CreateNewPatientRequest request) { var id = newPatientID(); Patient patient = new Patient { Id = id, Name = request.Name, Birthday = request.Birthday, Gender = request.Gender, Phone = request.Phone, Address = request.Address }; _unitOfWork.GetRepository <Patient>().Add(patient); await _unitOfWork.CommitAsync(); return(id); }