mirror of
https://github.com/Alfresco/alfresco-content-app.git
synced 2025-10-01 14:41:14 +00:00
[ACS-5645] added unit test cases
This commit is contained in:
@@ -1261,7 +1261,7 @@
|
||||
"click": "EXPAND_INFO_DRAWER"
|
||||
},
|
||||
"rules": {
|
||||
"visible": "canNotShowExpand"
|
||||
"visible": "canShowExpand"
|
||||
}
|
||||
}
|
||||
],
|
||||
|
@@ -192,7 +192,7 @@ export class ContentServiceExtensionModule {
|
||||
canToggleFavorite: rules.canToggleFavorite,
|
||||
isLibraryManager: rules.isLibraryManager,
|
||||
canEditAspects: rules.canEditAspects,
|
||||
canNotShowExpand: rules.canNotShowExpand,
|
||||
canShowExpand: rules.canShowExpand,
|
||||
canInfoPreview: rules.canInfoPreview,
|
||||
showInfoSelectionButton: rules.showInfoSelectionButton,
|
||||
|
||||
|
@@ -26,7 +26,7 @@ import { ComponentFixture, TestBed } from '@angular/core/testing';
|
||||
import { AppTestingModule } from '../../testing/app-testing.module';
|
||||
import { DetailsComponent } from './details.component';
|
||||
import { ActivatedRoute } from '@angular/router';
|
||||
import { of, Subject } from 'rxjs';
|
||||
import { BehaviorSubject, of, Subject } from 'rxjs';
|
||||
import { NO_ERRORS_SCHEMA } from '@angular/core';
|
||||
import { Store } from '@ngrx/store';
|
||||
import { ContentApiService } from '@alfresco/aca-shared';
|
||||
@@ -49,6 +49,16 @@ describe('DetailsComponent', () => {
|
||||
select: () => mockStream
|
||||
};
|
||||
|
||||
const extensionsServiceMock = {
|
||||
getAllowedSidebarActions: jasmine.createSpy('getAllowedSidebarActions')
|
||||
};
|
||||
|
||||
const mockAspectActions = [];
|
||||
|
||||
// Mock the observable returned by getAllowedSidebarActions
|
||||
const mockObservable = new BehaviorSubject(mockAspectActions);
|
||||
extensionsServiceMock.getAllowedSidebarActions.and.returnValue(mockObservable);
|
||||
|
||||
beforeEach(() => {
|
||||
TestBed.configureTestingModule({
|
||||
imports: [AppTestingModule, DetailsComponent],
|
||||
@@ -128,4 +138,12 @@ describe('DetailsComponent', () => {
|
||||
fixture.detectChanges();
|
||||
expect(store.dispatch).toHaveBeenCalledWith(new SetSelectedNodesAction([node]));
|
||||
});
|
||||
|
||||
it('should set aspectActions from extensions', () => {
|
||||
extensionsServiceMock.getAllowedSidebarActions.and.returnValue(of(mockAspectActions));
|
||||
fixture.detectChanges();
|
||||
fixture.whenStable().then(() => {
|
||||
expect(component.aspectActions).toEqual(mockAspectActions);
|
||||
});
|
||||
});
|
||||
});
|
||||
|
@@ -29,6 +29,7 @@ import { Store } from '@ngrx/store';
|
||||
import { NodeEntry } from '@alfresco/js-api';
|
||||
import { DownloadNodesAction, EditOfflineAction, SnackbarErrorAction } from '@alfresco/aca-shared/store';
|
||||
import { AppTestingModule } from '../../../testing/app-testing.module';
|
||||
import { AppExtensionService } from '@alfresco/aca-shared';
|
||||
|
||||
describe('ToggleEditOfflineComponent', () => {
|
||||
let fixture: ComponentFixture<ToggleEditOfflineComponent>;
|
||||
@@ -38,6 +39,10 @@ describe('ToggleEditOfflineComponent', () => {
|
||||
let selectSpy: jasmine.Spy;
|
||||
let selection: any;
|
||||
|
||||
const extensionsMock = {
|
||||
updateSidebarActions: jasmine.createSpy('updateSidebarActions')
|
||||
};
|
||||
|
||||
beforeEach(() => {
|
||||
TestBed.configureTestingModule({
|
||||
imports: [AppTestingModule, ToggleEditOfflineComponent],
|
||||
@@ -48,6 +53,10 @@ describe('ToggleEditOfflineComponent', () => {
|
||||
select: () => {},
|
||||
dispatch: () => {}
|
||||
}
|
||||
},
|
||||
{
|
||||
provide: AppExtensionService,
|
||||
useValue: extensionsMock
|
||||
}
|
||||
]
|
||||
});
|
||||
@@ -133,4 +142,14 @@ describe('ToggleEditOfflineComponent', () => {
|
||||
})
|
||||
]);
|
||||
});
|
||||
|
||||
it('should call updateSidebarActions on click', async () => {
|
||||
selectSpy.and.returnValue(of(selection));
|
||||
fixture.detectChanges();
|
||||
|
||||
await component.onClick();
|
||||
fixture.detectChanges();
|
||||
|
||||
expect(extensionsMock.updateSidebarActions).toHaveBeenCalled();
|
||||
});
|
||||
});
|
||||
|
@@ -121,6 +121,28 @@ describe('app.evaluators', () => {
|
||||
});
|
||||
});
|
||||
|
||||
describe('canShowExpand', () => {
|
||||
it('should return false when isLibraries returns true', () => {
|
||||
const context: any = {
|
||||
navigation: {
|
||||
url: '/libraries'
|
||||
}
|
||||
};
|
||||
|
||||
expect(app.canShowExpand(context)).toBe(false);
|
||||
});
|
||||
|
||||
it('should return false when isDetails returns true', () => {
|
||||
const context: any = {
|
||||
navigation: {
|
||||
url: '/details'
|
||||
}
|
||||
};
|
||||
|
||||
expect(app.canShowExpand(context)).toBe(false);
|
||||
});
|
||||
});
|
||||
|
||||
describe('hasLockedFiles', () => {
|
||||
it('should return [false] if selection not present', () => {
|
||||
const context: any = {};
|
||||
|
@@ -511,7 +511,7 @@ export const canEditAspects = (context: RuleContext): boolean =>
|
||||
repository.isMajorVersionAvailable(context, '7')
|
||||
].every(Boolean);
|
||||
|
||||
export const canNotShowExpand = (context: RuleContext): boolean => [!navigation.isLibraries(context), !navigation.isDetails(context)].every(Boolean);
|
||||
export const canShowExpand = (context: RuleContext): boolean => [!navigation.isLibraries(context), !navigation.isDetails(context)].every(Boolean);
|
||||
|
||||
/**
|
||||
* Checks if user can manage permissions for the selected node.
|
||||
|
@@ -225,6 +225,38 @@ describe('navigation.evaluators', () => {
|
||||
});
|
||||
});
|
||||
|
||||
describe('isDetails', () => {
|
||||
it('should return [true] if url ends with `/details`', () => {
|
||||
const context: any = {
|
||||
navigation: {
|
||||
url: '/path/details'
|
||||
}
|
||||
};
|
||||
|
||||
expect(app.isDetails(context)).toBe(true);
|
||||
});
|
||||
|
||||
it('should return [true] if url starts with `/details`', () => {
|
||||
const context: any = {
|
||||
navigation: {
|
||||
url: '/details/path'
|
||||
}
|
||||
};
|
||||
|
||||
expect(app.isDetails(context)).toBe(true);
|
||||
});
|
||||
|
||||
it('should return [true] if url includes with `/details`', () => {
|
||||
const context: any = {
|
||||
navigation: {
|
||||
url: '/details/path'
|
||||
}
|
||||
};
|
||||
|
||||
expect(app.isDetails(context)).toBe(true);
|
||||
});
|
||||
});
|
||||
|
||||
describe('isRecentFiles', () => {
|
||||
it('should return [true] if url starts with `/recent-files`', () => {
|
||||
const context: any = {
|
||||
|
Reference in New Issue
Block a user