final Response idPropertyResp = domainObjectResource.propertyDetails("OID:1", "id");
final RestfulResponse<ObjectPropertyRepresentation> idPropertyJsonResp = RestfulResponse.ofT(idPropertyResp);
assertThat(idPropertyJsonResp.getStatus().getFamily(), is(Family.SUCCESSFUL));
// then
final ObjectPropertyRepresentation propertyDetailsRepr = idPropertyJsonResp.getEntity();
// _self.link
final LinkRepresentation selfLink = propertyDetailsRepr.getLink("_self.link");
assertThat(selfLink.getRel(), is("member"));
assertThat(selfLink.getHref(), matches(".+objects/OID:1/properties/id"));
assertThat(selfLink.getHttpMethod(), is(HttpMethod.GET));
// _self.object
final LinkRepresentation selfObject = propertyDetailsRepr.getLink("_self.object");
assertThat(selfObject.getRel(), is("object"));
assertThat(selfObject.getHref(), matches(".+objects/OID:1"));
assertThat(selfObject.getHttpMethod(), is(HttpMethod.GET));
// type
final LinkRepresentation type = propertyDetailsRepr.getLink("type");
assertThat(type.getRel(), is("type"));
assertThat(type.getHref(), matches(".+vnd\\.string\\+json"));
assertThat(type.getHttpMethod(), is(HttpMethod.GET));
assertThat(propertyDetailsRepr.getString("memberType"), is("property"));
assertThat(propertyDetailsRepr.getString("value"), is(org.apache.isis.tck.objstore.dflt.scalars.ApplibValuedEntityRepositoryDefault.class.getName()));
assertThat(propertyDetailsRepr.getString("disabledReason"), is(not(nullValue())));
}