Skip to content

Commit c9a318e

Browse files
authored
Display generic relationships with cardinality one in the object detail view (#6589)
1 parent 9f0d3be commit c9a318e

File tree

4 files changed

+23
-4
lines changed

4 files changed

+23
-4
lines changed

changelog/+generic-one.fixed.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
Display generic relationships with cardinality one in the object detail view.

docs/docs/topics/schema.mdx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -169,7 +169,7 @@ The `kind` of a model is generated by concatenating the `namespace` and the `nam
169169

170170
| ID | cardinality | Display in List View | Display in Detailed View | Display in Tab |
171171
| ------------------------- | ----------- | --------------------- | ------------------------- | -------------- |
172-
| `Generic` | `one` | No | No | Yes |
172+
| `Generic` | `one` | No | Yes | No |
173173
| `Generic` | `many` | No | No | Yes |
174174
| `Attribute` | `one` | Yes | Yes | No |
175175
| `Attribute` | `many` | Yes | Yes | No |

frontend/app/src/entities/nodes/object/utils/get-relationships-visible-in-detailed-view.test.ts

Lines changed: 20 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -26,6 +26,20 @@ describe("getRelationshipsVisibleInDetailedView", () => {
2626
expect(result).toEqual(relationships);
2727
});
2828

29+
it("should return only Generic relationships with cardinality 'one'", () => {
30+
// GIVEN
31+
const relationships = [
32+
generateRelationshipSchema({ kind: "Generic", cardinality: "one" }),
33+
generateRelationshipSchema({ kind: "Generic", cardinality: "many" }),
34+
];
35+
36+
// WHEN
37+
const result = getRelationshipsVisibleInDetailedView(relationships);
38+
39+
// THEN
40+
expect(result).toEqual([generateRelationshipSchema({ kind: "Generic", cardinality: "one" })]);
41+
});
42+
2943
it("should return only Component relationships with cardinality 'one'", () => {
3044
// GIVEN
3145
const relationships = [
@@ -54,10 +68,10 @@ describe("getRelationshipsVisibleInDetailedView", () => {
5468
expect(result).toEqual([generateRelationshipSchema({ kind: "Hierarchy", cardinality: "one" })]);
5569
});
5670

57-
it("should not return other relationship types", () => {
71+
it("should not return Group relationship types", () => {
5872
// GIVEN
5973
const relationships = [
60-
generateRelationshipSchema({ kind: "Generic", cardinality: "one" }),
74+
generateRelationshipSchema({ kind: "Group", cardinality: "one" }),
6175
generateRelationshipSchema({ kind: "Group", cardinality: "many" }),
6276
];
6377

@@ -73,11 +87,13 @@ describe("getRelationshipsVisibleInDetailedView", () => {
7387
const relationships = [
7488
generateRelationshipSchema({ kind: "Attribute", cardinality: "many" }),
7589
generateRelationshipSchema({ kind: "Parent", cardinality: "one" }),
90+
generateRelationshipSchema({ kind: "Generic", cardinality: "one" }),
91+
generateRelationshipSchema({ kind: "Generic", cardinality: "many" }),
7692
generateRelationshipSchema({ kind: "Component", cardinality: "one" }),
7793
generateRelationshipSchema({ kind: "Component", cardinality: "many" }),
7894
generateRelationshipSchema({ kind: "Hierarchy", cardinality: "one" }),
7995
generateRelationshipSchema({ kind: "Hierarchy", cardinality: "many" }),
80-
generateRelationshipSchema({ kind: "Generic", cardinality: "one" }),
96+
generateRelationshipSchema({ kind: "Group", cardinality: "many" }),
8197
];
8298

8399
// WHEN
@@ -87,6 +103,7 @@ describe("getRelationshipsVisibleInDetailedView", () => {
87103
expect(result).toEqual([
88104
generateRelationshipSchema({ kind: "Attribute", cardinality: "many" }),
89105
generateRelationshipSchema({ kind: "Parent", cardinality: "one" }),
106+
generateRelationshipSchema({ kind: "Generic", cardinality: "one" }),
90107
generateRelationshipSchema({ kind: "Component", cardinality: "one" }),
91108
generateRelationshipSchema({ kind: "Hierarchy", cardinality: "one" }),
92109
]);

frontend/app/src/entities/nodes/object/utils/get-relationships-visible-in-detailed-view.ts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,7 @@ export function getRelationshipsVisibleInDetailedView(
1010
return true;
1111
}
1212
case "Component":
13+
case "Generic":
1314
case "Hierarchy": {
1415
return relationship.cardinality === "one";
1516
}

0 commit comments

Comments
 (0)