From 431f273b079790a9434bcee767652e7edc01966f Mon Sep 17 00:00:00 2001 From: Vito Date: Tue, 27 Apr 2021 12:15:48 +0100 Subject: [PATCH] [ADF-5362] - enabiling properties refresh on ADW/ACA (#6952) --- .../content-metadata.component.spec.ts | 23 +++++++++++++++++++ .../content-metadata.component.ts | 3 +++ 2 files changed, 26 insertions(+) diff --git a/lib/content-services/src/lib/content-metadata/components/content-metadata/content-metadata.component.spec.ts b/lib/content-services/src/lib/content-metadata/components/content-metadata/content-metadata.component.spec.ts index c974fef615..3475af62c5 100644 --- a/lib/content-services/src/lib/content-metadata/components/content-metadata/content-metadata.component.spec.ts +++ b/lib/content-services/src/lib/content-metadata/components/content-metadata/content-metadata.component.spec.ts @@ -204,6 +204,29 @@ describe('ContentMetadataComponent', () => { expect(contentMetadataService.openConfirmDialog).toHaveBeenCalledWith({nodeType: 'ft:poppoli'}); expect(nodesApiService.updateNode).toHaveBeenCalled(); })); + + it('should retrigger the load of the properties when the content type has changed', fakeAsync(() => { + component.editable = true; + const property = { key: 'nodeType', value: 'ft:sbiruli' }; + const expectedNode = Object.assign({}, node, { nodeType: 'ft:sbiruli' }); + spyOn(contentMetadataService, 'openConfirmDialog').and.returnValue(of(true)); + spyOn(updateService, 'updateNodeAspect'); + spyOn(nodesApiService, 'updateNode').and.callFake(() => { + return of(expectedNode); + }); + + updateService.update(property, 'ft:poppoli'); + tick(600); + + fixture.detectChanges(); + tick(100); + const saveButton = fixture.debugElement.query(By.css('[data-automation-id="save-metadata"]')); + saveButton.nativeElement.click(); + + tick(100); + expect(component.node).toEqual(expectedNode); + expect(updateService.updateNodeAspect).toHaveBeenCalledWith(expectedNode); + })); }); describe('Reseting', () => { diff --git a/lib/content-services/src/lib/content-metadata/components/content-metadata/content-metadata.component.ts b/lib/content-services/src/lib/content-metadata/components/content-metadata/content-metadata.component.ts index 3ef18277c5..2fdbb64afe 100644 --- a/lib/content-services/src/lib/content-metadata/components/content-metadata/content-metadata.component.ts +++ b/lib/content-services/src/lib/content-metadata/components/content-metadata/content-metadata.component.ts @@ -208,6 +208,9 @@ export class ContentMetadataComponent implements OnChanges, OnInit, OnDestroy { })) .subscribe((updatedNode) => { if (updatedNode) { + if (this.hasContentTypeChanged(this.changedProperties)) { + this.cardViewUpdateService.updateNodeAspect(this.node); + } this.revertChanges(); Object.assign(this.node, updatedNode); this.alfrescoApiService.nodeUpdated.next(this.node);