Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
21 changes: 21 additions & 0 deletions CHANGELOG.adoc
Original file line number Diff line number Diff line change
@@ -1,5 +1,26 @@
= Changelog

== v2026.5.0 (work in progress)

=== Shapes

=== Breaking changes

- [cleanup] The definition of the tools specific to the requirements table has been moved to the backend.
As a result, the following GraphQL mutations have been removed `exposeRequirements` and `createRequirement`.

=== Dependency update


=== Bug fixes


=== Improvements


=== New features


== v2026.3.0 (work in progress)

=== Shapes
Expand Down

This file was deleted.

This file was deleted.

Original file line number Diff line number Diff line change
Expand Up @@ -27,20 +27,21 @@
import org.eclipse.sirius.components.collaborative.dto.CreateRepresentationInput;
import org.eclipse.sirius.components.collaborative.tables.TableEventInput;
import org.eclipse.sirius.components.collaborative.tables.dto.InvokeRowContextMenuEntryInput;
import org.eclipse.sirius.components.collaborative.tables.dto.InvokeToolMenuEntryInput;
import org.eclipse.sirius.components.core.api.SuccessPayload;
import org.eclipse.sirius.components.tables.TextareaCell;
import org.eclipse.sirius.components.tables.TextfieldCell;
import org.eclipse.sirius.components.tables.tests.graphql.InvokeRowContextMenuEntryMutationRunner;
import org.eclipse.sirius.components.tables.tests.graphql.InvokeToolMenuEntryMutationRunner;
import org.eclipse.sirius.components.tables.tests.graphql.RowContextMenuQueryRunner;
import org.eclipse.sirius.components.tables.tests.graphql.TableEventSubscriptionRunner;
import org.eclipse.sirius.components.tables.tests.graphql.ToolMenuEntriesQueryRunner;
import org.eclipse.sirius.web.tests.services.api.IGivenCreatedTableSubscription;
import org.eclipse.sirius.web.tests.services.api.IGivenInitialServerState;
import org.eclipse.syson.AbstractIntegrationTests;
import org.eclipse.syson.application.controllers.diagrams.graphql.CreateRequirementMutationRunner;
import org.eclipse.syson.application.controllers.diagrams.graphql.ExposeRequirementsMutationRunner;
import org.eclipse.syson.GivenSysONServer;
import org.eclipse.syson.application.data.RequirementsTableTestProjectData;
import org.eclipse.syson.table.requirements.view.dto.CreateRequirementInput;
import org.eclipse.syson.table.requirements.view.dto.ExposeRequirementsInput;
import org.eclipse.syson.table.requirements.view.RTVTableToolMenuEntriesProvider;
import org.eclipse.syson.util.SysONRepresentationDescriptionIdentifiers;
import org.junit.jupiter.api.BeforeEach;
import org.junit.jupiter.api.DisplayName;
Expand Down Expand Up @@ -71,10 +72,7 @@ public class RequirementsTableControllerIntegrationTests extends AbstractIntegra
private IGivenCreatedTableSubscription givenCreatedTableSubscription;

@Autowired
private CreateRequirementMutationRunner createRequirementMutationRunner;

@Autowired
private ExposeRequirementsMutationRunner exposeRequirementsMutationRunner;
private InvokeToolMenuEntryMutationRunner invokeToolMenuEntryMutationRunner;

@Autowired
private RowContextMenuQueryRunner rowContextMenuQueryRunner;
Expand All @@ -85,6 +83,9 @@ public class RequirementsTableControllerIntegrationTests extends AbstractIntegra
@Autowired
private TableEventSubscriptionRunner tableEventSubscriptionRunner;

@Autowired
private ToolMenuEntriesQueryRunner toolMenuEntriesQueryRunner;

@BeforeEach
public void beforeEach() {
this.givenInitialServerState.initialize();
Expand Down Expand Up @@ -182,13 +183,15 @@ public void testCreateRequirementTableAction() {
});

Runnable createRequirementTask = () -> {
var createRequirementInput = new CreateRequirementInput(
var invokeToolMenuEntryInput = new InvokeToolMenuEntryInput(
UUID.randomUUID(),
RequirementsTableTestProjectData.EDITING_CONTEXT_ID,
tableId.get());
tableId.get(),
tableId.get(),
RTVTableToolMenuEntriesProvider.ADD_REQUIREMENT_TABLE_TOOL_ENTRY);

var result = this.createRequirementMutationRunner.run(createRequirementInput);
String typename = JsonPath.read(result.data(), "$.data.createRequirement.__typename");
var result = this.invokeToolMenuEntryMutationRunner.run(invokeToolMenuEntryInput);
String typename = JsonPath.read(result.data(), "$.data.invokeToolMenuEntry.__typename");
assertThat(typename).isEqualTo(SuccessPayload.class.getSimpleName());
};

