Skip to content

Commit 2c47caa

Browse files
committed
Merge branch 'main' into Issue/5056
# Conflicts: # package-lock.json # package.json
2 parents deafe1c + c557f2f commit 2c47caa

170 files changed

Lines changed: 8646 additions & 2225 deletions

File tree

Some content is hidden

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

.github/workflows/build.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -141,7 +141,7 @@ jobs:
141141
# https://github.com/cypress-io/github-action
142142
# (NOTE: to run these e2e tests locally, just use 'ng e2e')
143143
- name: Run e2e tests (integration tests)
144-
uses: cypress-io/github-action@v6
144+
uses: cypress-io/github-action@v7.1.9
145145
with:
146146
# Run tests in Chrome, headless mode (default)
147147
browser: chrome

.github/workflows/docker.yml

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -106,8 +106,11 @@ jobs:
106106
sleep 10
107107
docker container ls
108108
# Create a test admin account. Load test data from a simple set of AIPs as defined in cli.ingest.yml
109+
# NOTE: Before creating test data, we wait for the backend to become responsive by requesting it every 10 sec.
110+
# Timeout after 5 minutes. This is done to ensure the backend is fully initialized before we create test data.
109111
- name: Load test data into Backend
110112
run: |
113+
timeout 5m wget --retry-connrefused -t 0 --waitretry=10 http://127.0.0.1:8080/server/api
111114
docker compose -f docker/cli.yml run --rm dspace-cli create-administrator -e test@test.edu -f admin -l user -p admin -c en
112115
docker compose -f docker/cli.yml -f docker/cli.ingest.yml run --rm dspace-cli
113116
# Verify backend started successfully.

.github/workflows/port_merged_pull_request.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -27,7 +27,7 @@ jobs:
2727
# Port PR to other branch (ONLY if labeled with "port to")
2828
# See https://github.com/korthout/backport-action
2929
- name: Create backport pull requests
30-
uses: korthout/backport-action@v2
30+
uses: korthout/backport-action@v4
3131
with:
3232
# Trigger based on a "port to [branch]" label on PR
3333
# (This label must specify the branch name to port to)

config/config.example.yml

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -93,6 +93,9 @@ cache:
9393
# NOTE: When updates are made to compiled *.js files, it will automatically bypass this browser cache, because
9494
# all compiled *.js files include a unique hash in their name which updates when content is modified.
9595
control: max-age=604800 # revalidate browser
96+
# These static files should not be cached (paths relative to dist/browser, including the leading slash)
97+
noCacheFiles:
98+
- '/index.html'
9699
autoSync:
97100
defaultTime: 0
98101
maxBufferSize: 100
@@ -516,6 +519,7 @@ themes:
516519
# - name: BASE_THEME_NAME
517520
#
518521
- name: dspace
522+
prefetch: true
519523
headTags:
520524
- tagName: link
521525
attributes:
@@ -794,7 +798,7 @@ addToAnyPlugin:
794798
# 3. You will get a HTML e.g. <a class="a2a_button_facebook"></a> where "facebook" is part you want to include in list
795799
buttons:
796800
- facebook
797-
- twitter
801+
- x
798802
- linkedin
799803
- email
800804
- copy_link

cypress/e2e/item-edit.cy.ts

Lines changed: 49 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -23,13 +23,27 @@ describe('Edit Item > Edit Metadata tab', () => {
2323
// <ds-edit-item-page> tag must be loaded
2424
cy.get('ds-edit-item-page').should('be.visible');
2525

26+
// wait for all the tabs to be rendered on this page
27+
cy.get('ds-edit-item-page ul[role="tablist"]').each(($row: HTMLUListElement) => {
28+
cy.wrap($row).find('a[role="tab"]').should('be.visible');
29+
});
30+
2631
// wait for all the ds-dso-edit-metadata-value components to be rendered
2732
cy.get('ds-dso-edit-metadata-value div[role="row"]').each(($row: HTMLDivElement) => {
2833
cy.wrap($row).find('div[role="cell"]').should('be.visible');
2934
});
3035

3136
// Analyze <ds-edit-item-page> for accessibility issues
32-
testA11y('ds-edit-item-page');
37+
testA11y('ds-edit-item-page',
38+
{
39+
rules: {
40+
// Disable flakey "aria-required-children" test. While this test passes when run locally,
41+
// in GitHub CI it will return random failures roughly 1/3 of the time saying that the
42+
// "tablist" doesn't contain required "tab" elements, even though they do exist.
43+
'aria-required-children': { enabled: false },
44+
},
45+
} as Options,
46+
);
3347
});
3448
});
3549

