package edu.ualberta.med.biobank.test.wrappers; import java.util.ArrayList; import java.util.List; import org.junit.Assert; import org.junit.Test; import edu.ualberta.med.biobank.common.util.RequestSpecimenState; import edu.ualberta.med.biobank.common.wrappers.CollectionEventWrapper; import edu.ualberta.med.biobank.common.wrappers.PatientWrapper; import edu.ualberta.med.biobank.common.wrappers.RequestSpecimenWrapper; import edu.ualberta.med.biobank.common.wrappers.RequestWrapper; import edu.ualberta.med.biobank.common.wrappers.SiteWrapper; import edu.ualberta.med.biobank.common.wrappers.SpecimenWrapper; import edu.ualberta.med.biobank.common.wrappers.StudyWrapper; import edu.ualberta.med.biobank.test.TestDatabase; import edu.ualberta.med.biobank.test.internal.CollectionEventHelper; import edu.ualberta.med.biobank.test.internal.PatientHelper; import edu.ualberta.med.biobank.test.internal.RequestHelper; import edu.ualberta.med.biobank.test.internal.SiteHelper; import edu.ualberta.med.biobank.test.internal.SpecimenHelper; import edu.ualberta.med.biobank.test.internal.SpecimenTypeHelper; import edu.ualberta.med.biobank.test.internal.StudyHelper; @Deprecated public class TestRequest extends TestDatabase { @Test public void testGettersAndSetters() throws Exception { SiteWrapper site = SiteHelper.addSite("testRequestSite"); StudyWrapper study = StudyHelper.addStudy("testRequestStudy"); PatientWrapper patient = PatientHelper.addPatient("testPatientNumber", study); CollectionEventWrapper eventWrapper = CollectionEventHelper .addCollectionEvent(site, patient, 1, SpecimenHelper .newSpecimen(SpecimenTypeHelper.addSpecimenType("stTypeName"))); RequestWrapper req = RequestHelper.addRequest(study, true, eventWrapper .getOriginalSpecimenCollection(false).get(0)); testGettersAndSetters(req); } @Test public void testGetConstructorsAndRetrieval() throws Exception { /* * RequestWrapper request = new RequestWrapper(appService); * RequestWrapper request2 = new RequestWrapper(appService, new * Request()); * * SiteWrapper site = SiteHelper.addSite("testRequestSite"); * StudyWrapper study = StudyHelper.addStudy("testRequestStudy"); * PatientWrapper patient = * PatientHelper.addPatient("testPatientNumber", study); * CollectionEventWrapper eventWrapper = CollectionEventHelper * .addCollectionEvent(site, patient, 1, SpecimenHelper * .newSpecimen(SpecimenTypeHelper.addSpecimenType("stTypeName"))); * AddressWrapper address = new AddressWrapper(appService); * address.setCity("testCity"); address.persist(); * * request.setStudy(study); request.setSubmitted(new Date()); * request.setAddress(address); * * request2.setStudy(study); request2.setSubmitted(new Date()); * request2.setAddress(address); * * request.persist(); request2.persist(); * * try { Assert.assertEquals(request, * RequestWrapper.getRequestByNumber(appService, request.getId()) * .get(0)); Assert.assertEquals(request2, * RequestWrapper.getRequestByNumber(appService, request2.getId()) * .get(0)); } finally { request.delete(); request2.delete(); } */ } @Test public void testGetRequestSpecimens() throws Exception { SiteWrapper site = SiteHelper.addSite("testRequestSite"); StudyWrapper study = StudyHelper.addStudy("testRequestStudy"); PatientWrapper patient = PatientHelper.addPatient("testPatientNumber", study); CollectionEventWrapper eventWrapper = CollectionEventHelper .addCollectionEvent(site, patient, 1, SpecimenHelper .newSpecimen(SpecimenTypeHelper.addSpecimenType("stTypeName"))); RequestWrapper req = RequestHelper.addRequest(study, true, eventWrapper .getOriginalSpecimenCollection(false).get(0)); List<RequestSpecimenWrapper> specs = req .getNonProcessedRequestSpecimenCollection(); Assert.assertEquals(1, req.getNonProcessedRequestSpecimenCollection() .size()); Assert.assertEquals(0, req.getUnavailableRequestSpecimenCollection() .size()); Assert.assertEquals(0, req.getProcessedRequestSpecimenCollection() .size()); specs.get(0).setState(RequestSpecimenState.PULLED_STATE); specs.get(0).persist(); req.reload(); Assert.assertEquals(0, req.getNonProcessedRequestSpecimenCollection() .size()); Assert.assertEquals(0, req.getUnavailableRequestSpecimenCollection() .size()); Assert.assertEquals(1, req.getProcessedRequestSpecimenCollection() .size()); specs.get(0).setState(RequestSpecimenState.UNAVAILABLE_STATE); specs.get(0).persist(); req.reload(); Assert.assertEquals(0, req.getNonProcessedRequestSpecimenCollection() .size()); Assert.assertEquals(1, req.getUnavailableRequestSpecimenCollection() .size()); Assert.assertEquals(0, req.getProcessedRequestSpecimenCollection() .size()); } @Test public void testRequestReceiving() throws Exception { SiteWrapper site = SiteHelper.addSite("testRequestSite"); StudyWrapper study = StudyHelper.addStudy("testRequestStudy"); PatientWrapper patient = PatientHelper.addPatient("testPatientNumber", study); CollectionEventWrapper eventWrapper = CollectionEventHelper .addCollectionEvent(site, patient, 1, SpecimenHelper .newSpecimen(SpecimenTypeHelper.addSpecimenType("stTypeName"))); RequestWrapper req = RequestHelper.addRequest(study, true, eventWrapper .getOriginalSpecimenCollection(false).get(0)); List<RequestSpecimenWrapper> rspecs = req .getNonProcessedRequestSpecimenCollection(); List<SpecimenWrapper> specs = new ArrayList<SpecimenWrapper>(); specs.add(rspecs.get(0).getSpecimen()); Assert.assertEquals(1, req.getNonProcessedRequestSpecimenCollection() .size()); Assert.assertEquals(0, req.getProcessedRequestSpecimenCollection() .size()); Assert.assertEquals(0, req.getUnavailableRequestSpecimenCollection() .size()); req.receiveSpecimens(specs); Assert.assertEquals(0, req.getNonProcessedRequestSpecimenCollection() .size()); Assert.assertEquals(1, req.getProcessedRequestSpecimenCollection() .size()); Assert.assertEquals(0, req.getUnavailableRequestSpecimenCollection() .size()); } @Test public void testResetStateList() throws Exception { SiteWrapper site = SiteHelper.addSite("testRequestSite"); StudyWrapper study = StudyHelper.addStudy("testRequestStudy"); PatientWrapper patient = PatientHelper.addPatient("testPatientNumber", study); CollectionEventWrapper eventWrapper = CollectionEventHelper .addCollectionEvent(site, patient, 1, SpecimenHelper .newSpecimen(SpecimenTypeHelper.addSpecimenType("stTypeName"))); RequestWrapper req = RequestHelper.addRequest(study, true, eventWrapper .getOriginalSpecimenCollection(false).get(0)); List<RequestSpecimenWrapper> rspecs = req .getNonProcessedRequestSpecimenCollection(); List<SpecimenWrapper> specs = new ArrayList<SpecimenWrapper>(); specs.add(rspecs.get(0).getSpecimen()); Assert.assertEquals(1, req.getNonProcessedRequestSpecimenCollection() .size()); Assert.assertEquals(0, req.getProcessedRequestSpecimenCollection() .size()); Assert.assertEquals(0, req.getUnavailableRequestSpecimenCollection() .size()); req.resetStateLists(); Assert.assertEquals(1, req.getNonProcessedRequestSpecimenCollection() .size()); Assert.assertEquals(0, req.getProcessedRequestSpecimenCollection() .size()); Assert.assertEquals(0, req.getUnavailableRequestSpecimenCollection() .size()); req.getRequestSpecimen( req.getNonProcessedRequestSpecimenCollection().get(0).getSpecimen() .getInventoryId()).setState( RequestSpecimenState.DISPATCHED_STATE); req.resetStateLists(); Assert.assertEquals(0, req.getNonProcessedRequestSpecimenCollection() .size()); Assert.assertEquals(0, req.getProcessedRequestSpecimenCollection() .size()); Assert.assertEquals(0, req.getUnavailableRequestSpecimenCollection() .size()); } }