### Question:
IndexTxStateUpdater { void onPropertyAdd( NodeCursor node, PropertyCursor propertyCursor, long[] labels, int propertyKeyId, int[] existingPropertyKeyIds, Value value ) { assert noSchemaChangedInTx(); Collection<SchemaDescriptor> indexes = indexingService.getRelatedIndexes( labels, propertyKeyId, NODE ); if ( !indexes.isEmpty() ) { MutableIntObjectMap<Value> materializedProperties = IntObjectMaps.mutable.empty(); NodeSchemaMatcher.onMatchingSchema( indexes.iterator(), propertyKeyId, existingPropertyKeyIds, index -> { Value[] values = getValueTuple( node, propertyCursor, propertyKeyId, value, index.schema().getPropertyIds(), materializedProperties ); indexingService.validateBeforeCommit( index.schema(), values ); read.txState().indexDoUpdateEntry( index.schema(), node.nodeReference(), null, ValueTuple.of( values ) ); } ); } } IndexTxStateUpdater( Read read, IndexingService indexingService );   }### Answer:
@Test public void shouldUpdateIndexesOnAddedProperty() { indexTxUpdater.onPropertyAdd( node, propertyCursor, node.labels().all(), newPropId, props, Values.of( "newHi" ) ); verifyIndexUpdate( indexOn2_new.schema(), node.nodeReference(), null, values( "newHi" ) ); verifyIndexUpdate( indexOn1_1_new.schema(), node.nodeReference(), null, values( "hi1", "newHi" ) ); verify( txState, times( 2 ) ).indexDoUpdateEntry( any(), anyLong(), isNull(), any() ); }