/** Test that an admin can change the custom action values. */ @Test public void testUpdateCustomActionsJSON() { context.turnOffAuthorization(); Person person = personRepo.findPersonByEmail("*****@*****.**"); Submission submission = subRepo.createSubmission(person); submission.setAssignee(person); submission.save(); Long id = submission.getId(); assertEquals(submission.getAssignee().getCurrentEmailAddress(), "*****@*****.**"); CustomActionDefinition actionDef = settingRepo.createCustomActionDefinition("Passed Classes", false).save(); Long actionId = actionDef.getId(); JPA.em().getTransaction().commit(); JPA.em().clear(); JPA.em().getTransaction().begin(); LOGIN(); String UPDATE_URL = Router.reverse("ViewTab.updateCustomActionsJSON").url; Map<String, String> params = new HashMap<String, String>(); params.put("id", id.toString()); params.put("action", actionId.toString()); params.put("value", "true"); Response response = POST(UPDATE_URL, params); assertIsOk(response); submission = subRepo.findSubmission(id); actionDef = settingRepo.findCustomActionDefinition(actionId); assertTrue(submission.getCustomAction(actionDef).getValue()); submission.delete(); actionDef.delete(); context.restoreAuthorization(); }