diff --git a/openbis/sourceTest/java/ch/systemsx/cisd/openbis/generic/server/business/bo/SampleBOTest.java b/openbis/sourceTest/java/ch/systemsx/cisd/openbis/generic/server/business/bo/SampleBOTest.java index ad0c53372871be965cf230a708a3216456f0347c..c56bad5aa7eb695bb4b8f82570cb15bbb4bf1055 100644 --- a/openbis/sourceTest/java/ch/systemsx/cisd/openbis/generic/server/business/bo/SampleBOTest.java +++ b/openbis/sourceTest/java/ch/systemsx/cisd/openbis/generic/server/business/bo/SampleBOTest.java @@ -300,30 +300,6 @@ public final class SampleBOTest extends AbstractBOTest context.assertIsSatisfied(); } - // FIXME 2009-06-22, Piotr Buczek - // @Test - // public void testDelete() - // { - // final TechId sampleId = SAMPLE_TECH_ID; - // final SamplePE sample = createSample(DEFAULT_SAMPLE_CODE); - // sample.setId(sampleId.getId()); - // final String reason = "reason"; - // - // prepareTryToLoadOfSampleWithId(sample); - // context.checking(new Expectations() - // { - // { - // PersonPE person = EXAMPLE_SESSION.tryGetPerson(); - // EventPE event = SampleBO.createDeletionEvent(sample, person, reason); - // one(eventDAO).persist(event); - // one(sampleDAO).delete(sample); - // } - // }); - // final SampleBO sampleBO = createSampleBO(); - // sampleBO.deleteByTechId(sampleId, reason); - // context.assertIsSatisfied(); - // } - @Test public final void testDetachFromExperiment() { diff --git a/openbis/sourceTest/java/ch/systemsx/cisd/openbis/generic/server/dataaccess/db/SampleDAOTest.java b/openbis/sourceTest/java/ch/systemsx/cisd/openbis/generic/server/dataaccess/db/SampleDAOTest.java index c7e3e845b4c60bd7da362d8f3a855bc754ceeebb..efa54517e1658999fd875543c0e14f17db571be5 100644 --- a/openbis/sourceTest/java/ch/systemsx/cisd/openbis/generic/server/dataaccess/db/SampleDAOTest.java +++ b/openbis/sourceTest/java/ch/systemsx/cisd/openbis/generic/server/dataaccess/db/SampleDAOTest.java @@ -37,15 +37,20 @@ import org.testng.annotations.Test; import ch.rinn.restrictions.Friend; import ch.systemsx.cisd.openbis.generic.server.business.bo.util.SampleOwner; +import ch.systemsx.cisd.openbis.generic.server.dataaccess.IEventDAO; import ch.systemsx.cisd.openbis.generic.server.dataaccess.ISampleDAO; import ch.systemsx.cisd.openbis.generic.shared.basic.TechId; import ch.systemsx.cisd.openbis.generic.shared.dto.DatabaseInstancePE; import ch.systemsx.cisd.openbis.generic.shared.dto.EntityTypePropertyTypePE; +import ch.systemsx.cisd.openbis.generic.shared.dto.EventPE; +import ch.systemsx.cisd.openbis.generic.shared.dto.EventType; import ch.systemsx.cisd.openbis.generic.shared.dto.ExperimentPE; import ch.systemsx.cisd.openbis.generic.shared.dto.GroupPE; +import ch.systemsx.cisd.openbis.generic.shared.dto.PersonPE; import ch.systemsx.cisd.openbis.generic.shared.dto.SamplePE; import ch.systemsx.cisd.openbis.generic.shared.dto.SamplePropertyPE; import ch.systemsx.cisd.openbis.generic.shared.dto.SampleTypePE; +import ch.systemsx.cisd.openbis.generic.shared.dto.EventPE.EntityType; import ch.systemsx.cisd.openbis.generic.shared.dto.properties.EntityKind; import ch.systemsx.cisd.openbis.generic.shared.util.HibernateUtils; @@ -334,10 +339,27 @@ public final class SampleDAOTest extends AbstractDAOTest private void deleteSample(SamplePE sample) { - final ISampleDAO sampleDAO = daoFactory.getSampleDAO(); + // before deletion there shouldn't be any entry about deletion of the sample in event table + assertNull(tryGetDeletionEvent(sample)); + List<TechId> sampleIds = new ArrayList<TechId>(); sampleIds.add(TechId.create(sample)); - sampleDAO.delete(sampleIds, getSystemPerson(), "reason"); + final PersonPE registrator = getSystemPerson(); + final String reason = "reason" + sample.getPermId(); + + daoFactory.getSampleDAO().delete(sampleIds, registrator, reason); + + // after deletion there should be an entry about deletion of the sample in event table + final EventPE event = tryGetDeletionEvent(sample); + assertNotNull(event); + assertEquals(reason, event.getReason()); + assertEquals(registrator, event.getRegistrator()); + } + + private EventPE tryGetDeletionEvent(SamplePE sample) + { + final IEventDAO eventDAO = daoFactory.getEventDAO(); + return eventDAO.tryFind(sample.getPermId(), EntityType.SAMPLE, EventType.DELETION); } @Test