diff --git a/packages/core/admin/admin/src/content-manager/components/DynamicTable/CellContent/RelationMultiple/index.js b/packages/core/admin/admin/src/content-manager/components/DynamicTable/CellContent/RelationMultiple/index.js index 53bfc16818..00dfb8e851 100644 --- a/packages/core/admin/admin/src/content-manager/components/DynamicTable/CellContent/RelationMultiple/index.js +++ b/packages/core/admin/admin/src/content-manager/components/DynamicTable/CellContent/RelationMultiple/index.js @@ -67,7 +67,7 @@ const RelationMultiple = ({ fieldSchema, metadatas, name, entityId, value, conte staleTime: 0, select: (data) => ({ ...data, - results: data.results.reverse(), + results: [...data.results].reverse(), }), } ); diff --git a/packages/core/admin/admin/src/content-manager/components/DynamicTable/CellContent/RelationMultiple/tests/index.test.js b/packages/core/admin/admin/src/content-manager/components/DynamicTable/CellContent/RelationMultiple/tests/index.test.js index 45cc519002..80941050c6 100644 --- a/packages/core/admin/admin/src/content-manager/components/DynamicTable/CellContent/RelationMultiple/tests/index.test.js +++ b/packages/core/admin/admin/src/content-manager/components/DynamicTable/CellContent/RelationMultiple/tests/index.test.js @@ -17,6 +17,14 @@ jest.mock('@strapi/helper-plugin', () => ({ id: 1, name: 'Relation entity 1', }, + { + id: 2, + name: 'Relation entity 2', + }, + { + id: 3, + name: 'Relation entity 3', + }, ], pagination: { @@ -85,4 +93,19 @@ describe('DynamicTable / Cellcontent / RelationMultiple', () => { expect(get).toHaveBeenCalledTimes(1); await waitFor(() => expect(screen.getByText('Relation entity 1')).toBeInTheDocument()); }); + + it('Displays related entities in reversed order', async () => { + const { container } = render(); + const button = container.querySelector('[type=button]'); + + fireEvent(button, new MouseEvent('mousedown', { bubbles: true })); + + await waitFor(() => { + const buttons = screen.getAllByRole('menuitem'); + + expect(buttons[1]).toHaveTextContent('Relation entity 3'); + expect(buttons[2]).toHaveTextContent('Relation entity 2'); + expect(buttons[3]).toHaveTextContent('Relation entity 1'); + }); + }); });