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 ); }
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 ); }
/// <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 ); }