From da6ace18827153ef247e0e4e1bbb2d09c46edc95 Mon Sep 17 00:00:00 2001 From: Alexandre Vryghem Date: Thu, 8 May 2025 01:34:47 +0200 Subject: [PATCH 1/2] 130424: Fix validation on the edit metadata tab sometimes wrongly displaying an error message This only happens when the request that validates the metadata field doesn't return the field with qualifier null on the first page --- .../metadata-field-selector.component.spec.ts | 8 ++++++++ .../metadata-field-selector.component.ts | 10 ++++++++-- 2 files changed, 16 insertions(+), 2 deletions(-) diff --git a/src/app/dso-shared/dso-edit-metadata/metadata-field-selector/metadata-field-selector.component.spec.ts b/src/app/dso-shared/dso-edit-metadata/metadata-field-selector/metadata-field-selector.component.spec.ts index de8736df94..1f0dc52503 100644 --- a/src/app/dso-shared/dso-edit-metadata/metadata-field-selector/metadata-field-selector.component.spec.ts +++ b/src/app/dso-shared/dso-edit-metadata/metadata-field-selector/metadata-field-selector.component.spec.ts @@ -105,6 +105,14 @@ describe('MetadataFieldSelectorComponent', () => { }); }); + it('should sort the fields by name to ensure the one without a qualifier is first', () => { + component.mdField = 'dc.relation'; + + component.validate(); + + expect(registryService.queryMetadataFields).toHaveBeenCalledWith('dc.relation', { elementsPerPage: 10, sort: new SortOptions('fieldName', SortDirection.ASC) }, true, false, followLink('schema')); + }); + describe('when querying the metadata fields returns an error response', () => { beforeEach(() => { (registryService.queryMetadataFields as jasmine.Spy).and.returnValue(createFailedRemoteDataObject$('Failed')); diff --git a/src/app/dso-shared/dso-edit-metadata/metadata-field-selector/metadata-field-selector.component.ts b/src/app/dso-shared/dso-edit-metadata/metadata-field-selector/metadata-field-selector.component.ts index fc0d57046d..8009055708 100644 --- a/src/app/dso-shared/dso-edit-metadata/metadata-field-selector/metadata-field-selector.component.ts +++ b/src/app/dso-shared/dso-edit-metadata/metadata-field-selector/metadata-field-selector.component.ts @@ -26,6 +26,7 @@ import { of } from 'rxjs/internal/observable/of'; import { NotificationsService } from '../../../shared/notifications/notifications.service'; import { TranslateService } from '@ngx-translate/core'; import { SortDirection, SortOptions } from '../../../core/cache/models/sort-options.model'; +import { FindListOptions } from '../../../core/data/find-list-options.model'; @Component({ selector: 'ds-metadata-field-selector', @@ -97,6 +98,11 @@ export class MetadataFieldSelectorComponent implements OnInit, OnDestroy, AfterV */ showInvalid = false; + searchOptions: FindListOptions = { + elementsPerPage: 10, + sort: new SortOptions('fieldName', SortDirection.ASC), + }; + /** * Subscriptions to unsubscribe from on destroy */ @@ -129,7 +135,7 @@ export class MetadataFieldSelectorComponent implements OnInit, OnDestroy, AfterV switchMap((query: string) => { this.showInvalid = false; if (query !== null) { - return this.registryService.queryMetadataFields(query, { elementsPerPage: 10, sort: new SortOptions('fieldName', SortDirection.ASC) }, true, false, followLink('schema')).pipe( + return this.registryService.queryMetadataFields(query, this.searchOptions, true, false, followLink('schema')).pipe( getAllSucceededRemoteData(), metadataFieldsToString(), ); @@ -154,7 +160,7 @@ export class MetadataFieldSelectorComponent implements OnInit, OnDestroy, AfterV * Upon subscribing to the returned observable, the showInvalid flag is updated accordingly to show the feedback under the input */ validate(): Observable { - return this.registryService.queryMetadataFields(this.mdField, null, true, false, followLink('schema')).pipe( + return this.registryService.queryMetadataFields(this.mdField, this.searchOptions, true, false, followLink('schema')).pipe( getFirstCompletedRemoteData(), switchMap((rd) => { if (rd.hasSucceeded) { From cb0ac0c9e56237a84ae6d332a5c31ca5d3099081 Mon Sep 17 00:00:00 2001 From: frabacche Date: Wed, 6 Mar 2024 09:30:42 +0100 Subject: [PATCH 2/2] fix e2e test 18x aria on
    html tag (cherry picked from commit e6389a73df10dea2ca9c492d8ca4b322000f3731) --- src/app/item-page/edit-item-page/edit-item-page.component.html | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/app/item-page/edit-item-page/edit-item-page.component.html b/src/app/item-page/edit-item-page/edit-item-page.component.html index 63dadef3b1..f697e0b8f4 100644 --- a/src/app/item-page/edit-item-page/edit-item-page.component.html +++ b/src/app/item-page/edit-item-page/edit-item-page.component.html @@ -3,7 +3,7 @@

    {{'item.edit.head' | translate}}

    -