@Test
public void updateWithSpecialArguments() throws Exception {

    // given
    final Preparation createdPreparation = new Preparation("#123", versionService.version().getVersionId());
    createdPreparation.setDataSetId("1234");
    createdPreparation.setName("test_name");
    createdPreparation.setRowMetadata(new RowMetadata());
    final String preparationId = clientTest.createPreparation(createdPreparation).getId();
    // when
    final PreparationDTO forUpdate = new PreparationDTO();
    forUpdate.setName("éàçè");
    forUpdate.setDataSetId("1234");
    final String updatedId = given()
            .contentType(ContentType.JSON.withCharset(UTF_8)) //
            .body(forUpdate) //
            .when() //
            .put("/preparations/{id}", preparationId)
            .asString();
    // then
    // Preparation id should not change (new name)
    assertThat(updatedId, is(preparationId));
    final Collection<Preparation> preparations = repository.list(Preparation.class).collect(Collectors.toList());
    assertThat(preparations.size(), is(1));
    final Preparation preparation = preparations.iterator().next();
    assertThat(preparation.id(), is(updatedId));
    assertThat(preparation.getName(), is("éàçè"));
}