blob: 3f0697c1d3f1e0a182ef69736c94ef71144332b7 [file] [log] [blame]
/********************************************************************************
* Copyright (c) 2015-2020 Contributors to the Eclipse Foundation
*
* See the NOTICE file(s) distributed with this work for additional
* information regarding copyright ownership.
*
* This program and the accompanying materials are made available under the
* terms of the Eclipse Public License v. 2.0 which is available at
* http://www.eclipse.org/legal/epl-2.0.
*
* SPDX-License-Identifier: EPL-2.0
*
********************************************************************************/
import { HttpModule } from '@angular/http';
import { TestBed, inject } from '@angular/core/testing';
import { TranslateModule } from '@ngx-translate/core';
import { of as observableOf, Observable } from 'rxjs';
import { PropertyService } from '../core/property.service';
import { NodeproviderService } from './nodeprovider.service';
import { NodeService } from '../navigator/node.service';
import { PreferenceService, Preference } from '../core/preference.service';
import { MDMNotificationService } from '../core/mdm-notification.service';
import { QueryService } from '../tableview/query.service';
import { MDMItem } from '../core/mdm-item';
import { HttpErrorHandler } from '../core/http-error-handler';
declare function require(path: string): any;
const defaultNodeProvider = require('../navigator/defaultnodeprovider.json');
class TestPreferenceService {
getPreferenceForScope( scope: string, key?: string ): Observable<Preference[]> {
let p = new Preference();
p.value = JSON.stringify(defaultNodeProvider);
return observableOf([p]);
}
}
describe ( 'NodeproviderService', () => {
beforeEach(() => {
TestBed.configureTestingModule({
imports: [
HttpModule,
TranslateModule.forRoot(),
],
providers: [
PropertyService,
{
provide: PreferenceService,
useClass: TestPreferenceService
},
NodeproviderService,
MDMNotificationService,
QueryService,
HttpErrorHandler,
NodeService]
});
});
it('getSubNodeprovider', inject([NodeproviderService], (nodeproviderService) => {
let item = new MDMItem('MDMNVH', 'Project', 'id1');
let query = nodeproviderService.getSubNodeprovider(item);
expect(query).toEqual('/pools?filter=Project.Id eq "{Project.Id}"');
}));
it('getSubNodeprovider not found', inject([NodeproviderService], (nodeproviderService) => {
let item = new MDMItem('MDMNVH', 'xxx', 'id1');
let query = nodeproviderService.getSubNodeprovider(item, defaultNodeProvider);
expect(query).toEqual(undefined);
}));
it('replace', inject([NodeproviderService], (nodeproviderService) => {
let item = new MDMItem('MDMNVH', 'Project', 'id1');
let query = nodeproviderService.replace('/pools?filter=Project.Id eq "{Project.Id}"', item);
expect(query).toEqual('/MDMNVH/pools?filter=Project.Id eq "id1"');
}));
});