mirror of
https://github.com/Alfresco/alfresco-ng2-components.git
synced 2025-05-26 17:24:56 +00:00
[ADF-3062] dual api support for Favorites (#3447)
* dual api support for Favorites * unit test
This commit is contained in:
parent
9bb941887a
commit
1838818295
@ -21,11 +21,12 @@ import { NodeFavoriteDirective } from './node-favorite.directive';
|
||||
import { AlfrescoApiServiceMock } from '../mock/alfresco-api.service.mock';
|
||||
import { AppConfigService } from '../app-config/app-config.service';
|
||||
import { StorageService } from '../services/storage.service';
|
||||
import { AlfrescoApiService } from '../services/alfresco-api.service';
|
||||
|
||||
describe('NodeFavoriteDirective', () => {
|
||||
|
||||
let directive;
|
||||
let alfrescoApiService;
|
||||
let alfrescoApiService: AlfrescoApiService;
|
||||
|
||||
beforeEach(() => {
|
||||
alfrescoApiService = new AlfrescoApiServiceMock(new AppConfigService(null), new StorageService());
|
||||
@ -316,6 +317,22 @@ describe('NodeFavoriteDirective', () => {
|
||||
});
|
||||
|
||||
describe('getFavorite()', () => {
|
||||
|
||||
it('should not hit server when using 6.x api', fakeAsync(() => {
|
||||
spyOn(alfrescoApiService.favoritesApi, 'getFavorite').and.callThrough();
|
||||
|
||||
const selection = [
|
||||
{ entry: { id: '1', name: 'name1', isFavorite: true } }
|
||||
];
|
||||
|
||||
let change = new SimpleChange(null, selection, true);
|
||||
directive.ngOnChanges({'selection': change});
|
||||
tick();
|
||||
|
||||
expect(directive.favorites[0].entry.isFavorite).toBe(true);
|
||||
expect(alfrescoApiService.favoritesApi.getFavorite).not.toHaveBeenCalled();
|
||||
}));
|
||||
|
||||
it('should process node as favorite', fakeAsync(() => {
|
||||
spyOn(alfrescoApiService.getInstance().core.favoritesApi, 'getFavorite').and.returnValue(Promise.resolve());
|
||||
|
||||
|
@ -125,9 +125,17 @@ export class NodeFavoriteDirective implements OnChanges {
|
||||
}
|
||||
|
||||
private getFavorite(selected: MinimalNodeEntity): Observable<any> {
|
||||
const { name, isFile, isFolder } = selected.entry;
|
||||
const node = selected.entry;
|
||||
|
||||
// ACS 6.x with 'isFavorite' include
|
||||
if (node && node.hasOwnProperty('isFavorite')) {
|
||||
return Observable.of(selected);
|
||||
}
|
||||
|
||||
// ACS 5.x and 6.x without 'isFavorite' include
|
||||
const { name, isFile, isFolder } = node;
|
||||
// shared files have nodeId
|
||||
const id = (<any> selected).entry.nodeId || selected.entry.id;
|
||||
const id = node.nodeId || node.id;
|
||||
|
||||
const promise = this.alfrescoApiService.favoritesApi.getFavorite('-me-', id);
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user