import {AppState} from "../shared/store/reducers";
 import {NgRedux} from '@angular-redux/store';
 import {JobStatus, ServiceAction} from "../shared/models/serviceInstanceActions";
-import {DrawingBoardModes} from "../drawingBoard/service-planning/drawing-board.modes";
 
 export interface MenuAction{
   name: string;
 
   refreshData(): void {
     this.dataIsReady = false;
-    this._serviceInfoService.getServicesJobInfo(true, this.lastUpdatedDate === null)
+    this._serviceInfoService.getServicesJobInfo(this.lastUpdatedDate === null)
       .subscribe((res: ServiceInfoModel[]) => {
         this._instantiationStatusComponentService.convertObjectToArray(res).subscribe((res) => {
           this._logService.info('refresh instantiation status table', res);
       this.refreshData();
     });
   }
-  
+
   retryItem(item: ServiceInfoModel) : void {
     if (item.isRetryEnabled) {
       this._instantiationStatusComponentService.retry(item);
 
     });
   });
 
+  describe('#getServicesJobInfo', ()=> {
+    test('should call without serviceModelId', ()=>{
+      let job: ServiceInfoModel = new ServiceInfoModel();
+
+      service.getServicesJobInfo().subscribe();
+      const req = httpMock.expectOne(Constants.Path.SERVICES_JOB_INFO_PATH);
+
+      expect(req.request.method).toBe('GET');
+    });
+
+    test('should call with serviceModelId', ()=>{
+      let job: ServiceInfoModel = new ServiceInfoModel();
+
+      service.getServicesJobInfo(true, "123").subscribe();
+      const req = httpMock.expectOne(`${Constants.Path.SERVICES_JOB_INFO_PATH}?${Constants.Path.SERVICE_MODEL_ID}=123`);
+      expect(req.request.method).toBe('GET');
+    });
+  });
+
   describe('#getALaCarteJobAuditStatus Without params', ()=> {
     test('should return Observable<Object[]>', ()=>{
       let job: ServiceInfoModel = new ServiceInfoModel();
 
 import {Observable} from 'rxjs';
 import {ServiceInfoModel} from './serviceInfo.model';
 import {HttpClient, HttpHeaders} from '@angular/common/http';
-import { of } from 'rxjs';
-import { map } from 'rxjs/operators';
 import {Constants} from '../../utils/constants';
 import {forkJoin} from "rxjs/observable/forkJoin";
 import * as _ from 'lodash';
   constructor(private _http: HttpClient) {
   }
 
-  getServicesJobInfo(filterByUser : boolean, showSpinner: boolean = true): Observable<ServiceInfoModel[]> {
+  getServicesJobInfo(showSpinner: boolean = true, serviceModelId: string = null): Observable<ServiceInfoModel[]> {
     let pathQuery = Constants.Path.SERVICES_JOB_INFO_PATH;
     let headers = new HttpHeaders({'x-show-spinner': showSpinner.toString()});
-    return this._http.get<ServiceInfoModel[]>(pathQuery, { headers: headers }).map(res => res );
+    let params = serviceModelId ? {serviceModelId} : {};
+    return this._http.get<ServiceInfoModel[]>(pathQuery, { headers: headers, params });
   }
 
   deleteJob(jobId: string): Observable<any> {
 
     public static WELCOME_PATH = 'welcome.htm';
     public static IS_PERMITTED_SUB_PATH = '&isPermitted=';
     public static SERVICES_JOB_INFO_PATH = '../../asyncInstantiation';
+    public static SERVICE_MODEL_ID = 'serviceModelId';
     public static SERVICES_RETRY_TOPOLOGY = '../../asyncInstantiation/bulkForRetry';
     public static CONFIGURATION_PATH = '../../get_property/{name}/defaultvalue';
     public static SERVICES_JOB_AUDIT_PATH = '/auditStatus';