diff --git a/openbis/sourceTest/java/ch/systemsx/cisd/openbis/generic/server/business/bo/samplelister/SampleListingWorkerTest.java b/openbis/sourceTest/java/ch/systemsx/cisd/openbis/generic/server/business/bo/samplelister/SampleListingWorkerTest.java index 6cc0f3ed183033601b74af35c29efc3c917d80ad..172e0f79df172a37dcce88650f81f701f6b13f3f 100644 --- a/openbis/sourceTest/java/ch/systemsx/cisd/openbis/generic/server/business/bo/samplelister/SampleListingWorkerTest.java +++ b/openbis/sourceTest/java/ch/systemsx/cisd/openbis/generic/server/business/bo/samplelister/SampleListingWorkerTest.java @@ -59,6 +59,12 @@ public class SampleListingWorkerTest extends AbstractDAOTest private final Long[] CHILDREN_IDS = { CHILD_WITH_2_PARENTS_ID, 985L, 986L, 987L, 988L, 989L }; + private final Long[] PARENT_IDS = + { PARENT1_ID, PARENT2_ID }; + + private final Long[] GRANDPARENT_IDS = + { 325L, 4L }; + private SampleListerDAO sampleListerDAO; private SecondaryEntityDAO secondaryDAO; @@ -145,6 +151,24 @@ public class SampleListingWorkerTest extends AbstractDAOTest } } + @Test + public void testListSamplesForChild() + { + final ListSampleCriteria baseCriteria = + ListSampleCriteria.createForChild(new TechId(CHILD_WITH_2_PARENTS_ID)); + final ListOrSearchSampleCriteria criteria = new ListOrSearchSampleCriteria(baseCriteria); + final SampleListingWorker worker = + SampleListingWorker.create(criteria, BASE_INDEX_URL, sampleListerDAO, secondaryDAO); + final List<Sample> list = worker.load(); + assertEquals(2, list.size()); + for (Sample s : list) + { + assertTrue(Arrays.binarySearch(PARENT_IDS, s.getId()) >= 0); + assertTrue(Arrays.binarySearch(GRANDPARENT_IDS, s.getGeneratedFrom().getId()) >= 0); + checkSpace(s); + } + } + @Test public void testListSamplesForExperiment() {