/** 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();
  }