@Test(expected = IllegalArgumentException.class)
public void permissionCheckRejects() {

    SurveyInstanceStateMachine state = SurveyInstanceStateMachineFactory.simple("APPROVED");
    assertEquals(IN_PROGRESS, state.process(REOPENING, participant, survey));
    state.process(WITHDRAWING, participant, survey); // fails as only admin
}