Skip to content

Commit 6def34d

Browse files
committed
Merge branch 'master' into addcomponenttoconfigregistry
* master: (60 commits) Fix the a11y violation of UrlWidget (#2944) Back to development Release 14.7.1 Prepare for release Add CSS body class in Babel view. Improve marker for language independent fields in Babel view too. (#3027) Add projectId for Cypress dashboard (#3023) Docs: faster onboarding, identify running processes, improve internal proxy clarification (#3010) Pin pyOpenSSL to 21.1.0 Back to development Release 14.7.0 Prepare for release Fix changelog Look ma, no `momentjs`! (#2910) Back to development Release 14.6.0 Prepare for release Fix ObjectWidget story (#3009) Use `volto.config.js` as dynamic configuration for addons. It adds up… (#3008) fix: enable url with 'underscore' char fix: fixed italian translations ...
2 parents 04063d6 + 61a37c8 commit 6def34d

File tree

128 files changed

+3918
-1410
lines changed

Some content is hidden

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

128 files changed

+3918
-1410
lines changed

Diff for: CHANGELOG.md

+99-1
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
# Change Log
22

3-
## 14.2.1 (unreleased)
3+
## 14.7.2 (unreleased)
44

55
### Breaking
66

@@ -10,8 +10,106 @@
1010

1111
### Bugfix
1212

13+
- Fix the a11y violation of UrlWidget @iRohitSingh
14+
15+
### Internal
16+
17+
## 14.7.1 (2022-02-02)
18+
19+
### Internal
20+
21+
- Add CSS body class in Babel view. Improve marker for language independent fields in Babel view too. @sneridagh
22+
23+
### Docs
24+
25+
Update documentation for internal proxy & other smaller reorganisation for quicker onboarding of
26+
new users/evaluators. @fredvd
27+
28+
## 14.7.0 (2022-01-28)
29+
30+
### Feature
31+
32+
- Add `<FormattedDate>` and `<FormattedRelativeDate>` components. Check their Storybook stories for details. This is part of ongoing work to minimize the use of 'deprecated' momentjs. @sneridagh @tiberiuichim
33+
34+
### Internal
35+
36+
- Upgrade jest to latest release, 27 major. @tiberiuichim
37+
- Lazyload momentjs. `parseDateTime` helper now requires passing the momentjs library @tiberiuichim
38+
39+
## 14.6.0 (2022-01-27)
40+
41+
### Feature
42+
43+
- Use `volto.config.js` as dynamic configuration for addons. It adds up to the `package.json` `addons` key, allowing dynamic load of addons (eg. via environment variables) @sneridagh
44+
1345
### Internal
1446

47+
- Fix ObjectListWidget story bug caused by lazyloading dnd libraries
48+
@tiberiuichim
49+
50+
## 14.5.0 (2022-01-26)
51+
52+
### Feature
53+
54+
- VocabularyTermsWidget: Token is now on creation of term editable, but stays ineditable afterwards. @ksuess
55+
56+
### Bugfix
57+
58+
- Fix A11Y violations in Navigation @iRohitSingh
59+
- Fix `language-independent-field` CSS class styling @sneridagh
60+
61+
### Internal
62+
63+
- Lazyload react-beautiful-dnd @tiberiuichim
64+
- Lazyload react-dnd @tiberiuichim
65+
- Improve docs on environment variables, add recipes @sneridagh
66+
- Update p.restapi to 8.20.0 and plone.volto to 4.0.0a1 and plone.rest to 2.0.0a2 @sneridagh
67+
68+
## 14.4.0 (2022-01-21)
69+
70+
### Feature
71+
72+
- Language independent fields support in Volto forms @sneridagh
73+
74+
## 14.3.0 (2022-01-20)
75+
76+
### Feature
77+
78+
- Bump semantic-ui-react to v2.0.3 @nileshgulia1
79+
80+
## 14.2.3 (2022-01-20)
81+
82+
### Bugfix
83+
84+
- Fix ListingBlock to add "No results" message when there are no messages @erral
85+
- Fix overflow table in Content view @giuliaghisini
86+
- Fixed url validation in FormValidation to admit ip addresses. @giuliaghisini
87+
- Upgrade to plone.restapi 8.19.0 (to support the language independent fields serialization) @sneridagh
88+
89+
## 14.2.2 (2022-01-13)
90+
91+
### Bugfix
92+
93+
- Fix home URL item in Navigation, which was evaluating as non-internal @sneridagh
94+
- Improve the request handling in `getAPIResourceWithAuth` and in `Api` helper. This fixes the "Cannot set headers once the content has being sent" @sneridagh
95+
- Fix when you remove the time from DatetimeWidget @iRohitSingh
96+
97+
### Internal
98+
99+
- Fix URL for Climate-Energy, a Volto website @tiberiuichim
100+
- Fix quirky Cypress test in "DX control panel schema" (see https://github.com/plone/volto/runs/4803206906?check_suite_focus=true) @sneridagh
101+
102+
## 14.2.1 (2022-01-12)
103+
104+
### Bugfix
105+
106+
- Fix home URL item in Navigation, which was evaluating as non-internal
107+
108+
### Internal
109+
110+
- Use plone-backend docker images for Cypress tests @sneridagh
111+
- Upgrade `query-string` library so it supports Plone `:list` qs marker @sneridagh
112+
15113
## 14.2.0 (2022-01-04)
16114

17115
### Feature

Diff for: Makefile

+7-6
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,8 @@ MAKEFLAGS+=--no-builtin-rules
1313
# Project settings
1414

1515
INSTANCE_PORT=8080
16-
KGS=plone.restapi=8.18.0 plone.app.iterate=4.0.2 plone.rest=2.0.0a1 plone.app.vocabularies=4.3.0
16+
DOCKER_IMAGE=plone/plone-backend:5.2.6
17+
KGS=plone.restapi==8.20.0 plone.volto==4.0.0a2 plone.rest==2.0.0a2 plone.app.iterate==4.0.2 plone.app.vocabularies==4.3.0
1718

1819
# Recipe snippets for reuse
1920

@@ -90,7 +91,7 @@ start-backend: ## Start Plone Backend
9091

9192
.PHONY: start-backend-docker
9293
start-backend-docker:
93-
docker run -it --rm --name=plone -p 8080:8080 -e SITE=Plone -e ADDONS="plone.volto" -e ZCML="plone.volto.cors" plone
94+
docker run -it --rm -p 8080:8080 -e SITE=Plone -e ADDONS='$(KGS)' $(DOCKER_IMAGE)
9495

9596
.PHONY: start-backend-docker-guillotina
9697
start-backend-docker-guillotina:
@@ -121,20 +122,20 @@ stop-backend-docker-guillotina:
121122

122123
.PHONY: test-acceptance-server
123124
test-acceptance-server:
124-
docker run -i --rm -e ZSERVER_HOST=0.0.0.0 -e ZSERVER_PORT=55001 -p 55001:55001 -e VERSIONS="$(KGS)" -e APPLY_PROFILES=plone.app.contenttypes:plone-content,plone.restapi:default,plone.volto:default-homepage -e CONFIGURE_PACKAGES=plone.app.contenttypes,plone.restapi,plone.volto,plone.volto.cors -e ADDONS='plone.app.robotframework plone.app.contenttypes plone.restapi plone.volto' plone ./bin/robot-server plone.app.robotframework.testing.PLONE_ROBOT_TESTING
125+
docker run -i --rm -e ZSERVER_HOST=0.0.0.0 -e ZSERVER_PORT=55001 -p 55001:55001 -e ADDONS='$(KGS) plone.app.robotframework plone.app.contenttypes' -e APPLY_PROFILES=plone.app.contenttypes:plone-content,plone.restapi:default,plone.volto:default-homepage -e CONFIGURE_PACKAGES=plone.app.contenttypes,plone.restapi,plone.volto,plone.volto.cors $(DOCKER_IMAGE) ./bin/robot-server plone.app.robotframework.testing.PLONE_ROBOT_TESTING
125126

126127
.PHONY: test-acceptance-server-multilingual
127128
test-acceptance-server-multilingual:
128-
docker run -i --rm -e ZSERVER_HOST=0.0.0.0 -e ZSERVER_PORT=55001 -p 55001:55001 -e VERSIONS="$(KGS)" -e APPLY_PROFILES=plone.app.contenttypes:plone-content,plone.restapi:default,plone.volto:multilingual -e CONFIGURE_PACKAGES=plone.app.contenttypes,plone.restapi,plone.volto,plone.volto.cors -e ADDONS='plone.app.robotframework plone.app.contenttypes plone.restapi plone.volto' plone ./bin/robot-server plone.app.robotframework.testing.PLONE_ROBOT_TESTING
129+
docker run -i --rm -e ZSERVER_HOST=0.0.0.0 -e ZSERVER_PORT=55001 -p 55001:55001 -e ADDONS='$(KGS) plone.app.robotframework plone.app.contenttypes' -e APPLY_PROFILES=plone.app.contenttypes:plone-content,plone.restapi:default,plone.volto:multilingual -e CONFIGURE_PACKAGES=plone.app.contenttypes,plone.restapi,plone.volto,plone.volto.cors $(DOCKER_IMAGE) ./bin/robot-server plone.app.robotframework.testing.PLONE_ROBOT_TESTING
129130

130131
.PHONY: test-acceptance-server-workingcopy
131132
test-acceptance-server-workingcopy:
132-
docker run -i --rm -e ZSERVER_HOST=0.0.0.0 -e ZSERVER_PORT=55001 -p 55001:55001 -e VERSIONS="$(KGS)" -e APPLY_PROFILES=plone.app.contenttypes:plone-content,plone.restapi:default,plone.app.iterate:default,plone.volto:default-homepage -e CONFIGURE_PACKAGES=plone.app.contenttypes,plone.restapi,plone.volto,plone.volto.cors -e ADDONS='plone.app.robotframework plone.app.contenttypes plone.restapi plone.app.iterate plone.volto' plone ./bin/robot-server plone.app.robotframework.testing.PLONE_ROBOT_TESTING
133+
docker run -i --rm -e ZSERVER_HOST=0.0.0.0 -e ZSERVER_PORT=55001 -p 55001:55001 -e ADDONS='$(KGS) plone.app.robotframework plone.app.contenttypes' -e APPLY_PROFILES=plone.app.contenttypes:plone-content,plone.restapi:default,plone.app.iterate:default,plone.volto:default-homepage -e CONFIGURE_PACKAGES=plone.app.contenttypes,plone.restapi,plone.volto,plone.volto.cors $(DOCKER_IMAGE) ./bin/robot-server plone.app.robotframework.testing.PLONE_ROBOT_TESTING
133134
# ZSERVER_PORT=55001 CONFIGURE_PACKAGES=plone.app.contenttypes,plone.restapi,plone.app.iterate,plone.volto,plone.volto.cors APPLY_PROFILES=plone.app.contenttypes:plone-content,plone.restapi:default,plone.app.iterate:default,plone.volto:default-homepage ./api/bin/robot-server plone.app.robotframework.testing.PLONE_ROBOT_TESTING
134135

135136
.PHONY: test-acceptance-server-coresandbox
136137
test-acceptance-server-coresandbox:
137-
docker run -i --rm -e ZSERVER_HOST=0.0.0.0 -e ZSERVER_PORT=55001 -p 55001:55001 -e VERSIONS="$(KGS)" -e APPLY_PROFILES=plone.app.contenttypes:plone-content,plone.restapi:default,plone.volto:default-homepage,plone.volto:coresandbox -e CONFIGURE_PACKAGES=plone.app.contenttypes,plone.restapi,plone.volto,plone.volto.cors,plone.volto.coresandbox -e ADDONS='plone.app.robotframework plone.app.contenttypes plone.restapi plone.app.iterate plone.volto' plone ./bin/robot-server plone.app.robotframework.testing.PLONE_ROBOT_TESTING
138+
docker run -i --rm -e ZSERVER_HOST=0.0.0.0 -e ZSERVER_PORT=55001 -p 55001:55001 -e ADDONS='$(KGS) plone.app.robotframework plone.app.contenttypes' -e APPLY_PROFILES=plone.app.contenttypes:plone-content,plone.restapi:default,plone.volto:default-homepage,plone.volto:coresandbox -e CONFIGURE_PACKAGES=plone.app.contenttypes,plone.restapi,plone.volto,plone.volto.cors,plone.volto.coresandbox $(DOCKER_IMAGE) ./bin/robot-server plone.app.robotframework.testing.PLONE_ROBOT_TESTING
138139
# ZSERVER_PORT=55001 CONFIGURE_PACKAGES=plone.app.contenttypes,plone.restapi,plone.volto,plone.volto.cors,plone.volto.coresandbox APPLY_PROFILES=plone.app.contenttypes:plone-content,plone.restapi:default,plone.volto:default-homepage,plone.volto:coresandbox ./api/bin/robot-server plone.app.robotframework.testing.PLONE_ROBOT_TESTING
139140

140141
.PHONY: test-acceptance-server-old

Diff for: README.md

+25-4
Original file line numberDiff line numberDiff line change
@@ -76,20 +76,41 @@ follow the prompts questions, provide `myvoltoproject` as project name then, whe
7676

7777
We recommend Plone as backend of choice for Volto.
7878

79-
You can bootstrap a ready Docker Plone container with all the dependencies and ready for Volto use:
79+
You can bootstrap a ready Docker Plone container with all the dependencies and ready for Volto use. We recommend to use the Plone docker builds based in `pip` [plone/plone-backend](https://github.com/plone/plone-backend) image:
8080

8181
```shell
82-
docker run -it --rm --name=plone -p 8080:8080 -e SITE=Plone -e VERSIONS="plone.restapi=8.16.2 plone.app.iterate=4.0.2 plone.rest=2.0.0a1 plone.app.vocabularies=4.3.0" -e ADDONS="plone.volto" -e ZCML="plone.volto.cors" -e PROFILES="plone.volto:default-homepage" plone
82+
docker run -it --rm --name=plone -p 8080:8080 -e SITE=Plone -e ADDONS="plone.restapi==8.18.0 plone.app.iterate==4.0.2 plone.rest==2.0.0a1 plone.app.vocabularies==4.3.0 plone.volto==3.1.0a7" -e PROFILES="plone.volto:default-homepage" plone/plone-backend
8383
```
8484

8585
or as an alternative if you have experience with Plone and you have all the
86-
dependencies installed on your system, you can use the supplied buildout in the
86+
dependencies installed on your system, you can use the supplied convenience buildout in the
8787
`api` folder by issuing the command:
8888

8989
```shell
9090
make build-backend
9191
```
9292

93+
#### Recommended Plone version
94+
95+
Volto is Plone 6 default UI, so it will work for all Plone 6 released versions.
96+
97+
For the Plone 5 series latest released version (with Python 3) and above is recommended (at the time of writing 5.2.6).
98+
99+
The following KGS (or above) are also recommended, for any Plone version used.
100+
101+
#### KGS (known good versions) for backend packages
102+
103+
Volto always works best with latest versions of the "Frontend stack" or at least the recommended ones (in parenthesis) which are:
104+
105+
- plone.restapi (8.18.0)
106+
- plone.rest (2.0.0a1)
107+
- plone.volto (3.1.0a7)
108+
109+
and the following core packages since some features require up to date versions:
110+
111+
- plone.app.iterate (4.0.2)
112+
- plone.app.vocabularies (4.3.0)
113+
93114
### Start Volto
94115

95116
```shell
@@ -109,7 +130,7 @@ Volto is actively developed since 2017 and used in production since 2018 on the
109130
- [Excellence at Humboldt-Universität zu Berlin](https://www.alles-beginnt-mit-einer-frage.de) (Website for the excellence initiative of the [Humboldt University Berlin](https://hu-berlin.de), developed by [kitconcept GmbH](https://kitconcept.com), 2019)
110131
- [Forest Information System for Europe](https://forest.eea.europa.eu) (Thematic website focusing on European forests, developed by [Eau de Web](https://www.eaudeweb.ro), 2019)
111132
- [Industrial Emissions portal for Europe](https://industry.eea.europa.eu) (Thematic website focusing on European industrial emissions, developed by [Eau de Web](https://www.eaudeweb.ro), 2020)
112-
- [Energy Climate Union portal for Europe](https://demo-energy-union.eea.europa.eu) (Thematic website focusing on European strides towards mitigating climate change, developed by [Eau de Web](https://www.eaudeweb.ro), 2020)
133+
- [Energy Climate Union portal for Europe](https://climate-energy.eea.europa.eu/) (Thematic website focusing on European strides towards mitigating climate change, developed by [Eau de Web](https://www.eaudeweb.ro), 2020)
113134
- [Talke Carrer Website](https://karriere.talke.com/) (Carrer website for [Talke](https://www.talke.com), one of the leading a chemical and petrochemical logistics companies in Germany, developed by [kitconcept GmbH](https://kitconcept.com), 2020)
114135
- [Stradanove](http://www.stradanove.it/) (Website of the Department of Youth Policies of the Municipality of Modena, developed by [RedTurtle](https://redturtle.it), 2020)
115136
- [VisitModena](https://www.visitmodena.it/) (Tourist website of the Municipality of Modena, developed by [RedTurtle](https://redturtle.it), 2020)

Diff for: __tests__/addon-registry.test.js

+10
Original file line numberDiff line numberDiff line change
@@ -26,6 +26,7 @@ describe('AddonConfigurationRegistry', () => {
2626
'test-addon',
2727
'test-released-addon',
2828
'test-released-source-addon',
29+
'my-volto-config-addon',
2930
'test-released-dummy',
3031
'test-released-unmentioned',
3132
]);
@@ -60,6 +61,13 @@ describe('AddonConfigurationRegistry', () => {
6061
name: 'test-released-unmentioned',
6162
packageJson: `${base}/node_modules/test-released-unmentioned/package.json`,
6263
},
64+
'my-volto-config-addon': {
65+
addons: ['test-released-dummy'],
66+
isPublishedPackage: false,
67+
modulePath: `${base}/addons/my-volto-config-addon/src`,
68+
name: 'my-volto-config-addon',
69+
packageJson: `${base}/addons/my-volto-config-addon/package.json`,
70+
},
6371
'test-released-dummy': {
6472
addons: ['test-released-unmentioned'],
6573
isPublishedPackage: false,
@@ -74,6 +82,7 @@ describe('AddonConfigurationRegistry', () => {
7482
const base = path.join(__dirname, 'fixtures', 'test-volto-project');
7583
const reg = new AddonConfigurationRegistry(base);
7684
expect(reg.getResolveAliases()).toStrictEqual({
85+
'my-volto-config-addon': `${base}/addons/my-volto-config-addon/src`,
7786
'test-addon': `${base}/addons/test-addon/src`,
7887
'test-released-addon': `${base}/node_modules/test-released-addon`,
7988
'test-released-dummy': `${base}/addons/test-released-dummy`,
@@ -98,6 +107,7 @@ describe('AddonConfigurationRegistry', () => {
98107
'test-addon',
99108
'test-released-addon',
100109
'test-released-source-addon',
110+
'my-volto-config-addon',
101111
]);
102112
});
103113

Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
{
2+
"name": "test-addon",
3+
"customizationPaths": [
4+
"src/custom-addons"
5+
],
6+
"addons": [
7+
"test-released-dummy"
8+
]
9+
}

Diff for: __tests__/fixtures/test-volto-project/addons/my-volto-config-addon/src/testaddon.js

Whitespace-only changes.

Diff for: __tests__/fixtures/test-volto-project/jsconfig.json

+2-1
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,8 @@
22
"compilerOptions": {
33
"paths": {
44
"test-addon": ["test-addon/src"],
5-
"test-released-dummy": ["test-released-dummy"]
5+
"test-released-dummy": ["test-released-dummy"],
6+
"my-volto-config-addon": ["my-volto-config-addon/src"]
67
},
78
"baseUrl": "addons"
89
}
+3
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
module.exports = {
2+
addons: ['my-volto-config-addon'],
3+
};

Diff for: addon-registry.js

+15-2
Original file line numberDiff line numberDiff line change
@@ -99,13 +99,26 @@ class AddonConfigurationRegistry {
9999
projectRootPath,
100100
'package.json',
101101
)));
102+
// Loads the dynamic config, if any
103+
if (fs.existsSync(path.join(projectRootPath, 'volto.config.js'))) {
104+
this.voltoConfigJS = require(path.join(
105+
projectRootPath,
106+
'volto.config.js',
107+
));
108+
} else {
109+
this.voltoConfigJS = [];
110+
}
111+
this.resultantMergedAddons = [
112+
...(packageJson.addons || []),
113+
...(this.voltoConfigJS.addons || []),
114+
];
102115

103116
this.projectRootPath = projectRootPath;
104117
this.voltoPath =
105118
packageJson.name === '@plone/volto'
106119
? `${projectRootPath}`
107120
: `${projectRootPath}/node_modules/@plone/volto`;
108-
this.addonNames = (packageJson.addons || []).map((s) => s.split(':')[0]);
121+
this.addonNames = this.resultantMergedAddons.map((s) => s.split(':')[0]);
109122
this.packages = {};
110123
this.customizations = new Map();
111124

@@ -114,7 +127,7 @@ class AddonConfigurationRegistry {
114127
this.initTestingPackages();
115128

116129
this.dependencyGraph = buildDependencyGraph(
117-
packageJson.addons || [],
130+
this.resultantMergedAddons,
118131
(name) => {
119132
this.initPublishedPackage(name);
120133
return this.packages[name].addons || [];

Diff for: api/buildout.cfg

+3-2
Original file line numberDiff line numberDiff line change
@@ -74,13 +74,14 @@ eggs = ${instance:eggs}
7474
setuptools =
7575
zc.buildout =
7676
# force to latest p.restapi
77-
plone.restapi = 8.18.0
77+
plone.restapi = 8.20.0
7878
# new JSON only traversal
79-
plone.rest = 2.0.0a1
79+
plone.rest = 2.0.0a2
8080
# Using working copy support in Volto requires it
8181
plone.app.iterate = 4.0.2
8282
# plone.volto requires it
8383
plone.app.vocabularies = 4.3.0
84+
pyOpenSSL = 21.0.0
8485

8586
plone.volto =
8687
robotframework =

Diff for: cypress.json

+2-1
Original file line numberDiff line numberDiff line change
@@ -3,5 +3,6 @@
33
"viewportWidth": 1280,
44
"ignoreTestFiles": ["*~"],
55
"integrationFolder": "cypress/tests/core",
6-
"chromeWebSecurity": false
6+
"chromeWebSecurity": false,
7+
"projectId": "5iy5e2"
78
}

Diff for: cypress/tests/core-sandbox/search.js

+1-3
Original file line numberDiff line numberDiff line change
@@ -32,9 +32,7 @@ context('Search action tests', () => {
3232
cy.navigate('/newsitem/edit');
3333

3434
// Add subject
35-
cy.get('a:contains("Categorization")')
36-
.click()
37-
.get('.field-wrapper-subjects input')
35+
cy.get('.field-wrapper-subjects input')
3836
.type('garden', { force: true })
3937
.type('{enter}');
4038
cy.get('#toolbar-save').click();

Diff for: cypress/tests/core/content.js

+14-3
Original file line numberDiff line numberDiff line change
@@ -127,9 +127,22 @@ describe('Add Content Tests', () => {
127127
cy.url().should('eq', Cypress.config().baseUrl + '/my-folder');
128128
cy.get('.navigation .item.active').should('have.text', 'My Folder');
129129
});
130+
it('As editor I am setting the time in datetimeWidget', function () {
131+
// when I add a Event
132+
cy.get('#toolbar-add').click();
133+
cy.get('#toolbar-add-event').click();
134+
cy.get('#field-title').type('datetimeWidget test');
135+
cy.get('#start-time').click();
136+
cy.get('.rc-time-picker-panel-input').click();
137+
cy.get('.rc-time-picker-panel-input').clear().type('6:40 AM');
138+
cy.get('#toolbar-save').click();
130139

131-
it('As editor I can add a Link (with an external link)', function () {
140+
// then
141+
142+
cy.get('.documentFirstHeading').should('have.text', 'datetimeWidget test');
143+
});
132144

145+
it('As editor I can add a Link (with an external link)', function () {
133146
// When I add a link
134147
cy.get('#toolbar-add').click();
135148
cy.get('#toolbar-add-link').click();
@@ -152,7 +165,6 @@ describe('Add Content Tests', () => {
152165
});
153166

154167
it('As editor I can add a Link (with an internal link)', function () {
155-
156168
// Given a Document "Link Target"
157169
cy.createContent({
158170
contentType: 'Document',
@@ -184,5 +196,4 @@ describe('Add Content Tests', () => {
184196
cy.url().should('eq', Cypress.config().baseUrl + '/link-target');
185197
cy.get('main').contains('Link Target');
186198
});
187-
188199
});

Diff for: cypress/tests/core/dexterity-controlpanel-schema.js

+1
Original file line numberDiff line numberDiff line change
@@ -30,6 +30,7 @@ describe('ControlPanel: Dexterity Content-Types Schema', () => {
3030

3131
// Add field
3232
cy.get('button[id=addfield]').click();
33+
cy.wait(1000);
3334
cy.get('.modal .react-select-container').click().type('Choice{enter}');
3435
cy.get('.modal input[id="field-title"]')
3536
.type('Color')

0 commit comments

Comments
 (0)