Skip to content

Commit 1a534f7

Browse files
authored
Merge branch '18.x.x' into readme-link-check_18
2 parents 643466c + 829be6c commit 1a534f7

File tree

79 files changed

+711
-161
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

79 files changed

+711
-161
lines changed

docs/source/release-notes/index.md

+6
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,12 @@ myst:
1717

1818
<!-- towncrier release notes start -->
1919

20+
## 18.14.1 (2025-04-25)
21+
22+
### Bugfix
23+
24+
- Add support for both Vitest and Jest in `__mocks__` folders of Volto core. Add-on tests using Jest relies on them. @Abhishek-17h [#7000](https://github.com/plone/volto/issues/7000)
25+
2026
## 18.14.0 (2025-04-23)
2127

2228
### Feature

packages/registry/CHANGELOG.md

+6
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,12 @@
88

99
<!-- towncrier release notes start -->
1010

11+
## 2.5.2 (2025-04-25)
12+
13+
### Bugfix
14+
15+
- Fixed `unRegisterSlotComponent` method. @sneridagh [#7016](https://github.com/plone/volto/issues/7016)
16+
1117
## 2.5.1 (2025-04-22)
1218

1319
### Bugfix

packages/registry/news/7016.bugfix

-1
This file was deleted.

packages/registry/package.json

+1-1
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@
99
],
1010
"funding": "https://github.com/sponsors/plone",
1111
"license": "MIT",
12-
"version": "2.5.1",
12+
"version": "2.5.2",
1313
"repository": {
1414
"type": "git",
1515
"url": "https://github.com/plone/volto.git"

packages/types/CHANGELOG.md

+6
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,12 @@
88

99
<!-- towncrier release notes start -->
1010

11+
## 1.4.1 (2025-04-25)
12+
13+
### Bugfix
14+
15+
- Better typing for `apiExpandersType` introduced in #7012. @sneridagh [#7016](https://github.com/plone/volto/issues/7016)
16+
1117
## 1.4.0 (2025-04-22)
1218

1319
### Feature

packages/types/news/7016.bugfix

-1
This file was deleted.

packages/types/package.json

+1-1
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@
99
],
1010
"funding": "https://github.com/sponsors/plone",
1111
"license": "MIT",
12-
"version": "1.4.0",
12+
"version": "1.4.1",
1313
"repository": {
1414
"type": "git",
1515
"url": "https://github.com/plone/volto.git"

packages/volto/CHANGELOG.md

+6
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,12 @@ myst:
1717

1818
<!-- towncrier release notes start -->
1919

20+
## 18.14.1 (2025-04-25)
21+
22+
### Bugfix
23+
24+
- Add support for both Vitest and Jest in `__mocks__` folders of Volto core. Add-on tests using Jest relies on them. @Abhishek-17h [#7000](https://github.com/plone/volto/issues/7000)
25+
2026
## 18.14.0 (2025-04-23)
2127

2228
### Feature

packages/volto/package.json

+1-1
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@
99
}
1010
],
1111
"license": "MIT",
12-
"version": "18.14.0",
12+
"version": "18.14.1",
1313
"repository": {
1414
"type": "git",
1515
"url": "[email protected]:plone/volto.git"

packages/volto/src/components/manage/Actions/Actions.test.jsx

+5-1
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,11 @@ import Actions from './Actions';
88

99
const mockStore = configureStore();
1010

11-
vi.mock('@plone/volto/components/manage/Contents');
11+
vi.mock('@plone/volto/components/manage/Contents', async () => {
12+
return await import(
13+
'@plone/volto/components/manage/Contents/__mocks__/index.vitest.tsx'
14+
);
15+
});
1216

1317
describe('Actions', () => {
1418
it('renders an actions component', () => {

packages/volto/src/components/manage/Blocks/Block/BlocksForm.test.jsx

+6-2
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,12 @@ import config from '@plone/volto/registry';
77

88
config.experimental = { addBlockButton: { enabled: false } };
99

10-
vi.mock('@plone/volto/helpers/Loadable/Loadable');
10+
vi.mock('@plone/volto/helpers/Loadable/Loadable', async () => {
11+
return await import(
12+
'@plone/volto/helpers/Loadable/__mocks__/Loadable.vitest.jsx'
13+
);
14+
});
15+
1116
beforeAll(async () => {
1217
const { __setLoadables } = await import(
1318
'@plone/volto/helpers/Loadable/Loadable'
@@ -39,7 +44,6 @@ vi.mock('react-beautiful-dnd', () => ({
3944
}));
4045

4146
vi.mock('./Order/Order', () => ({
42-
__esModule: true,
4347
default: () => <div>Order Component</div>,
4448
}));
4549

packages/volto/src/components/manage/Blocks/Block/Settings.test.jsx

+5-1
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,11 @@ import configureStore from 'redux-mock-store';
55
import config from '@plone/volto/registry';
66
import { Provider } from 'react-intl-redux';
77

8-
vi.mock('@plone/volto/components/manage/Form');
8+
vi.mock('@plone/volto/components/manage/Form', async () => {
9+
return await import(
10+
'@plone/volto/components/manage/Form/__mocks__/index.vitest.tsx'
11+
);
12+
});
913

1014
const mockStore = configureStore();
1115

packages/volto/src/components/manage/Blocks/HTML/Edit.test.jsx

+6-1
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,12 @@ import Edit from './Edit';
77

88
const mockStore = configureStore();
99

10-
vi.mock('@plone/volto/helpers/Loadable/Loadable');
10+
vi.mock('@plone/volto/helpers/Loadable/Loadable', async () => {
11+
return await import(
12+
'@plone/volto/helpers/Loadable/__mocks__/Loadable.vitest.jsx'
13+
);
14+
});
15+
1116
beforeAll(async () => {
1217
const { __setLoadables } = await import(
1318
'@plone/volto/helpers/Loadable/Loadable'

packages/volto/src/components/manage/Blocks/Image/ImageSidebar.test.jsx

+5-1
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,11 @@ import { Provider } from 'react-intl-redux';
55

66
import ImageSidebar from './ImageSidebar';
77

8-
vi.mock('@plone/volto/components/manage/Form');
8+
vi.mock('@plone/volto/components/manage/Form', async () => {
9+
return await import(
10+
'@plone/volto/components/manage/Form/__mocks__/index.vitest.tsx'
11+
);
12+
});
913

1014
const mockStore = configureStore();
1115

packages/volto/src/components/manage/Blocks/LeadImage/LeadImageSidebar.test.jsx

+5
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,11 @@ import { Provider } from 'react-intl-redux';
66
import LeadImageSidebar from './LeadImageSidebar';
77

88
vi.mock('@plone/volto/components/manage/Widgets');
9+
vi.mock('@plone/volto/components/manage/Widgets', async () => {
10+
return await import(
11+
'@plone/volto/components/manage/Widgets/__mocks__/index.vitest.tsx'
12+
);
13+
});
914

1015
const mockStore = configureStore();
1116

packages/volto/src/components/manage/Blocks/Maps/MapsSidebar.test.jsx

+5-1
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,11 @@ import { Provider } from 'react-intl-redux';
55

66
import MapsSidebar from './MapsSidebar';
77

8-
vi.mock('@plone/volto/components/manage/Form');
8+
vi.mock('@plone/volto/components/manage/Form', async () => {
9+
return await import(
10+
'@plone/volto/components/manage/Form/__mocks__/index.vitest.tsx'
11+
);
12+
});
913

1014
const mockStore = configureStore();
1115

packages/volto/src/components/manage/Blocks/Search/components/DateRangeFacet.test.jsx

+6-1
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,12 @@ import DateRangeFacet from './DateRangeFacet';
66

77
const mockStore = configureStore();
88

9-
vi.mock('@plone/volto/helpers/Loadable/Loadable');
9+
vi.mock('@plone/volto/helpers/Loadable/Loadable', async () => {
10+
return await import(
11+
'@plone/volto/helpers/Loadable/__mocks__/Loadable.vitest.jsx'
12+
);
13+
});
14+
1015
beforeAll(async () => {
1116
const { __setLoadables } = await import(
1217
'@plone/volto/helpers/Loadable/Loadable'

packages/volto/src/components/manage/Blocks/Search/components/SelectFacet.test.jsx

+6-1
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,12 @@ import SelectFacet from './SelectFacet';
66

77
const mockStore = configureStore();
88

9-
vi.mock('@plone/volto/helpers/Loadable/Loadable');
9+
vi.mock('@plone/volto/helpers/Loadable/Loadable', async () => {
10+
return await import(
11+
'@plone/volto/helpers/Loadable/__mocks__/Loadable.vitest.jsx'
12+
);
13+
});
14+
1015
beforeAll(async () => {
1116
const { __setLoadables } = await import(
1217
'@plone/volto/helpers/Loadable/Loadable'

packages/volto/src/components/manage/Blocks/Video/VideoSidebar.test.jsx

+5-1
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,11 @@ import { Provider } from 'react-intl-redux';
55

66
import VideoSidebar from './VideoSidebar';
77

8-
vi.mock('@plone/volto/components/manage/Form');
8+
vi.mock('@plone/volto/components/manage/Form', async () => {
9+
return await import(
10+
'@plone/volto/components/manage/Form/__mocks__/index.vitest.tsx'
11+
);
12+
});
913

1014
const mockStore = configureStore();
1115

packages/volto/src/components/manage/Contents/Contents.test.jsx

+6-1
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,12 @@ import { __test__ as Contents } from './Contents';
88

99
const mockStore = configureStore();
1010

11-
vi.mock('@plone/volto/helpers/Loadable/Loadable');
11+
vi.mock('@plone/volto/helpers/Loadable/Loadable', async () => {
12+
return await import(
13+
'@plone/volto/helpers/Loadable/__mocks__/Loadable.vitest.jsx'
14+
);
15+
});
16+
1217
beforeAll(async () => {
1318
const { __setLoadables } = await import(
1419
'@plone/volto/helpers/Loadable/Loadable'

packages/volto/src/components/manage/Contents/ContentsPropertiesModal.test.jsx

+5-1
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,11 @@ import ContentsPropertiesModal from './ContentsPropertiesModal';
77

88
const mockStore = configureStore();
99

10-
vi.mock('@plone/volto/components/manage/Form');
10+
vi.mock('@plone/volto/components/manage/Form', async () => {
11+
return await import(
12+
'@plone/volto/components/manage/Form/__mocks__/index.vitest.tsx'
13+
);
14+
});
1115

1216
describe('ContentsPropertiesModal', () => {
1317
it('renders a contents properties modal component', () => {

packages/volto/src/components/manage/Contents/ContentsRenameModal.test.jsx

+5-1
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,11 @@ import ContentsRenameModal from './ContentsRenameModal';
77

88
const mockStore = configureStore();
99

10-
vi.mock('@plone/volto/components/manage/Form');
10+
vi.mock('@plone/volto/components/manage/Form', async () => {
11+
return await import(
12+
'@plone/volto/components/manage/Form/__mocks__/index.vitest.tsx'
13+
);
14+
});
1115

1216
describe('ContentsRenameModal', () => {
1317
it('renders a contents rename modal component', () => {

packages/volto/src/components/manage/Contents/ContentsTagsModal.test.jsx

+5-1
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,11 @@ import ContentsTagsModal from './ContentsTagsModal';
77

88
const mockStore = configureStore();
99

10-
vi.mock('@plone/volto/components/manage/Form');
10+
vi.mock('@plone/volto/components/manage/Form', async () => {
11+
return await import(
12+
'@plone/volto/components/manage/Form/__mocks__/index.vitest.tsx'
13+
);
14+
});
1115

1216
describe('ContentsTagsModal', () => {
1317
it('renders a contents tags modal component', () => {

packages/volto/src/components/manage/Contents/ContentsWorkflowModal.test.jsx

+5-1
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,11 @@ import ContentsWorkflowModal from './ContentsWorkflowModal';
77

88
const mockStore = configureStore();
99

10-
vi.mock('@plone/volto/components/manage/Form');
10+
vi.mock('@plone/volto/components/manage/Form', async () => {
11+
return await import(
12+
'@plone/volto/components/manage/Form/__mocks__/index.vitest.tsx'
13+
);
14+
});
1115

1216
describe('ContentsWorkflowModal', () => {
1317
it('renders a contents workflow modal component', () => {
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,21 @@
1-
export const Contents = vi.fn(() => <div className="Contents" />);
1+
/* TODO: When the Volto Team removes Jest configuration support from Volto core, update this file with the Vitest version of the mock.
2+
Then, in the tests, we need to replace:
23
3-
export const ContentsRenameModal = vi.fn(() => (
4+
vi.mock('@plone/volto/components/manage/Contents', async () => {
5+
return await import(
6+
'@plone/volto/components/manage/Contents/__mocks__/index.vitest.tsx'
7+
);
8+
});
9+
10+
with the following:
11+
12+
vi.mock('@plone/volto/components/manage/Contents');
13+
14+
Finally, remove this comment.
15+
*/
16+
17+
export const Contents = jest.fn(() => <div className="Contents" />);
18+
19+
export const ContentsRenameModal = jest.fn(() => (
420
<div className="ContentsRenameModal" />
521
));
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
export const Contents = vi.fn(() => <div className="Contents" />);
2+
3+
export const ContentsRenameModal = vi.fn(() => (
4+
<div className="ContentsRenameModal" />
5+
));

packages/volto/src/components/manage/Controlpanels/Aliases.test.jsx

+6-1
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,12 @@ import { MemoryRouter } from 'react-router';
1010
const middlewares = [thunk];
1111
const mockStore = configureMockStore(middlewares);
1212

13-
vi.mock('@plone/volto/components/manage/Widgets');
13+
vi.mock('@plone/volto/components/manage/Widgets', async () => {
14+
return await import(
15+
'@plone/volto/components/manage/Widgets/__mocks__/index.vitest.tsx'
16+
);
17+
});
18+
1419
vi.mock('../../Toolbar/Toolbar', () => ({
1520
default: vi.fn(() => <div id="Portal" />),
1621
}));

packages/volto/src/components/manage/Controlpanels/ContentType.test.jsx

+5-1
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,11 @@ import ContentType from './ContentType';
88

99
const mockStore = configureStore();
1010

11-
vi.mock('@plone/volto/components/manage/Form');
11+
vi.mock('@plone/volto/components/manage/Form', async () => {
12+
return await import(
13+
'@plone/volto/components/manage/Form/__mocks__/index.vitest.tsx'
14+
);
15+
});
1216
vi.mock('../../Toolbar/Toolbar', () => ({
1317
default: vi.fn(() => <div id="Portal" />),
1418
}));

packages/volto/src/components/manage/Controlpanels/Rules/AddRule.test.jsx

+6-1
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,12 @@ import AddRule from './AddRule';
99
const middlewares = [thunk];
1010
const mockStore = configureMockStore(middlewares);
1111

12-
vi.mock('@plone/volto/components/manage/Form');
12+
vi.mock('@plone/volto/components/manage/Form', async () => {
13+
return await import(
14+
'@plone/volto/components/manage/Form/__mocks__/index.vitest.tsx'
15+
);
16+
});
17+
1318
vi.mock('../../Toolbar/Toolbar', () => ({
1419
default: vi.fn(() => <div id="Toolbar" />),
1520
}));

packages/volto/src/components/manage/Controlpanels/Rules/EditRule.test.jsx

+5-1
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,11 @@ vi.mock('../../Toolbar/Toolbar', () => ({
1313
default: vi.fn(() => <div id="Portal" />),
1414
}));
1515

16-
vi.mock('@plone/volto/components/manage/Form');
16+
vi.mock('@plone/volto/components/manage/Form', async () => {
17+
return await import(
18+
'@plone/volto/components/manage/Form/__mocks__/index.vitest.tsx'
19+
);
20+
});
1721

1822
describe('EditRule', () => {
1923
it('renders rules edit interface', () => {

packages/volto/src/components/manage/Controlpanels/UndoControlpanel.test.jsx

+5-1
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,11 @@ import UndoControlpanel from './UndoControlpanel';
77

88
const mockStore = configureStore();
99

10-
vi.mock('@plone/volto/components/manage/Form');
10+
vi.mock('@plone/volto/components/manage/Form', async () => {
11+
return await import(
12+
'@plone/volto/components/manage/Form/__mocks__/index.vitest.tsx'
13+
);
14+
});
1115
vi.mock('../../Toolbar/Toolbar', () => ({
1216
default: vi.fn(() => <div id="Portal" />),
1317
}));

0 commit comments

Comments
 (0)