@Test
public void testSaveNewFact() {

  FactRecord factToSave = new FactRecord()
          .setId(UUID.randomUUID())
          .setAccessMode(FactRecord.AccessMode.RoleBased)
          .setOrganizationID(UUID.randomUUID());
  mockSaveFact();
  List<UUID> subjectIds = list(UUID.randomUUID());
  handler.saveFact(factToSave, "some comment", subjectIds);
  verify(objectFactDao).storeFact(argThat(fact -> {
    assertEquals(factToSave, fact);
    assertEquals(set("some comment"), set(fact.getComments(), FactCommentRecord::getComment));
    assertEquals(set(subjectIds), set(fact.getAcl(), FactAclEntryRecord::getSubjectID));
    return true;
  }));
  verify(objectFactDao, never()).refreshFact(any());
  verify(factResponseConverter).apply(same(factToSave));
}