@Test
public void modifyFeaturePropertiesResponseFromAdaptable() {

    final TopicPath topicPath = topicPath(TopicPath.Action.MODIFY);
    final JsonPointer path = JsonPointer.of("/features/" + TestConstants.FEATURE_ID + "/properties");
    final ModifyFeaturePropertiesResponse expectedCreated = ModifyFeaturePropertiesResponse
            .created(TestConstants.THING_ID, TestConstants.FEATURE_ID, TestConstants.FEATURE_PROPERTIES,
                    TestConstants.DITTO_HEADERS_V_2);
    final Adaptable adaptableCreated = Adaptable.newBuilder(topicPath)
            .withPayload(Payload.newBuilder(path)
                    .withStatus(HttpStatusCode.CREATED)
                    .withValue(TestConstants.FEATURE_PROPERTIES_JSON)
                    .build())
            .withHeaders(TestConstants.HEADERS_V_2)
            .build();
    final ThingModifyCommandResponse<?> actualCreated = underTest.fromAdaptable(adaptableCreated);
    assertWithExternalHeadersThat(actualCreated).isEqualTo(expectedCreated);
    final ModifyFeaturePropertiesResponse expectedModified =
            ModifyFeaturePropertiesResponse.modified(TestConstants.THING_ID, TestConstants.FEATURE_ID,
                    TestConstants.DITTO_HEADERS_V_2);
    final Adaptable adaptableModified = Adaptable.newBuilder(topicPath)
            .withPayload(Payload.newBuilder(path)
                    .withStatus(HttpStatusCode.NO_CONTENT)
                    .build())
            .withHeaders(TestConstants.HEADERS_V_2)
            .build();
    final ThingModifyCommandResponse<?> actualModified = underTest.fromAdaptable(adaptableModified);
    assertWithExternalHeadersThat(actualModified).isEqualTo(expectedModified);
}