ScenarioHeaderTextAreaDOMElement extends ScenarioCellTextAreaDOMElement { @Override protected void internalFlush(final String value) { final int rowIndex = context.getRowIndex(); final int columnIndex = context.getColumnIndex(); try { boolean isInstanceHeader = scenarioHeaderMetaData != null && Objects.equals(scenarioHeaderMetaData.getMetadataType(), ScenarioHeaderMetaData.MetadataType.INSTANCE); boolean isPropertyHeader = scenarioHeaderMetaData != null && Objects.equals(scenarioHeaderMetaData.getMetadataType(), ScenarioHeaderMetaData.MetadataType.PROPERTY); ((ScenarioGrid) gridWidget).getEventBus().fireEvent(new SetHeaderCellValueEvent(((ScenarioGrid) gridWidget).getGridWidget(), rowIndex, columnIndex, value, isInstanceHeader, isPropertyHeader)); ((ScenarioGrid) gridWidget).getEventBus().fireEvent(new ReloadTestToolsEvent(true)); } catch (Exception e) { throw new IllegalArgumentException(new StringBuilder().append("Impossible to update header (").append(rowIndex) .append(") of column ").append(columnIndex).toString(), e); } } ScenarioHeaderTextAreaDOMElement(TextArea widget, GridLayer gridLayer, GridWidget gridWidget); void setScenarioHeaderMetaData(ScenarioHeaderMetaData scenarioHeaderMetaData); @Override void flush(final String value); @Override void detach();  }
@Test public void internalFlushInvalidHeader() { scenarioHeaderTextAreaDOMElement.internalFlush(MULTIPART_VALUE); verify(scenarioGridModelMock, never()).updateHeader(eq(COLUMN_INDEX), eq(ROW_INDEX), eq(MULTIPART_VALUE)); }
@Test public void internalFlushValidHeader() { scenarioHeaderTextAreaDOMElement.internalFlush(MULTIPART_VALUE); verify(eventBusMock, times(1)).fireEvent(isA(SetHeaderCellValueEvent.class)); }