@@ -46,6 +60,11 @@ describe('Edit Item > Status tab', () => {
4660
// <ds-item-status> tag must be loaded
4761
cy.get('ds-item-status').should('be.visible');
4862

63+
// wait for all the tabs to be rendered on this page
64+
cy.get('ds-edit-item-page ul[role="tablist"]').each(($row: HTMLUListElement) => {
65+
cy.wrap($row).find('a[role="tab"]').should('be.visible');
66+
});
67+
4968
// Analyze for accessibility issues
5069
testA11y('ds-item-status');
5170
});
@@ -64,6 +83,10 @@ describe('Edit Item > Bitstreams tab', () => {
6483
// <ds-item-bitstreams> tag must be loaded
6584
cy.get('ds-item-bitstreams').should('be.visible');
6685

86+
// wait for all the tabs to be rendered on this page
87+
cy.get('ds-edit-item-page ul[role="tablist"]').each(($row: HTMLUListElement) => {
88+
cy.wrap($row).find('a[role="tab"]').should('be.visible');
89+
});
6790
// Table of item bitstreams must also be loaded
6891
cy.get('div.item-bitstreams').should('be.visible');
6992

@@ -93,6 +116,11 @@ describe('Edit Item > Curate tab', () => {
93116
// <ds-item-curate> tag must be loaded
94117
cy.get('ds-item-curate').should('be.visible');
95118

119+
// wait for all the tabs to be rendered on this page
120+
cy.get('ds-edit-item-page ul[role="tablist"]').each(($row: HTMLUListElement) => {
121+
cy.wrap($row).find('a[role="tab"]').should('be.visible');
122+
});
123+
96124
// Analyze for accessibility issues
97125
testA11y('ds-item-curate');
98126
});
@@ -111,6 +139,11 @@ describe('Edit Item > Relationships tab', () => {
111139
// <ds-item-relationships> tag must be loaded
112140
cy.get('ds-item-relationships').should('be.visible');
113141

142+
// wait for all the tabs to be rendered on this page
143+
cy.get('ds-edit-item-page ul[role="tablist"]').each(($row: HTMLUListElement) => {
144+
cy.wrap($row).find('a[role="tab"]').should('be.visible');
145+
});
146+
114147
// Analyze for accessibility issues
115148
testA11y('ds-item-relationships');
116149
});
@@ -129,6 +162,11 @@ describe('Edit Item > Version History tab', () => {
129162
// <ds-item-version-history> tag must be loaded
130163
cy.get('ds-item-version-history').should('be.visible');
131164

165+
// wait for all the tabs to be rendered on this page
166+
cy.get('ds-edit-item-page ul[role="tablist"]').each(($row: HTMLUListElement) => {
167+
cy.wrap($row).find('a[role="tab"]').should('be.visible');
168+
});
169+
132170
// Analyze for accessibility issues
133171
testA11y('ds-item-version-history');
134172
});
@@ -147,6 +185,11 @@ describe('Edit Item > Access Control tab', () => {
147185
// <ds-item-access-control> tag must be loaded
148186
cy.get('ds-item-access-control').should('be.visible');
149187

188+
// wait for all the tabs to be rendered on this page
189+
cy.get('ds-edit-item-page ul[role="tablist"]').each(($row: HTMLUListElement) => {
190+
cy.wrap($row).find('a[role="tab"]').should('be.visible');
191+
});
192+
150193
// Analyze for accessibility issues
151194
testA11y('ds-item-access-control');
152195
});
@@ -165,6 +208,11 @@ describe('Edit Item > Collection Mapper tab', () => {
165208
// <ds-item-collection-mapper> tag must be loaded
166209
cy.get('ds-item-collection-mapper').should('be.visible');
167210

211+
// wait for all the tabs to be rendered on this page
212+
cy.get('ds-edit-item-page ul[role="tablist"]').each(($row: HTMLUListElement) => {
213+
cy.wrap($row).find('a[role="tab"]').should('be.visible');
214+
});
215+
168216
// Analyze entire page for accessibility issues
169217
testA11y('ds-item-collection-mapper');
170218

0 commit comments

Comments
 (0)