Class AnnotationSetTriagePersistenceIT

java.lang.Object
ubic.gemma.core.util.test.BaseTest5
ubic.gemma.core.util.test.BaseIntegrationTest5
ubic.gemma.persistence.service.common.auditAndSecurity.curation.AnnotationSetTriagePersistenceIT

@Transactional public class AnnotationSetTriagePersistenceIT extends BaseIntegrationTest5
Persistence contract for AnnotationSetTriage — the row-per-judge triage model.

The properties worth pinning are the ones a column-per-judge design would not have had: that two judges coexist, that one judge has exactly one standing ruling, and that "effective" means most recent rather than curator-outranks-agent.

  • Constructor Details

    • AnnotationSetTriagePersistenceIT

      public AnnotationSetTriagePersistenceIT()
  • Method Details

    • seed

      @BeforeEach public void seed()
    • untriaged_hasNoRow

      @Test @DisplayName("an un-triaged set has no row at all -- absence is the state") public void untriaged_hasNoRow()
    • twoJudgesCoexist

      @Test @DisplayName("two judges coexist -- the thing a column per judge could not do") public void twoJudgesCoexist()
    • sameJudgeTwice_upsertsInPlace

      @Test @DisplayName("one standing ruling per judge -- a second call updates rather than appends") public void sameJudgeTwice_upsertsInPlace()
    • effectiveIsMostRecent_notCuratorByRank

      @Test @DisplayName("the effective ruling is the most recent, not the curator's by rank") public void effectiveIsMostRecent_notCuratorByRank()
    • reviewedByHuman_onlyWhenACuratorRuled

      @Test @DisplayName("reviewedByHuman distinguishes a reviewed set from a machine-seen one") public void reviewedByHuman_onlyWhenACuratorRuled()
    • withdraw_returnsToUntriaged

      @Test @DisplayName("withdrawing the only ruling returns the set to un-triaged") public void withdraw_returnsToUntriaged()
    • effectiveForIds_omitsUnruledSets

      @Test @DisplayName("the batched effective lookup omits sets nobody ruled on") public void effectiveForIds_omitsUnruledSets()
    • overlongNoteIsTruncated

      @Test @DisplayName("a note longer than the column is truncated, not rejected") public void overlongNoteIsTruncated()