@Override public Property relationshipGetProperty( KernelStatement state, long relationshipId, int propertyKeyId) throws EntityNotFoundException { if (state.hasTxStateWithChanges()) { Iterator<DefinedProperty> properties = relationshipGetAllProperties(state, relationshipId); while (properties.hasNext()) { Property property = properties.next(); if (property.propertyKeyId() == propertyKeyId) { return property; } } return Property.noRelationshipProperty(relationshipId, propertyKeyId); } return storeLayer.relationshipGetProperty(relationshipId, propertyKeyId); }
@Test public void shouldListRemovedRelationshipProperties() throws Exception { // Given DefinedProperty prevValue = stringProperty(1, "prevValue"); state.relationshipDoRemoveProperty(1l, prevValue); when(ops.propertyKeyGetName(1)).thenReturn("theKey"); when(ops.relationshipGetProperty(1, 1)).thenReturn(prevValue); // When Iterable<PropertyEntry<Relationship>> propertyEntries = snapshot().removedRelationshipProperties(); // Then PropertyEntry<Relationship> entry = single(propertyEntries); assertThat(entry.key(), equalTo("theKey")); assertThat(entry.previouslyCommitedValue(), equalTo((Object) "prevValue")); assertThat(entry.entity().getId(), equalTo(1l)); }