Expand Down Expand Up @@ -222,13 +225,15 @@ public void testExposeRequirementsTableAction() {
});

Runnable exposeRequirementsTask = () -> {
var createRequirementInput = new ExposeRequirementsInput(
var invokeToolMenuEntryInput = new InvokeToolMenuEntryInput(
UUID.randomUUID(),
RequirementsTableTestProjectData.EDITING_CONTEXT_ID,
tableId.get());
tableId.get(),
tableId.get(),
RTVTableToolMenuEntriesProvider.IMPORT_EXISTING_REQUIREMENTS_TABLE_TOOL_ENTRY);

var result = this.exposeRequirementsMutationRunner.run(createRequirementInput);
String typename = JsonPath.read(result.data(), "$.data.exposeRequirements.__typename");
var result = this.invokeToolMenuEntryMutationRunner.run(invokeToolMenuEntryInput);
String typename = JsonPath.read(result.data(), "$.data.invokeToolMenuEntry.__typename");
assertThat(typename).isEqualTo(SuccessPayload.class.getSimpleName());
};

Expand Down Expand Up @@ -269,13 +274,15 @@ public void testDeleteFromTable() {
});

Runnable exposeRequirementsTask = () -> {
var createRequirementInput = new ExposeRequirementsInput(
var invokeToolMenuEntryInput = new InvokeToolMenuEntryInput(
UUID.randomUUID(),
RequirementsTableTestProjectData.EDITING_CONTEXT_ID,
tableId.get());
tableId.get(),
tableId.get(),
RTVTableToolMenuEntriesProvider.IMPORT_EXISTING_REQUIREMENTS_TABLE_TOOL_ENTRY);

var result = this.exposeRequirementsMutationRunner.run(createRequirementInput);
String typename = JsonPath.read(result.data(), "$.data.exposeRequirements.__typename");
var result = this.invokeToolMenuEntryMutationRunner.run(invokeToolMenuEntryInput);
String typename = JsonPath.read(result.data(), "$.data.invokeToolMenuEntry.__typename");
assertThat(typename).isEqualTo(SuccessPayload.class.getSimpleName());
};

Expand Down Expand Up @@ -354,13 +361,15 @@ public void testDeleteFromModel() {
});

Runnable exposeRequirementsTask = () -> {
var createRequirementInput = new ExposeRequirementsInput(
var invokeToolMenuEntryInput = new InvokeToolMenuEntryInput(
UUID.randomUUID(),
RequirementsTableTestProjectData.EDITING_CONTEXT_ID,
tableId.get());
tableId.get(),
tableId.get(),
RTVTableToolMenuEntriesProvider.IMPORT_EXISTING_REQUIREMENTS_TABLE_TOOL_ENTRY);

var result = this.exposeRequirementsMutationRunner.run(createRequirementInput);
String typename = JsonPath.read(result.data(), "$.data.exposeRequirements.__typename");
var result = this.invokeToolMenuEntryMutationRunner.run(invokeToolMenuEntryInput);
String typename = JsonPath.read(result.data(), "$.data.invokeToolMenuEntry.__typename");
assertThat(typename).isEqualTo(SuccessPayload.class.getSimpleName());
};

Expand Down Expand Up @@ -419,4 +428,20 @@ public void testDeleteFromModel() {
.thenCancel()
.verify(Duration.ofSeconds(10));
}

@Test
@GivenSysONServer({ RequirementsTableTestProjectData.SCRIPT_PATH })
@DisplayName("Given a requirements view table, when tool menu entries query is triggered, then all related tools are returned")
public void testToolMenuEntriesQuery() {

Map<String, Object> variables = Map.of(
"editingContextId", RequirementsTableTestProjectData.EDITING_CONTEXT_ID,
"representationId", RequirementsTableTestProjectData.GraphicalIds.TABLE_ID,
"tableId", RequirementsTableTestProjectData.GraphicalIds.TABLE_ID
);
var result = this.toolMenuEntriesQueryRunner.run(variables);

List<String> toolMenuEntriesId = JsonPath.read(result.data(), "$.data.viewer.editingContext.representation.description.toolMenuEntries[*].id");
assertThat(toolMenuEntriesId).containsExactlyInAnyOrder("add-requirement-table-tool-entry", "import-existing-requirements-table-tool-entry");
}
}
Loading
Loading