[ACS-11472] cr fixes

This commit is contained in:
Mykyta Maliarchuk
2026-04-13 13:58:38 +02:00
parent 8c8a6d997d
commit cd587cce04
2 changed files with 21 additions and 9 deletions

View File

@@ -573,38 +573,51 @@ describe('AlfrescoViewerComponent', () => {
describe('versioned file with rendition', () => {
const docxMimeType = 'application/vnd.openxmlformats-officedocument.wordprocessingml.document';
const xlsxMimeType = 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet';
const nodeId = 'node-id';
const previousVersionId = '1.0';
const newVersionId = '2.0';
beforeEach(() => {
spyOn(component.versionsApi, 'getVersion').and.returnValue(
Promise.resolve(
new VersionEntry({ entry: new Node({ name: 'file.docx', content: new ContentInfo({ mimeType: docxMimeType }) }) })
new VersionEntry({
entry: new Node({ id: newVersionId, name: 'file.docx', content: new ContentInfo({ mimeType: docxMimeType }) })
})
)
);
spyOn(renditionService, 'getNodeRendition').and.returnValue(Promise.resolve({ url: 'rendition-url', mimeType: 'application/pdf' }));
component.nodeId = 'node-id';
component.versionId = '2.0';
component.nodeId = nodeId;
component.versionId = previousVersionId;
component.showViewer = true;
});
it('should set nodeMimeType from versionData.content.mimeType, not nodeData.content.mimeType', fakeAsync(() => {
spyOn(component.nodesApi, 'getNode').and.returnValue(
Promise.resolve(new NodeEntry({ entry: new Node({ name: 'file.xlsx', content: new ContentInfo({ mimeType: xlsxMimeType }) }) }))
Promise.resolve(
new NodeEntry({ entry: new Node({ id: nodeId, name: 'file.xlsx', content: new ContentInfo({ mimeType: xlsxMimeType }) }) })
)
);
component.ngOnChanges(getSimpleChangesWithVersion('node-id', '1.0'));
component.versionId = newVersionId;
component.ngOnChanges(getSimpleChangesWithVersion(nodeId, newVersionId, nodeId, previousVersionId));
tick();
expect(renditionService.getNodeRendition).toHaveBeenCalledWith(nodeId, newVersionId);
expect(component.mimeType).toBe('application/pdf');
expect(component.nodeMimeType).toBe(docxMimeType);
}));
it('should preserve nodeMimeType from versionData when nodeData has no content', fakeAsync(() => {
spyOn(component.nodesApi, 'getNode').and.returnValue(Promise.resolve(new NodeEntry({ entry: new Node({ name: 'file.docx' }) })));
spyOn(component.nodesApi, 'getNode').and.returnValue(
Promise.resolve(new NodeEntry({ entry: new Node({ id: nodeId, name: 'file.docx' }) }))
);
component.ngOnChanges(getSimpleChangesWithVersion('node-id', '1.0'));
component.versionId = newVersionId;
component.ngOnChanges(getSimpleChangesWithVersion(nodeId, newVersionId, nodeId, previousVersionId));
tick();
expect(renditionService.getNodeRendition).toHaveBeenCalledWith(nodeId, newVersionId);
expect(component.mimeType).toBe('application/pdf');
expect(component.nodeMimeType).toBe(docxMimeType);
}));

View File

@@ -315,7 +315,6 @@ export class AlfrescoViewerComponent implements OnChanges, OnInit {
private async setUpNodeFile(nodeData: Node, versionData?: Version): Promise<void> {
this.canEditNode = this.contentService.hasAllowableOperations(nodeData, 'update');
let mimeType: string;
let nodeMimeType: string;
let urlFileContent: string;
if (versionData?.content) {
@@ -323,7 +322,7 @@ export class AlfrescoViewerComponent implements OnChanges, OnInit {
} else if (nodeData.content) {
mimeType = nodeData.content.mimeType;
}
nodeMimeType = mimeType;
const nodeMimeType = mimeType;
const currentFileVersion = this.nodeEntry?.entry?.properties?.['cm:versionLabel']
? encodeURI(this.nodeEntry?.entry?.properties['cm:versionLabel'])