[MNT-24628] Handle difference between config object ticket and browser storage ticket (#10270)

* [MNT-24628] Handle difference between config object ticket and browser storage ticket

* [MNT-24628] Add unit tests

* [MNT-24628] Added null/undefined checks
This commit is contained in:
Tiago Salvado
2024-10-14 22:03:25 +01:00
committed by GitHub
parent cf32655e21
commit 5dda03b602
4 changed files with 110 additions and 5 deletions

View File

@@ -16,7 +16,7 @@
*/
import assert from 'assert';
import { AlfrescoApi, DateAlfresco } from '../src';
import { AlfrescoApi, AlfrescoApiClient, DateAlfresco } from '../src';
import { EcmAuthMock } from './mockObjects';
describe('Alfresco Core API Client', () => {
@@ -76,4 +76,37 @@ describe('Alfresco Core API Client', () => {
assert.equal(equalTime(DateAlfresco.parseDate('2015-11-17T03:33:17+02'), new Date(Date.UTC(2015, 10, 17, 1, 33, 17))), true);
});
});
describe('Alfresco Api Client getAlfTicket', () => {
// Tickets
const alfTicketParam = '&alf_ticket=';
const mockArgTicket = 'arg-ticket';
const mockStorageTicket = 'storage-ticket';
const mockConfigTicket = 'config-ticket';
// Create a mock storage
const storageContent = { 'ticket-ECM': mockStorageTicket };
const mockStorage = { getItem: (key: string) => storageContent[key] };
let alfrescoApiClient: AlfrescoApiClient;
beforeEach(() => {
// Create an instance of AlfrescoApiClient with storage and config
alfrescoApiClient = new AlfrescoApiClient();
alfrescoApiClient.storage = mockStorage as any;
alfrescoApiClient.config = { ticketEcm: mockConfigTicket };
});
it('should return the supplied ticket', () => {
const ticket = alfrescoApiClient.getAlfTicket(mockArgTicket);
const expectedResult = alfTicketParam + mockArgTicket;
assert.equal(ticket, expectedResult);
});
it('should return the ticket from storage', () => {
const ticket = alfrescoApiClient.getAlfTicket(undefined);
const expectedResult = alfTicketParam + mockStorageTicket;
assert.equal(ticket, expectedResult);
});
});
});