| /******************************************************************************** |
| * 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"'); |
| })); |
| }); |