{"version":3,"sources":["./src/app/landing-page/org-view-landing-page/org-view-landing-page.component.ts","./src/app/landing-page/org-view-landing-page/org-view-landing-page.html","./src/app/self-serve/self-serve.component.ts","./src/app/self-serve/self-serve.component.html","./src/app/project-test-runs/edit-parameter/card-wrapper.component.ts","./src/app/loadtestexecution/loadtestexecution.component.ts","./src/app/loadtestexecution/loadtestexecution.component.html","./src/app/manage-scenarios/execute-testruns/testruns-input-panel/repeat-section.type.ts","./src/app/blob-download/blob-download.component.ts","./src/app/blob-download/blob-download.component.html","./src/app/model/testCaseDataJson.model.ts","./src/app/manage-scenarios/execute-testruns/execute-testruns.component.ts","./src/app/manage-scenarios/execute-testruns/execute-testruns.component.html","./src/app/service/invsnapshotFSL.service.ts","./src/app/model/landingpage.model.ts","fs (ignored)","stream (ignored)","./src/app/self-serve/repeat-section.type.ts","./src/app/manage-scenarios/manage-testruns/manage-testruns.component.ts","./src/app/manage-scenarios/manage-testruns/manage-testruns.component.html","./src/app/privacynotice/privacynotice.component.ts","./src/app/privacynotice/privacynotice.component.html","./src/app/uatAvailability/uatAvailability.component.ts","./src/app/uatAvailability/uatAvailability.component.html","./src/app/service/goodreceipt.service.ts","./src/app/service/br-mockers.service.ts","./src/app/service/excelFile.service.ts","./src/app/mockers/mockers.component.ts","./src/app/mockers/mockers.component.html","./src/app/manage-scenarios/manage-scenarios.component.ts","./src/app/manage-scenarios/manage-scenarios.component.html","./src/app/project-test-runs/edit-parameter/line-items-wrapper.component.ts","./src/app/common/filter.pipe.ts","./src/app/project-test-runs/test-grid/test-grid.component.ts","./src/app/project-test-runs/test-grid/test-grid.component.html","./src/app/manage-scenarios/customtypes/formly-custom-view/formly-readonly-listview.component.ts","./src/app/manage-scenarios/customtypes/formly-custom-view/formly-readonly-listview.component.html","./src/app/self-serve/tabs.type.ts","./src/app/shipmentmocker/shipmentmocker.component.ts","./src/app/shipmentmocker/shipmentmocker.component.html","./src/app/service/monitoring.service.ts","./src/app/model/ackmocker.model.ts","./src/app/service/testproject.service.ts","./src/app/tools/tools.component.ts","./src/app/tools/tools.component.html","./src/app/service/auth.service.ts","./src/app/service/constant.service.ts","./src/app/testrunoverview/testrunoverview.component.ts","./src/app/testrunoverview/testrunoverview.component.html","./src/app/service/testdata.service.ts","./src/app/hardware-partnumber-lookup/hardware-partnumber-lookup.component.ts","./src/app/hardware-partnumber-lookup/hardware-partnumber-lookup.component.html","./src/app/model/ordersummary-timeline.model.ts","./src/app/model/outboundmocker.model.ts","./src/app/service/shipmentmocker.service.ts","./src/app/service/outbound-mocker.service.ts","./src/app/model/brcreatemocker.model.ts","./src/app/verifyretry-loadtest/verifyretry-loadtest.component.ts","./src/app/verifyretry-loadtest/verifyretry-loadtest.component.html","./src/app/common/jsonValidator.ts","./src/environments/environment.ts","./src/app/service/description.service.ts","./src/app/model/new-testrun-request.model.ts","./src/app/service/test-case-project.service.ts","./src/app/model/listTestRuns.ts","./src/app/loadplanmocker/loadplanmocker.component.ts","./src/app/loadplanmocker/loadplanmocker.component.html","./src/app/service/modal.service.ts","./src/app/error/error.component.ts","./src/app/error/error.component.html","./src/app/service/landingpage.service.ts","./src/app/skuvalidation/skuvalidation.component.ts","./src/app/skuvalidation/skuvalidation.component.html","./src/app/navmenu/navmenu.component.ts","./src/app/navmenu/navmenu.component.html","./src/app/sapoutputtrigger/sapoutputtrigger.component.ts","./src/app/sapoutputtrigger/sapoutputtrigger.component.html","./src/app/project-test-runs/test-grid/simple-grid/simple-grid.component.ts","./src/app/project-test-runs/test-grid/simple-grid/simple-grid.component.html","./src/app/service/formly-custom-components.service.ts","./src/app/model/brcancelmocker.model.ts","./src/app/project-test-runs/progress/progress.component.ts","./src/app/project-test-runs/progress/progress.component.html","./src/app/mockersformly/mockersformly.component.ts","./src/app/mockersformly/mockersformly.component.html","./src/app/model/shipment.model.ts","./src/app/manage-scenarios/execute-testruns/testruns-input-panel/testruns-input-panel.component.ts","./src/app/manage-scenarios/execute-testruns/testruns-input-panel/testruns-input-panel.component.html","./src/app/manage-scenarios/execute-testruns/testruns-input-panel/inputWithToolTip.type.ts","./src/app/entity-tracking/entitytracking.component.ts","./src/app/entity-tracking/entitytracking.component.html","./src/app/preloader/preloader.component.ts","./src/app/preloader/preloader.component.html","./src/app/formly-playground/formly-playground.component.ts","./src/app/formly-playground/formly-playground.component.html","./src/app/goodreceiptmocker/goodreceiptmocker.component.ts","./src/app/goodreceiptmocker/goodreceiptmocker.component.html","./src/app/model/createloadtestrequest.model.ts","./src/app/mockersformly/dropdown.type.ts","./src/app/mockersformly/file-value-accessor.ts","./src/app/model/execute-testruns.model.ts","./src/app/service/config.service.ts","./src/app/model/errorcode.model.ts","./src/app/mockersformly/description.type.ts","./src/app/project-test-runs/error-display/error-display.component.ts","./src/app/project-test-runs/error-display/error-display.component.html","./src/app/model/outputtrigger.model.ts","./src/app/model/goodreceiptrequest.model.ts","./src/app/model/order-list.model.ts","./src/app/devicecare/devicecare.component.ts","./src/app/devicecare/devicecare.component.html","./src/app/org-view/org-card/org-card.component.ts","./src/app/org-view/org-card/org-card.component.html","./src/app/modaltable/modaltable.component.ts","./src/app/modaltable/modaltable.component.html","./src/app/service/masterdata.service.ts","./src/app/model/order-list-request.model.ts","./src/app/project-test-runs/test-case-view/test-case-view.component.ts","./src/app/project-test-runs/test-case-view/test-case-view.component.html","./src/app/manage-scenarios/execute-testruns/testruns-input-panel/formly-button.type.ts","./src/app/order-list/order-list.component.ts","./src/app/order-list/order-list.component.html","./src/app/model/testrunrequest.model.ts","./src/app/service/uatavailability.service.ts","./src/app/service/scg.service.ts","./src/app/sku-number-list/sku-number-list.component.ts","./src/app/sku-number-list/sku-number-list.component.html","./src/app/app.component.ts","./src/app/app.component.html","./src/app/service/sap.service.ts","./src/app/service/inventory-service.service.ts","./src/app/service/loadplan.service.ts","./src/app/service/org-view.service.ts","./src/app/model/inventorySCG.model.ts","./src/app/generate-mapper-string/generate-mapper-string.component.ts","./src/app/generate-mapper-string/generate-mapper-string.component.html","./src/app/service/loadplanmocker.service.ts","./src/app/project-test-runs/edit-parameter/edit-parameter.component.ts","./src/app/project-test-runs/edit-parameter/edit-parameter.component.html","./src/app/project-test-runs/filter-bar/filter-bar.component.ts","./src/app/project-test-runs/filter-bar/filter-bar.component.html","./src/app/serial-number-generator/serial-number-generator.component.ts","./src/app/serial-number-generator/serial-number-generator.component.html","./src/app/unauthorized/unauthorized.component.ts","./src/app/unauthorized/unauthorized.component.html","./src/app/model/loadtestingrequest.model.ts","./src/app/app.module.ts","./src/app/preloader-small/preloader-small.component.ts","./src/app/preloader-small/preloader-small.component.html","./src/app/AppInsightsLogger.ts","./src/app/service/blob-download.service.ts","./src/app/model/skunumberlist.model.ts","./src/app/model/validation-messages.model.ts","./src/app/scenariocatalog/scenariocatalog.component.ts","./src/app/scenariocatalog/scenariocatalog.component.html","./src/app/model/project-view.model.ts","./src/app/project-test-runs/date-picker/date-picker.component.ts","./src/app/project-test-runs/date-picker/date-picker.component.html","./src/$_lazy_route_resource lazy namespace object","./src/environments/environment.prod.ts","./src/app/base/base.component.ts","./src/app/model/loadtesting.model.ts","./src/app/model/devicecaretable.model.ts","./src/app/service/loadtest.service.ts","./src/app/order-summary/order-summary.component.ts","./src/app/order-summary/order-summary.component.html","./src/app/model/executestep.model.ts","./src/app/model/testrunlist.model.ts","./src/app/service/entitytracking.service.ts","./src/app/common/role-guard.ts","./src/app/feedback/feedback.component.ts","./src/app/project-test-runs/org-project-view/org-project-view.component.ts","./src/app/project-test-runs/org-project-view/org-project-view.component.html","./src/app/model/response.model.ts","./src/app/model/msal.config.ts","./src/app/service/order.service.ts","./src/app/model/serialnumberlist.model.ts","./src/app/common/error.handler.ts","./src/app/service/pager.service.ts","./src/app/landing-page/landing-page.component.ts","./src/app/landing-page/landing-page.component.html","./src/app/model/serial-number-request.model.ts","./src/app/model/ASNmocker.model.ts","./src/app/testrun/testrun.component.ts","./src/app/testrun/testrun.component.html","./src/app/service/generate-sas-token.service.ts","./src/app/new-test-run/new-test-run.component.ts","./src/app/new-test-run/new-test-run.component.html","./src/app/serial-number-list/serial-number-list.component.ts","./src/app/serial-number-list/serial-number-list.component.html","./src/app/service/goodsreceiptmocker.service.ts","./src/app/service/devicecare.service.ts","./src/app/service/samplefiles.service.ts","./src/app/model/loadplan.model.ts","./src/app/project-test-runs/project-view/test-project-view.component.ts","./src/app/project-test-runs/project-view/test-project-view.component.html","./src/app/test-run-list/test-run-list.component.ts","./src/app/test-run-list/test-run-list.component.html","./src/app/service/manage-scenarios.service.ts","./src/app/model/goodreceiptresponse.model.ts","./src/app/model/invSnapshotFSLMocker.model.ts","./src/app/project-test-runs/status/status.component.ts","./src/app/project-test-runs/status/status.component.html","./src/app/self-serve/alink.type.ts","./src/app/mockersformly/file-type.component.ts","./src/app/service/shipmentlabel-mocker.service.ts","./src/app/service/tradeporforma.service.ts","./src/app/service/asn-mocker.service.ts","./src/app/model/manage-testruns.model.ts","./src/app/comming-soon/comming-soon.component.ts","./src/app/comming-soon/comming-soon.component.html","./src/app/common/authentication-guard.ts","./src/app/app-routing.module.ts","./src/app/model/serialnumbersearchrequest.model.ts","./src/app/service/acknowledge-mocker.service.ts","./src/app/model/tradePorforma.model.ts","./src/app/service/testrun.service.ts","./src/app/service/shipment.service.ts","./src/app/project-test-runs/tracking-details/tracking-details.component.ts","./src/app/project-test-runs/tracking-details/tracking-details.component.html","./src/app/model/productrequest.model.ts","./src/app/loadtest/loadtest.component.ts","./src/app/loadtest/loadtest.component.html","./src/app/generateTestResults/generateTestResults.component.ts","./src/app/generateTestResults/generateTestResults.component.html","./src/app/model/skunumbersearchrequest.model.ts","./src/main.ts"],"names":[],"mappings":"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ACc;AACf;AACY;AACP;AACE;AACA;AACb;AAC4B;AAChB;AAC0K;AAC9K;AACyB;AAC9B;AACY;AACJ;AACF;AACE;AACJ;AACe;AACJ;AACT;AAEmB;AACjB;AACI;AACqB;AACA;AAClB;AAC2B;AACzB;AACS;AACxB;AACQ;AACA;AACkB;AACU;AACiB;AACH;AACgC;AACpB;AACQ;AACP;AAC7D;AACA;AACyB;AACX;AACE;AACe;AAC7B;AACT;AAC8B;AACvB;AACf;AACc;AACW;AACX;AACM;AACiD;AAC5C;AACE;AACS;AACkB;AACT;AACJ;AACS;AACxB;AACU;AACW;AACA;AACrC;AACC;AACU;AACqC;AACN;AAC0B;AACjB;AAClC;AACkB;AACZ;AACN;AACV;AACM;AACA;AACwB;AAC1B;AACc;AACM;AACkD;AAC7C;AACgB;AACD;AACM;AAClB;AACX;AACM;AACQ;AACY;AACJ;AACvB;AAC6B;AACvC;AAC8B;AACO;AACrB;AAC1B;AACiB;AACyC;AACvD;AACsC;AAC1C;AACoE;AAErD;AACM;AACF;AAClB;AACa;AAGsB;AAC9B;AAC4C;AACnD;AACiB;AACP;AACO;AACS;AACb;AACE;AACE;AACE;AACM;;;;;AAGhF,IAAM,iBAAiB,GAAsB;IAC3C,UAAU,EAAE,KAAK;IACjB,YAAY,EAAE,GAAG;IACjB,iCAAiC;IACjC,iBAAiB;IACjB,oCAAoC;IACpC,MAAM,EAAE,CAAC;IACT,OAAO,EAAE,CAAC;IACV,UAAU,EAAE,KAAK;IACjB,aAAa,EAAE,eAAe;IAC9B,SAAS,EAAE,EAAE;IACb,SAAS,EAAE,qBAAqB;IAChC,KAAK,EAAE,EAAE;IACT,cAAc,EAAE,eAAe;IAC/B,UAAU,EAAE,GAAG;IACf,SAAS,EAAE,oCAAoC;IAC/C,gBAAgB,EAAE,QAAQ;IAC1B,qBAAqB,EAAE,GAAG;IAC1B,cAAc,EAAE,uBAAuB;IACvC,SAAS,EAAE,KAAK;IAChB,aAAa,EAAE,KAAK;IACpB,aAAa,EAAE,CAAC;IAChB,gBAAgB,EAAE,IAAI;IACtB,MAAM,EAAE,2BAA2B;IACnC,WA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","file":"main.js","sourcesContent":["import { Component, OnInit } from '@angular/core';\r\nimport { ConfigService } from '../../service/config.service';\r\nimport { AuthService } from '../../service/auth.service';\r\nimport { ActivatedRoute, Router } from '@angular/router';\r\nimport { MonitoringService } from '../../service/monitoring.service';\r\nimport { BaseComponent } from '../../base/base.component';\r\nimport { TestRunsFetchInputs, TestRunsChartCounts } from '../../model/manage-testruns.model';\r\nimport { NgxUiLoaderService } from 'ngx-ui-loader';\r\nimport { ManageScenariosService } from '../../service/manage-scenarios.service';\r\nimport * as XLSX from 'xlsx';\r\nimport { NgbModal } from '@ng-bootstrap/ng-bootstrap';\r\nimport { TestRunInputsDetails } from '../../model/execute-testruns.model';\r\nimport { MasterDataService } from '../../service/masterdata.service';\r\nimport { DescriptionService } from '../../service/description.service';\r\nimport { SampleFilesService } from '../../service/samplefiles.service';\r\nimport { LandingPageService } from '../../service/landingpage.service';\r\nimport { LandingPageResponse, WarningBoxDetail } from '../../model/landingpage.model';\r\n//import { AppInsightsService } from '@markpieszak/ng-application-insights';\r\nimport { OrgViewService } from 'src/app/service/org-view.service';\r\nimport * as log from '../../AppInsightsLogger';\r\nimport { ApplicationInsights } from '@microsoft/applicationinsights-web';\r\nimport { FeedbackComponent } from '../../feedback/feedback.component';\r\nimport { element } from 'protractor';\r\nimport { Organization } from 'src/app/model/org-view.model';\r\nimport { Page } from '../../model/masterdata.model';\r\nimport { MsalBroadcastService, MsalService } from '@azure/msal-angular';\r\nimport { EventMessage, EventType, AuthenticationResult, InteractionStatus } from '@azure/msal-browser';\r\nimport { filter } from 'rxjs/operators';\r\n\r\n\r\n@Component({\r\n selector: 'app-org-view-landing-page',\r\n templateUrl: './org-view-landing-page.html',\r\n styleUrls: ['./org-view-landing-page.component.css'],\r\n providers: [FeedbackComponent]\r\n})\r\nexport class OrgViewLandingPageComponent extends BaseComponent implements OnInit {\r\n\r\n name: string;\r\n email: string;\r\n alias: string;\r\n isDevMode: boolean;\r\n isNotice: boolean;\r\n warningResponse: WarningBoxDetail[];\r\n landingPageResponse: LandingPageResponse;\r\n page: string;\r\n private logger: log.AppInsightsLogger;\r\n message1: string;\r\n message2: string;\r\n is500error: boolean = false;\r\n organizations: Organization[] = [];\r\n orgSelected : Organization;\r\n organizationsLoaded: boolean = false;\r\n glossaryList: any[];\r\n organizationDescription: string;\r\n\r\n\r\n constructor(private configService: ConfigService,\r\n private authService: AuthService,\r\n private msalService: MsalService,\r\n private msalBroadcastService: MsalBroadcastService,\r\n private route: ActivatedRoute,\r\n private monitoringService: MonitoringService,\r\n private router: Router,\r\n private ngxLoader: NgxUiLoaderService,\r\n private modalService: NgbModal,\r\n private manageTestRunsService: ManageScenariosService,\r\n public feedbackComponent: FeedbackComponent,\r\n private masterDataService: MasterDataService,\r\n private descriptionService: DescriptionService,\r\n private landingPageService: LandingPageService,\r\n private orgViewService: OrgViewService) {\r\n super(monitoringService);\r\n this.name = this.msalService.instance.getActiveAccount().name;\r\n this.email = this.msalService.instance.getActiveAccount().username;\r\n if (window.location.origin.toLowerCase().indexOf('-test') > 0 || window.location.origin.toLowerCase().indexOf('-dev') > 0 || window.location.origin.toLowerCase().indexOf('-sit') > 0) {\r\n this.isDevMode = true;\r\n }\r\n else {\r\n this.isDevMode = false;\r\n }\r\n\r\n\r\n this.logger = new log.AppInsightsLogger(configService, msalService);\r\n }\r\n\r\n ngOnInit() {\r\n this.manageTestRunsService.ngxLoaderConfig.text = 'Welcome to SCE Test Platform'\r\n this.ngxLoader.start();\r\n this.loadGlossary();\r\n this.isAuthenticated();\r\n if (!this.authService.isAuthenticatedWithRoles()) {\r\n this.router.navigate(['/', 'unauthorized']);\r\n }\r\n this.getOrganizations(); \r\n this.logger.trackTrace(\"Successfully landed to Org Landing Page\");\r\n\r\n this.landingPageResponse = new LandingPageResponse();\r\n this.landingPageService.getLandingPageExecution().subscribe((response) => {\r\n if(response != null){\r\n this.landingPageResponse = response;\r\n this.warningResponse = this.landingPageResponse.response;\r\n }\r\n }, (error:any) =>{\r\n if(error.status == 500){\r\n this.is500error = true; \r\n }\r\n });\r\n \r\n window.sessionStorage.setItem(\"inOrgLanding\", \"true\"); \r\n }\r\n\r\n\r\n loadGlossary() {\r\n this.descriptionService.getGlossary().subscribe((response: Page[]) => {\r\n if (response != null) {\r\n this.glossaryList = response;\r\n }\r\n for (var i = 0; i < this.glossaryList.length; i++) {\r\n if (this.glossaryList[i].name == \"Organization\") {\r\n this.organizationDescription = this.glossaryList[i].description;\r\n }\r\n }\r\n }, (error: any) => {\r\n if (error.status == 500) {\r\n this.is500error = true;\r\n }\r\n this.logger.trackTrace(`In Organization, load Glossary Details Error`);\r\n this.logger.trackException(error);\r\n this.ngxLoader.stop();\r\n });\r\n }\r\n\r\n isNotification(): boolean {\r\n return this.configService.isNotification();\r\n }\r\n\r\n isEnabled(): boolean {\r\n return this.authService.isEnabled();\r\n }\r\n\r\n isOrderViewEnabled(): boolean {\r\n return this.authService.isOrderViewEnabled();\r\n }\r\n\r\n reloadPage() {\r\n window.location.reload();\r\n }\r\n\r\n isAuthenticated() {\r\n return this.authService.isUserAuthenticated()\r\n }\r\n\r\n getOrganizations(){\r\n try{\r\n this.organizations = this.configService.organizations;\r\n this.organizationsLoaded = true;\r\n this.ngxLoader.stop();\r\n }\r\n catch(Error) {\r\n this.logger.trackTrace(`Get Organizations Some error occured.`);\r\n this.logger.trackException(Error);\r\n this.organizationsLoaded = false;\r\n this.ngxLoader.stop();\r\n }\r\n }\r\n\r\n setOrganization(orgSelected: Organization){\r\n this.orgSelected = orgSelected;\r\n window.sessionStorage.setItem(\"orgSelected\", this.orgSelected.organizationId.toString());\r\n }\r\n}\r\n","\r\n\r\n
\r\n
\r\n

Welcome to Test Platform

\r\n

Lean on automated testing to -

\r\n
\r\n

Increase efficiency & ​ decrease manual effort​
\r\n

Reduce cycle time
\r\n

Save cost based on efficiency & toil reduction
\r\n

Minimize incidents and human error
\r\n

Leverage user friendly UI for running automated tests
\r\n
\r\n
\r\n \r\n
\r\n

Select an Organization below

\r\n

Returning Supply Chain Users: Please click 'Supply Chain (Devices)' in the widget below. Please open a new tab if the widget is not visible.

\r\n
\r\n
\r\n \r\n\r\n
\r\n \r\n
\r\n
\r\n\r\n\r\n","import { Component, OnInit } from '@angular/core';\r\nimport { AbstractControl, FormControl, FormGroup, ValidationErrors } from '@angular/forms';\r\nimport { FormlyFormOptions, FormlyFieldConfig } from '@ngx-formly/core';\r\n\r\nexport function jsonValidator(control: AbstractControl): ValidationErrors {\r\n \r\n try {\r\n JSON.parse(control.value);\r\n return {json:true};\r\n } catch (e) {\r\n return {json:false};\r\n }\r\n}\r\n\r\n@Component({\r\n selector: 'app-self-serve',\r\n templateUrl: './self-serve.component.html',\r\n styleUrls: ['./self-serve.component.css']\r\n})\r\nexport class SelfServeComponent {\r\n form = new FormGroup({});\r\n model: any = {\r\n };\r\n options: FormlyFormOptions = {};\r\n\r\n fields: FormlyFieldConfig[] = [{\r\n type: 'tabs',\r\n fieldGroup: [\r\n {\r\n key:'components',\r\n type: 'repeat-button',\r\n wrappers:['card'],\r\n templateOptions: { \r\n label: 'Component Form',\r\n addText: 'Add Component Form',\r\n },\r\n fieldArray:{\r\n fieldGroup: [\r\n {\r\n key: 'ComponentDescription',\r\n type: 'input',\r\n templateOptions: {\r\n label: 'ComponentDescription',\r\n required: true,\r\n },\r\n },\r\n {\r\n key: 'ComponentName',\r\n type: 'input',\r\n templateOptions: {\r\n label: 'Component Name',\r\n required: true,\r\n },\r\n },\r\n {\r\n key: 'Vertical',\r\n type: 'input',\r\n templateOptions: {\r\n label: 'Vertical',\r\n required: true,\r\n },\r\n },\r\n {\r\n key: 'ComponentPayload',\r\n type: 'input',\r\n templateOptions: {\r\n label: 'Component Payload',\r\n required: true,\r\n },\r\n },\r\n {\r\n key: 'ComponentServiceURL',\r\n type: 'input',\r\n templateOptions: {\r\n label: 'Component Service URL',\r\n required: true,\r\n },\r\n },\r\n {\r\n key: 'ComponentServiceAPIMethod',\r\n type: 'select',\r\n templateOptions: {\r\n label: 'Component Service API Method',\r\n required: true,\r\n options: [\r\n { id: '1', name: 'GET' },\r\n { id: '2', name: 'POST' },\r\n ],\r\n valueProp: 'id',\r\n labelProp: 'name',\r\n },\r\n },\r\n {\r\n key: 'ClientID',\r\n type: 'input',\r\n templateOptions: {\r\n label: 'Client ID',\r\n required: true,\r\n },\r\n },\r\n {\r\n key: 'ResourceURL',\r\n type: 'input',\r\n templateOptions: {\r\n label: 'Resource URL',\r\n required: true,\r\n },\r\n },\r\n {\r\n key: 'Authority',\r\n type: 'input',\r\n templateOptions: {\r\n label: 'Authority',\r\n required: true,\r\n },\r\n },\r\n {\r\n key: 'ComponentType',\r\n type: 'input',\r\n templateOptions: {\r\n label: 'Component Type',\r\n required: true,\r\n },\r\n },\r\n {\r\n key: 'GetFilterCriteria',\r\n type: 'input',\r\n \r\n templateOptions: {\r\n label: 'Get Filter Criteria',\r\n required: true,\r\n },\r\n hideExpression:'field.parent.model.ComponentServiceAPIMethod==\"2\"',\r\n \r\n },\r\n {\r\n key: 'SucessCriteria',\r\n type: 'input',\r\n templateOptions: {\r\n label: 'Sucess Criteria',\r\n required: true,\r\n },\r\n },\r\n {\r\n key: 'HttpHeaders',\r\n type: 'input',\r\n templateOptions: {\r\n label: 'HttpHeaders',\r\n required: true,\r\n },\r\n validators: {\r\n validation: [jsonValidator],\r\n },\r\n },\r\n {\r\n key: 'UsesManagedIdentity',\r\n type: 'input',\r\n defaultValue:true,\r\n templateOptions: {\r\n label: 'User Managed Identity',\r\n required: true,\r\n },\r\n },\r\n {\r\n key: 'LongDescription',\r\n type: 'input',\r\n templateOptions: {\r\n label: 'Long Description',\r\n required: true,\r\n },\r\n },\r\n {\r\n key: 'AdvOptions',\r\n type: 'checkbox',\r\n templateOptions: {\r\n label: 'Advanced options',\r\n \r\n },\r\n defaultValue:false,\r\n \r\n },\r\n { key:'advComponentOptions',\r\n hideExpression:'!field.parent.model.AdvOptions',\r\n fieldGroup:[\r\n {\r\n key: 'UserInputJson',\r\n type: 'input',\r\n templateOptions: {\r\n label: 'User Input Json',\r\n },\r\n },\r\n {\r\n key: 'MappersConfig',\r\n type: 'input',\r\n templateOptions: {\r\n label: 'Mappers Config',\r\n },\r\n },\r\n {\r\n key: 'KeyVaultNameForSecrets',\r\n type: 'input',\r\n templateOptions: {\r\n label: 'Key Vault Name For Secrets',\r\n },\r\n },\r\n {\r\n key: 'KeyVaultNameForStorageLocation',\r\n type: 'input',\r\n templateOptions: {\r\n label: 'Key Vault Name For StorageLocation',\r\n },\r\n },\r\n {\r\n key: 'SubscriptionKey',\r\n type: 'input',\r\n templateOptions: {\r\n label: 'Subscription Key',\r\n },\r\n },\r\n {\r\n key: 'SubscriptionValue',\r\n type: 'input',\r\n templateOptions: {\r\n label: 'Subscription Value',\r\n },\r\n },\r\n {\r\n key: 'QueueName',\r\n type: 'input',\r\n templateOptions: {\r\n label: 'Queue Name',\r\n },\r\n },\r\n {\r\n key: 'DisplayTracking',\r\n type: 'input',\r\n templateOptions: {\r\n label: 'DisplayTracking',\r\n },\r\n },\r\n {\r\n key: 'TrackingType',\r\n type: 'input',\r\n templateOptions: {\r\n label: 'Tracking Type',\r\n },\r\n },\r\n {\r\n key: 'DownloadSuccessKey',\r\n type: 'input',\r\n templateOptions: {\r\n label: 'Download Success Key',\r\n },\r\n },\r\n {\r\n key: 'DownloadErrorKey',\r\n type: 'input',\r\n templateOptions: {\r\n label: 'Download Error Key',\r\n },\r\n },\r\n {\r\n key: 'IsDisabled',\r\n type: 'input',\r\n templateOptions: {\r\n label: 'Is Disabled',\r\n },\r\n },\r\n {\r\n key: 'ProcessingTime',\r\n type: 'input',\r\n templateOptions: {\r\n label: 'ProcessingTime',\r\n },\r\n },\r\n {\r\n key: 'RestartDisplayCondition',\r\n type: 'input',\r\n templateOptions: {\r\n label: 'Restart Display Condition',\r\n },\r\n },\r\n {\r\n key: 'CustomErrorMessage',\r\n type: 'input',\r\n templateOptions: {\r\n label: 'Custom Error Message',\r\n },\r\n },\r\n {\r\n key: 'AllowProceedOnError',\r\n type: 'input',\r\n templateOptions: {\r\n label: 'Allow Proceed On Error',\r\n },\r\n },\r\n {\r\n key: 'enableRefresh',\r\n type: 'input',\r\n templateOptions: {\r\n label: 'Enable Refresh',\r\n },\r\n },\r\n {\r\n key: 'EnableErrorEmail',\r\n type: 'input',\r\n templateOptions: {\r\n label: 'Enable Error Email',\r\n },\r\n },\r\n {\r\n key: 'ErrorEmaillink',\r\n type: 'input',\r\n templateOptions: {\r\n label: 'Error Email link',\r\n },\r\n },\r\n {\r\n key: 'PayloadDataType',\r\n type: 'input',\r\n templateOptions: {\r\n label: 'Payload Data Type',\r\n },\r\n },\r\n {\r\n key: 'UpdateResponseMapping',\r\n type: 'input',\r\n templateOptions: {\r\n label: 'Update Response Mapping',\r\n },\r\n },\r\n {\r\n key: 'IsUpdateResponse',\r\n type: 'input',\r\n templateOptions: {\r\n label: 'Is Update Response',\r\n },\r\n },\r\n {\r\n key: 'GrantType',\r\n type: 'input',\r\n templateOptions: {\r\n label: 'Grant Type',\r\n },\r\n },\r\n {\r\n key: 'MultiPayloadDisplayName',\r\n type: 'input',\r\n templateOptions: {\r\n label: 'Multi Payload Display Name',\r\n },\r\n },\r\n {\r\n key: 'ComponentServiceType',\r\n type: 'input',\r\n templateOptions: {\r\n label: 'Component Service Type',\r\n },\r\n },\r\n ] ,\r\n }\r\n ]\r\n }\r\n },\r\n {\r\n key:'scenario',\r\n wrappers:['card'],\r\n templateOptions: { \r\n label: 'Scenario Form',\r\n \r\n },\r\n fieldGroup:[\r\n {\r\n key: 'ScenarioName',\r\n type: 'input',\r\n templateOptions: {\r\n label: 'Scenario Name',\r\n required: true,\r\n },\r\n },\r\n {\r\n key: 'ScenarioDescription',\r\n type: 'input',\r\n templateOptions: {\r\n label: 'Scenario Description',\r\n required: true,\r\n },\r\n },\r\n {\r\n key: 'Vertical',\r\n type: 'input',\r\n templateOptions: {\r\n label: 'Vertical',\r\n required: true,\r\n },\r\n },\r\n {\r\n key: 'Section',\r\n type: 'input',\r\n templateOptions: {\r\n label: 'Section',\r\n required: true,\r\n },\r\n },\r\n {\r\n key: 'UserInputJson',\r\n type: 'input',\r\n templateOptions: {\r\n label: 'User Input Json',\r\n required: true,\r\n },\r\n },\r\n {\r\n key: 'TableColumnsJson',\r\n type: 'input',\r\n templateOptions: {\r\n label: 'Table Columns Json',\r\n required: true,\r\n },\r\n },\r\n {\r\n key: 'LongDescription',\r\n type: 'input',\r\n templateOptions: {\r\n label: 'Long Description',\r\n required: true,\r\n },\r\n },\r\n {\r\n key: 'AllowMultipleTestRuns',\r\n type: 'input',\r\n templateOptions: {\r\n label: 'AllowMultipleTestRuns',\r\n required: true,\r\n },\r\n },\r\n \r\n {\r\n key: 'AdvOptions',\r\n type: 'checkbox',\r\n templateOptions: {\r\n label: 'Advanced options',\r\n \r\n },\r\n defaultValue:false,\r\n \r\n },\r\n { key:'advComponentOptions',\r\n hideExpression:'!field.parent.model.AdvOptions',\r\n fieldGroup:[\r\n {\r\n key: 'IncludeAllOption',\r\n type: 'input',\r\n templateOptions: {\r\n label: 'Include All Option',\r\n },\r\n },\r\n {\r\n key: 'IncludeLoadOption',\r\n type: 'input',\r\n templateOptions: {\r\n label: 'Include Load Option',\r\n },\r\n },\r\n {\r\n key: 'CreatedAt',\r\n type: 'input',\r\n defaultValue: new Date(),\r\n templateOptions: {\r\n label: 'Created At',\r\n },\r\n },\r\n {\r\n key: 'LastModifiedAt',\r\n type: 'input',\r\n defaultValue: new Date(),\r\n templateOptions: {\r\n label: 'Last Modified At',\r\n },\r\n },\r\n {\r\n key: 'OrderStatusTrackEventSequence',\r\n type: 'input',\r\n templateOptions: {\r\n label: 'Order Status Track Event Sequence',\r\n },\r\n },\r\n {\r\n key: 'ScenarioCode',\r\n type: 'input',\r\n templateOptions: {\r\n label: 'Scenario Code',\r\n },\r\n },\r\n {\r\n key: 'EnableBulkUploadOption',\r\n type: 'input',\r\n templateOptions: {\r\n label: 'Enable Bulk Upload Option',\r\n },\r\n },\r\n {\r\n key: 'BusinessProcessDefinition',\r\n type: 'input',\r\n templateOptions: {\r\n label: 'Business Process Definition',\r\n },\r\n },\r\n {\r\n key: 'Description',\r\n type: 'input',\r\n templateOptions: {\r\n label: 'Description',\r\n },\r\n },\r\n {\r\n key: 'BusinessProcessName',\r\n type: 'input',\r\n templateOptions: {\r\n label: 'Business Process Name',\r\n },\r\n },\r\n {\r\n key: 'LastModifiedBy',\r\n type: 'input',\r\n templateOptions: {\r\n label: 'Last Modified By',\r\n type:'DateTime'\r\n },\r\n },\r\n {\r\n key: 'isTestCase',\r\n type: 'input',\r\n templateOptions: {\r\n label: 'is TestCase',\r\n },\r\n },\r\n {\r\n key: 'InputParameter',\r\n type: 'input',\r\n templateOptions: {\r\n label: 'Input Parameter',\r\n },\r\n },\r\n {\r\n key: 'TestCaseIdentifier',\r\n type: 'input',\r\n templateOptions: {\r\n label: 'TestCase Identifier',\r\n },\r\n },\r\n {\r\n key: 'InputFromScenario',\r\n type: 'input',\r\n templateOptions: {\r\n label: 'Input From Scenario',\r\n },\r\n },\r\n {\r\n key: 'InputToPull',\r\n type: 'input',\r\n templateOptions: {\r\n label: 'Input To Pull',\r\n },\r\n },\r\n {\r\n key: 'ADOTestCaseId',\r\n type: 'input',\r\n templateOptions: {\r\n label: 'ADO Test CaseId',\r\n },\r\n },\r\n {\r\n key: 'Initiatives',\r\n type: 'input',\r\n templateOptions: {\r\n label: 'Initiatives',\r\n },\r\n },\r\n ] ,\r\n }\r\n ]\r\n },\r\n {\r\n key:'scenarioFlavour',\r\n type: 'repeat-button',\r\n wrappers:['card'],\r\n templateOptions: { \r\n label: 'Scenario Flavour Form',\r\n addText: 'Add Form',\r\n },\r\n fieldArray:{\r\n fieldGroup: [\r\n {\r\n key: 'ScenarioID',\r\n type: 'input',\r\n templateOptions: {\r\n label: 'Scenario ID',\r\n required: true,\r\n },\r\n },\r\n {\r\n key: 'FlavourDescription',\r\n type: 'input',\r\n templateOptions: {\r\n label: 'Flavour Description',\r\n required: true,\r\n },\r\n },\r\n \r\n {\r\n key: 'AdvOptions',\r\n type: 'checkbox',\r\n templateOptions: {\r\n label: 'Advanced options',\r\n \r\n },\r\n defaultValue:false,\r\n \r\n },\r\n { key:'advComponentOptions',\r\n hideExpression:'!field.parent.model.AdvOptions',\r\n fieldGroup:[\r\n {\r\n key: 'CreatedAt',\r\n type: 'input',\r\n defaultValue: new Date(),\r\n templateOptions: {\r\n label: 'Created At',\r\n },\r\n },\r\n {\r\n key: 'LastModifiedAt',\r\n type: 'input',\r\n defaultValue: new Date(),\r\n templateOptions: {\r\n label: 'LastModified At',\r\n },\r\n },\r\n {\r\n key: 'OrderStatusTrackEventSequence',\r\n type: 'input',\r\n templateOptions: {\r\n label: 'Order Status TrackEvent Sequence',\r\n },\r\n },\r\n {\r\n key: 'FlavorCode',\r\n type: 'input',\r\n templateOptions: {\r\n label: 'FlavorCode',\r\n },\r\n },\r\n {\r\n key: 'SheetDataMapperString',\r\n type: 'input',\r\n templateOptions: {\r\n label: 'SheetData Mapper String',\r\n },\r\n },\r\n {\r\n key: 'DefaultUserInputParameter',\r\n type: 'input',\r\n templateOptions: {\r\n label: 'Default User Input Parameter',\r\n },\r\n },\r\n ] ,\r\n }\r\n ]\r\n }\r\n },\r\n {\r\n key:'OrganizationScenarioMapping',\r\n wrappers:['card'],\r\n templateOptions: { \r\n label: 'Organization Form',\r\n \r\n },\r\n fieldGroup:[\r\n {\r\n key: 'OrganizationID',\r\n type: 'input',\r\n templateOptions: {\r\n label: 'Organization ID',\r\n required: true,\r\n },\r\n },\r\n {\r\n key: 'ScenarioID',\r\n type: 'input',\r\n templateOptions: {\r\n label: 'Scenario ID',\r\n required: true,\r\n },\r\n },\r\n ]\r\n \r\n },\r\n {\r\n key:'ScenarioStep ',\r\n type: 'repeat-button',\r\n wrappers:['card'],\r\n templateOptions: { \r\n label: 'Scenario Step Form',\r\n addText: 'Add Form',\r\n },\r\n fieldArray:{\r\n fieldGroup: [\r\n {\r\n key: 'ScenarioID',\r\n type: 'input',\r\n templateOptions: {\r\n label: 'Scenario ID',\r\n required: true,\r\n },\r\n },\r\n {\r\n key: 'ComponentID',\r\n type: 'input',\r\n templateOptions: {\r\n label: 'Component ID',\r\n required: true,\r\n },\r\n },\r\n {\r\n key: 'StepRank',\r\n type: 'input',\r\n templateOptions: {\r\n label: 'Step Rank',\r\n required: true,\r\n },\r\n },\r\n {\r\n key: 'CreatedAt',\r\n type: 'input',\r\n defaultValue: new Date(),\r\n templateOptions: {\r\n label: 'Created At',\r\n required: true,\r\n },\r\n },\r\n {\r\n key: 'LastModified',\r\n type: 'input',\r\n defaultValue: new Date(),\r\n templateOptions: {\r\n label: 'Last Modified',\r\n required: true,\r\n },\r\n },\r\n {\r\n key: 'DelayAfterPreviousStep',\r\n type: 'input',\r\n defaultValue: 0,\r\n templateOptions: {\r\n label: 'Delay After Previous Step',\r\n required: true,\r\n },\r\n },\r\n {\r\n key: 'DisplayToUser',\r\n type: 'input',\r\n defaultValue: true,\r\n templateOptions: {\r\n label: 'Display To User',\r\n required: true,\r\n },\r\n },\r\n {\r\n key: 'IsManualStep',\r\n type: 'input',\r\n defaultValue: false,\r\n templateOptions: {\r\n label: 'Is Manual Step',\r\n required: true,\r\n },\r\n },\r\n {\r\n key: 'Authority',\r\n type: 'input',\r\n templateOptions: {\r\n label: 'Authority',\r\n required: true,\r\n },\r\n },\r\n \r\n {\r\n key: 'AdvOptions',\r\n type: 'checkbox',\r\n templateOptions: {\r\n label: 'Advanced options',\r\n \r\n },\r\n defaultValue:false,\r\n \r\n },\r\n { key:'advComponentOptions',\r\n hideExpression:'!field.parent.model.AdvOptions',\r\n fieldGroup:[\r\n {\r\n key: 'IsPartnerDependent',\r\n type: 'input',\r\n templateOptions: {\r\n label: 'Is Partner Dependent',\r\n },\r\n },\r\n {\r\n key: 'RequireAuthentication',\r\n type: 'input',\r\n templateOptions: {\r\n label: 'Require Authentication',\r\n },\r\n },\r\n {\r\n key: 'ExplicitExecutionRequired',\r\n type: 'input',\r\n templateOptions: {\r\n label: 'Explicit Execution Required',\r\n },\r\n },\r\n {\r\n key: 'GetInputFromStepOfRank',\r\n type: 'input',\r\n templateOptions: {\r\n label: 'Get Input From StepOfRank',\r\n },\r\n },\r\n {\r\n key: 'IsPreReqStep',\r\n type: 'input',\r\n templateOptions: {\r\n label: 'Is Pre Req Step',\r\n },\r\n },\r\n {\r\n key: 'IsDummyStep',\r\n type: 'input',\r\n templateOptions: {\r\n label: 'Is Dummy Step',\r\n },\r\n },\r\n ] ,\r\n\r\n \r\n }\r\n ]\r\n }\r\n },\r\n {\r\n key:'ScenarioFlavourConfigData',\r\n type: 'repeat-button',\r\n wrappers:['card'],\r\n templateOptions: { \r\n label: 'Scenario Flavour Config Data',\r\n addText: 'Add Form',\r\n },\r\n fieldArray:{\r\n fieldGroup: [\r\n {\r\n key: 'ScenarioFlavour',\r\n type: 'input',\r\n templateOptions: {\r\n label: 'Scenario Flavour',\r\n required: true,\r\n },\r\n },\r\n {\r\n key: 'FlavourID',\r\n type: 'input',\r\n templateOptions: {\r\n label: 'Flavour ID',\r\n required: true,\r\n },\r\n },\r\n {\r\n key: 'UserInputPayloadSchema',\r\n type: 'input',\r\n templateOptions: {\r\n label: 'User Input Payload Schema',\r\n required: true,\r\n },\r\n },\r\n {\r\n key: 'CreatedAt',\r\n type: 'input',\r\n defaultValue: new Date(),\r\n templateOptions: {\r\n label: 'Created At',\r\n required: true,\r\n },\r\n },\r\n {\r\n key: 'LastModifiedAt',\r\n type: 'input',\r\n defaultValue: new Date(),\r\n templateOptions: {\r\n label: 'Last Modified At',\r\n required: true,\r\n },\r\n },\r\n {\r\n key: 'MapperString',\r\n type: 'input',\r\n templateOptions: {\r\n label: 'Mapper String',\r\n required: true,\r\n },\r\n },\r\n {\r\n key:'url',\r\n type:'link',\r\n templateOptions: {\r\n label: 'link',\r\n required: true,\r\n },\r\n },\r\n {\r\n key: 'ComponentId',\r\n type: 'input',\r\n templateOptions: {\r\n label: 'Component Id',\r\n required: true,\r\n },\r\n },\r\n {\r\n key: 'DefaultInputJson',\r\n type: 'input',\r\n templateOptions: {\r\n label: 'DefaultInputJson',\r\n required: true,\r\n },\r\n },\r\n {\r\n key: 'StepRank',\r\n type: 'input',\r\n templateOptions: {\r\n label: 'Step Rank',\r\n required: true,\r\n },\r\n },\r\n \r\n {\r\n key: 'AdvOptions',\r\n type: 'checkbox',\r\n templateOptions: {\r\n label: 'Advanced options',\r\n \r\n },\r\n defaultValue:false,\r\n \r\n },\r\n { key:'advComponentOptions',\r\n hideExpression:'!field.parent.model.AdvOptions',\r\n fieldGroup:[\r\n {\r\n key: 'PostInputAsOutput',\r\n type: 'input',\r\n templateOptions: {\r\n label: 'Post Input As Output',\r\n },\r\n },\r\n {\r\n key: 'GetInputFromStepOfRank',\r\n type: 'input',\r\n templateOptions: {\r\n label: 'Get Input From StepOfRank',\r\n },\r\n },\r\n {\r\n key: 'GetFilterCriteria',\r\n type: 'input',\r\n templateOptions: {\r\n label: 'Get Filter Criteria',\r\n },\r\n },\r\n {\r\n key: 'SuccessCriteria',\r\n type: 'input',\r\n templateOptions: {\r\n label: 'Success Criteria',\r\n },\r\n },\r\n {\r\n key: 'ComponentPayload',\r\n type: 'input',\r\n templateOptions: {\r\n label: 'Component Payload',\r\n },\r\n },\r\n {\r\n key: 'OutputMapperString',\r\n type: 'input',\r\n templateOptions: {\r\n label: 'Output Mapper String',\r\n },\r\n },\r\n {\r\n key: 'CommonOutputStore',\r\n type: 'input',\r\n templateOptions: {\r\n label: 'CommonOutputStore',\r\n },\r\n },\r\n ] ,\r\n }\r\n ]\r\n }\r\n },\r\n ],\r\n }];\r\n\r\n submit() {\r\n alert(JSON.stringify(this.model));\r\n }\r\n}\r\n","

Onboard New Test Case

\r\n

Please fill the forms below to onboard a new test case.

\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n ","import { Component } from '@angular/core';\r\nimport { FieldWrapper } from '@ngx-formly/core';\r\n\r\n@Component({\r\n selector: 'formly-wrapper-card',\r\n template: `\r\n
\r\n
{{ to.label }}
\r\n
\r\n \r\n
\r\n
\r\n `,\r\n})\r\nexport class CardWrapperComponent extends FieldWrapper { }\r\n","import { Component, OnInit } from '@angular/core';\r\nimport { FormsModule } from '@angular/forms';\r\nimport { NgbModal } from '@ng-bootstrap/ng-bootstrap';\r\nimport { MsalService } from '@azure/msal-angular';\r\nimport { NgxUiLoaderService } from 'ngx-ui-loader';\r\nimport { FormlyFieldConfig } from '@ngx-formly/core';\r\nimport { FormControl } from '@angular/forms';\r\nimport { LoadTestExecutionResponse, LoadTestDetail, stepSummary } from '../model/loadtesting.model';\r\nimport { LoadTestExecutionRequest } from '../model/loadtestingrequest.model';\r\nimport { LoadTestService } from '../service/loadtest.service';\r\nimport { ExecuteStepRequest, ExecuteStepResponse } from '../model/executestep.model';\r\nimport { ActivatedRoute } from '@angular/router';\r\nimport { ManageScenariosService } from '../service/manage-scenarios.service';\r\nimport { MatDialog, MatDialogConfig, MatDialogRef } from '@angular/material/dialog';\r\nimport { VerifyRetryLoadTestComponent } from '../verifyretry-loadtest/verifyretry-loadtest.component';\r\nimport { GenerateTestResultsComponent } from '../generateTestResults/generateTestResults.component';\r\nimport { HttpClient } from '@angular/common/http';\r\n\r\nimport { ConfigService } from '../service/config.service';\r\nimport * as log from '../AppInsightsLogger';\r\n\r\nimport { ApplicationInsights } from '@microsoft/applicationinsights-web';\r\n\r\n@Component({\r\n selector: 'app-loadtestexecution',\r\n templateUrl: './loadtestexecution.component.html',\r\n styleUrls: ['./loadtestexecution.component.css']\r\n})\r\nexport class LoadTestExecutionComponent implements OnInit {\r\n\r\n name: string;\r\n LoadSize: number;\r\n CreatedAt: string;\r\n msgTxt: string;\r\n loadTestDetail: LoadTestDetail;\r\n status: string;\r\n loadResponse: Response;\r\n\r\n loadTestExectuionRequest: LoadTestExecutionRequest;\r\n loadTestExectuionResponse: LoadTestExecutionResponse;\r\n executeStepRequest: ExecuteStepRequest;\r\n executeStepResponse: ExecuteStepResponse;\r\n loadTestDetailResponse: LoadTestDetail;\r\n stepSummary: stepSummary[];\r\n loadTestRunId: string;\r\n loadTestName: string;\r\n gtrcontent: any;\r\n str1: string;\r\n private logger: log.AppInsightsLogger;\r\n\r\n constructor(public dialog: MatDialog,\r\n private route: ActivatedRoute,\r\n private ngxLoader: NgxUiLoaderService,\r\n private modalService: NgbModal,\r\n private msalService: MsalService,\r\n private loadTestService: LoadTestService,\r\n private manageTestRunsService: ManageScenariosService,\r\n private http: HttpClient,\r\n private configService: ConfigService) {\r\n this.manageTestRunsService.ngxLoaderConfig.text = '';\r\n this.name = this.msalService.instance.getActiveAccount().name;\r\n this.logger = new log.AppInsightsLogger(configService, msalService);\r\n }\r\n\r\n ngOnInit() {\r\n this.manageTestRunsService.ngxLoaderConfig.text = 'Loading Load Test Execution Details! Please wait!';\r\n this.ngxLoader.start();\r\n this.loadTestRunId = this.route.snapshot.params['loadTestRunId'];\r\n const parent = this;\r\n this.stepSummary = [];\r\n this.loadTestExectuionResponse = new LoadTestExecutionResponse();\r\n this.loadTestExectuionRequest = new LoadTestExecutionRequest();\r\n this.loadTestDetailResponse = new LoadTestDetail();\r\n this.loadTestExectuionRequest.LoadTestRunId = this.loadTestRunId;\r\n this.logger.trackTrace(`Landed to Load Test Execution Page`);\r\n\r\n this.loadTestService.getLoadTestExecution(this.loadTestExectuionRequest).subscribe((response) => {\r\n this.loadTestExectuionResponse = response;\r\n this.status = this.loadTestExectuionResponse.status;\r\n this.loadTestDetailResponse = this.loadTestExectuionResponse.response;\r\n this.loadTestName = this.loadTestExectuionResponse.response.name;\r\n this.CreatedAt = this.loadTestExectuionResponse.response.createdAt;\r\n this.name = this.loadTestExectuionResponse.response.createdBy;\r\n this.stepSummary = this.loadTestExectuionResponse.response.stepSummary;\r\n this.logger.trackTrace(`Load Test Execution Successfully for LoadTestName ${this.loadTestName} Status: ${this.status} LoadTestRunId: ${this.loadTestExectuionRequest.LoadTestRunId}`);\r\n this.ngxLoader.stop();\r\n }, (error: any) => {\r\n try {\r\n this.logger.trackTrace(`Load Test Execution ${error} LoadTestRunId: ${this.loadTestExectuionRequest.LoadTestRunId}`);\r\n this.logger.trackException(error);\r\n this.ngxLoader.stop();\r\n } catch (ex) {\r\n this.msgTxt = 'Some error occured while loading.';\r\n this.logger.trackTrace(`Load Test Execution ${error} ${this.msgTxt}`);\r\n this.ngxLoader.stop();\r\n }\r\n });\r\n }\r\n\r\n openDialog() {\r\n const dialogConfig = new MatDialogConfig();\r\n this.http.get('./assets/gtrcontent.txt', { responseType: 'text' })\r\n .subscribe((Response) => {\r\n var content = Response;\r\n var re = /testrunid/gi;\r\n var newstr = content.replace(re, this.loadTestRunId);\r\n this.gtrcontent = newstr.split('\\n');\r\n dialogConfig.data = {\r\n id: this.loadTestRunId,\r\n title: this.gtrcontent,\r\n };\r\n const modalDialog = this.dialog.open(GenerateTestResultsComponent, dialogConfig);\r\n }, (error: any) => {\r\n this.msgTxt = 'Some error occured';\r\n this.logger.trackTrace(`Load Test Execution ${error} ${this.msgTxt}`);\r\n this.logger.trackException(this.msgTxt)\r\n }); \r\n }\r\n\r\n openRetryDialog(stepIdentifier) {\r\n const dialogConfig = new MatDialogConfig();\r\n dialogConfig.data = {\r\n id: this.loadTestRunId,\r\n stepSummary: this.stepSummary.filter(step => step.stepIdentifier === stepIdentifier)[0],\r\n };\r\n const dialogRef = this.dialog.open(VerifyRetryLoadTestComponent, dialogConfig);\r\n dialogRef.afterClosed().subscribe( data => {\r\n if(data === \"CONFIRM\"){\r\n this.start(stepIdentifier);\r\n }\r\n });\r\n }\r\n\r\n start(stepIdentifier) {\r\n this.manageTestRunsService.ngxLoaderConfig.text = 'Processing Step! Please wait!';\r\n this.ngxLoader.start();\r\n this.executeStepRequest = new ExecuteStepRequest();\r\n this.executeStepResponse = new ExecuteStepResponse();\r\n this.executeStepRequest.LoadTestRunId = this.loadTestRunId;\r\n this.executeStepRequest.StepIdentifier = stepIdentifier;\r\n this.loadTestService.getExecuteStep(this.executeStepRequest).subscribe((response) => {\r\n if(response.status === \"FAIL\"){\r\n this.msgTxt = 'Some error occured while loading.';\r\n this.logger.trackTrace(`Load Test Execution ${this.msgTxt} Status: ${response.status}, ${this.executeStepRequest.LoadTestRunId}`);\r\n this.ngxLoader.stop();\r\n }\r\n else {\r\n this.executeStepResponse = response;\r\n this.logger.trackTrace(`Load Test Execution ${this.msgTxt} Status: ${response.status}. ${this.executeStepRequest.LoadTestRunId}`);\r\n this.ngxLoader.stop();\r\n location.reload();\r\n }\r\n }, (error: any) => {\r\n this.msgTxt = 'Some error occured while loading.';\r\n this.logger.trackTrace(`Load Test Execution ${error} ${this.msgTxt} , ${this.executeStepRequest.LoadTestRunId}`);\r\n this.logger.trackException(this.msgTxt+ \"Load Test Execution\")\r\n this.ngxLoader.stop();\r\n });\r\n }\r\n}\r\n\r\n\r\n","
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n ⮘ Back\r\n

Load Test Execution

\r\n
\r\n

Load Test Name: {{loadTestName}}

\r\n

Testrun Id: {{loadTestRunId}}

\r\n
Load Size:{{loadtest.orders}}
\r\n
\r\n
Status:
\r\n
\r\n Waiting\r\n
\r\n
\r\n Processing\r\n
\r\n
\r\n Pending or Pending on Partner action\r\n
\r\n
\r\n Complete\r\n
\r\n \r\n
\r\n
\r\n
\r\n

Created By: {{name}}

\r\n

Date: {{CreatedAt | date: 'MM/dd/yyyy hh:mm a'}}

\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n

Name: {{steps.name}}

\r\n

Processed: {{steps.processed}}

\r\n

EventStart: {{steps.eventStartedAt | date: 'MM/dd/yyyy hh:mm a'}}

\r\n
\r\n
\r\n

Status: {{steps.status}}

\r\n

Remaining: {{steps.remaining}}

\r\n

EventEnd: {{steps.eventLastModifiedAt | date: 'MM/dd/yyyy hh:mm a'}}

\r\n

0\">LastUpdated: {{steps.eventLastModifiedAt | date: 'MM/dd/yyyy hh:mm a'}}

\r\n
\r\n
\r\n\r\n \r\n
\r\n \r\n \r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n","import { Component } from '@angular/core';\r\nimport { FieldArrayType, FormlyFormBuilder, FieldType } from '@ngx-formly/core';\r\n\r\n@Component({\r\n selector: 'formly-repeat-section',\r\n template: `\r\n \r\n \r\n
\r\n
\r\n
{{model|json}}
\r\n
\r\n
\r\n `,\r\n})\r\nexport class RepeatTypeComponent extends FieldArrayType {\r\n constructor(builder: FormlyFormBuilder) {\r\n super(builder);\r\n }\r\n}\r\n","import { Component, OnInit } from '@angular/core';\r\nimport { ActivatedRoute, Router } from '@angular/router';\r\nimport { BlobDownloadService } from '../service/blob-download.service';\r\nimport { Clipboard } from '@angular/cdk/clipboard';\r\n\r\n@Component({\r\n selector: 'app-blob-download',\r\n templateUrl: './blob-download.component.html',\r\n styleUrls: ['./blob-download.component.css']\r\n})\r\nexport class BlobDownloadComponent implements OnInit {\r\n JsonResult: object;\r\n blobName: any;\r\n copyTextName:string='Copy';\r\n constructor(\r\n private router: Router,\r\n private route: ActivatedRoute,\r\n private blobDownloadService: BlobDownloadService,\r\n private clipboard: Clipboard\r\n ) { }\r\n\r\n ngOnInit(): void {\r\n this.route.params.subscribe((params) => {\r\n const blobAdapterName = params['blobAdapterName'];\r\n this.blobName = params['blobName'];\r\n\r\n // Call the service method to download and save the blob\r\n this.blobDownloadService.getBlobData(blobAdapterName, this.blobName).subscribe(\r\n (result) => {\r\n this.JsonResult = result;\r\n // Download the json as a file\r\n \r\n },\r\n (error) => {\r\n console.error('Error downloading blob:', error);\r\n // Handle error as needed\r\n }\r\n );\r\n });\r\n }\r\n copyText() {\r\n \r\n this.clipboard.copy( JSON.stringify(this.JsonResult,null,2))\r\n this.copyTextName = 'Copied'\r\n }\r\n downloadFile(){ \r\n const jsonBlob = new Blob([JSON.stringify(this.JsonResult)], { type: 'application/json' });\r\n const url = URL.createObjectURL(jsonBlob);\r\n const a = document.createElement('a');\r\n a.href = url;\r\n a.download = `${this.blobName}.json`;\r\n document.body.appendChild(a);\r\n a.click();\r\n document.body.removeChild(a);\r\n URL.revokeObjectURL(url);\r\n\r\n window.alert(`Blob: ${this.blobName}.json downloaded successfully`);\r\n\r\n this.router.navigate(['/']); \r\n }\r\n}\r\n","
\r\n
Blob Json
\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n
{{JsonResult|json}}
\r\n
\r\n \r\n
\r\n
\r\n\r\n\r\n","export class TestCasesDataJson {\r\n public testCaseDataArray: TestCaseDataArray[]; \r\n}\r\n\r\nexport class TestCaseDataArray {\r\n public Id: string;\r\n public Name: string;\r\n public Status: string;\r\n public LastExecuted: string;\r\n}\r\n\r\n","import { Component, ChangeDetectorRef, OnInit, ViewEncapsulation } from '@angular/core';\r\nimport { NgbModal } from '@ng-bootstrap/ng-bootstrap';\r\nimport { MsalService } from '@azure/msal-angular';\r\nimport { Conditions, VerticalsDetails, ScenariosDetails, FlavoursDetails, FormInputsModel, TestRunInputsDetails, TestRunBulkUploadInput, SectionsDetails, ScenariosInputsModel, TestRunsBulkUploadResponse, TestRunsFetchInputs, TestRunsDetails, TestRunsItemDetails, TestRunScenariosDetails, PartnerDetails } from '../../model/execute-testruns.model';\r\nimport { ManageScenariosService } from '../../service/manage-scenarios.service';\r\nimport { MasterDataService } from '../../service/masterdata.service';\r\nimport { SampleFilesService } from '../../service/samplefiles.service';\r\nimport { ErrorCode } from '../../model/errorcode.model';\r\nimport { NgxUiLoaderService } from 'ngx-ui-loader';\r\nimport { FormlyFieldConfig } from '@ngx-formly/core';\r\nimport { ViewChild, ElementRef } from '@angular/core';\r\nimport * as XLSX from 'xlsx';\r\n\r\nimport { ConfigService } from '../../service/config.service';\r\nimport * as log from '../../AppInsightsLogger';\r\nimport { ActivatedRoute, Router, ParamMap } from '@angular/router';\r\nimport { Page } from '../../model/masterdata.model';\r\nimport { DescriptionService } from '../../service/description.service';\r\n\r\n@Component({\r\n selector: 'app-execute-testruns',\r\n templateUrl: './execute-testruns.component.html',\r\n encapsulation: ViewEncapsulation.None,\r\n styleUrls: ['./execute-testruns.component.css']\r\n})\r\nexport class ExecuteTestRunsComponent implements OnInit {\r\n static readonly KEYWORD_ID = 'ID';\r\n static readonly KEYWORD_SCENARIO_CODE = 'ScenarioCode';\r\n static readonly KEYWORD_FLAVOR_CODE = 'FlavorCode';\r\n\r\n static readonly SAMPLE_FILES: any = {\r\n 'Care,Consumer': SampleFilesService.CareConsumerBulkUploadSample,\r\n 'Deliver,Build to Stock': SampleFilesService.DeliverBuildToStockBulkUploadSample,\r\n 'Deliver,3PP Onboardings': SampleFilesService.Delivery3PPOnboardingsBulkUploadSample,\r\n 'Deliver,Direct Ship': SampleFilesService.DeliverAssembleToOrderBulkUploadSample,\r\n 'WTP DC to RSD,DC to RSD': SampleFilesService.WTPDCToRSDBulkUploadSample,\r\n 'MMF,RSD-SI-RSD': SampleFilesService.MMFRSDToSIBulkUploadSample,\r\n 'MMF,Reverse PO Creation': SampleFilesService.MMFReversePOCreationBulkUploadSample,\r\n 'MMF,RSD-T2-RSD': SampleFilesService.MMFRSDToT2BulkUploadSample,\r\n 'MMF,T2 to RSD': SampleFilesService.MMFT2ToRSDBulkUploadSample\r\n };\r\n\r\n name: string;\r\n email: string;\r\n testRunName: string;\r\n verticalName: string;\r\n sectionName: string;\r\n partnerName: any = [];\r\n fields: FormlyFieldConfig[];\r\n model: FormInputsModel;\r\n scenarioInputsModel: ScenariosInputsModel;\r\n testRunInputsDetails: TestRunInputsDetails;\r\n loadedConfig: {} = {}; // name of list => raw value of list as JSON object\r\n\r\n showBulkUploadPanel: boolean;\r\n\r\n headerText: string;\r\n bodyText: string;\r\n sidebarWidthClass: string;\r\n conditions: Conditions;\r\n verticalsList: VerticalsDetails[];\r\n glossaryList: any[];\r\n sectionsList: SectionsDetails[];\r\n partnerList: PartnerDetails[] = [];\r\n scenariosList: ScenariosDetails[];\r\n flavoursList: FlavoursDetails[];\r\n inputsList: ScenariosInputsModel[];\r\n tableHeaderJson: any[];\r\n excludedKeysList = 'id,scenarioId,scenarioName,flavourId,flavourName';\r\n verticalDescription: string;\r\n sectionsDescription: string;\r\n scenariosDescription: string;\r\n flavoursDescription: string;\r\n\r\n @ViewChild('fileInput') fileInput: ElementRef;\r\n uploadedFile: any;\r\n sheetFileName: string;\r\n sheetTabName: string;\r\n sheetJsonData: any;\r\n enableBulkUploadOption: boolean;\r\n testRunBulkUploadInput: TestRunBulkUploadInput;\r\n testRunsFetchInputs: TestRunsFetchInputs;\r\n private logger: log.AppInsightsLogger;\r\n\r\n flavour: string;\r\n scenario: string;\r\n requestToClone: TestRunScenariosDetails;\r\n is500error: boolean = false;\r\n selectedOrg: string;\r\n partnerArray: any;\r\n bpName: any;\r\n onboardingName: any;\r\n partnerExist: boolean = false;\r\n allPartners: any = [];\r\n\r\n constructor(private descriptionService: DescriptionService, private router: Router, private activatedRoute: ActivatedRoute, private configService: ConfigService, private ngxLoader: NgxUiLoaderService, private modalService: NgbModal, private msalService: MsalService, private masterDataService: MasterDataService, private manageTestRunsService: ManageScenariosService, private cdr: ChangeDetectorRef) {\r\n this.name = this.msalService.instance.getActiveAccount().name;\r\n this.email = this.msalService.instance.getActiveAccount().username;\r\n this.logger = new log.AppInsightsLogger(this.configService, this.msalService);\r\n }\r\n\r\n ngOnInit() {\r\n this.manageTestRunsService.ngxLoaderConfig.text = 'Loading Test Runs Inputs Schema Details! Please Wait!';\r\n this.ngxLoader.start();\r\n this.resetFormControls();\r\n this.testRunsFetchInputs = new TestRunsFetchInputs();\r\n this.logger.trackTrace(\"Successfully landed to Execute Testruns Page\");\r\n this.selectedOrg = window.sessionStorage.getItem(\"orgSelected\");\r\n this.getOrganization();\r\n this.loadGlossary();\r\n\r\n }\r\n\r\n ngAfterViewInit() {\r\n this.loadVerticalsDetails();\r\n this.cdr.detectChanges();\r\n //this.getInputMappings();\r\n }\r\n\r\n\r\n resetFormControls() {\r\n this.sectionsList = [];\r\n this.scenariosList = [];\r\n this.flavoursList = [];\r\n this.partnerList = [];\r\n this.testRunName = '';\r\n this.verticalName = '-1';\r\n this.sectionName = '-1';\r\n this.partnerName = [];\r\n this.inputsList = [];\r\n this.tableHeaderJson = [];\r\n this.sidebarWidthClass = 'sidebar-normal-width';\r\n this.fields = null;\r\n this.model = new FormInputsModel();\r\n this.conditions = new Conditions();\r\n this.scenarioInputsModel = new ScenariosInputsModel();\r\n this.testRunInputsDetails = new TestRunInputsDetails();\r\n this.resetBulkUploadInput();\r\n }\r\n\r\n clearForm() {\r\n this.resetFormControls();\r\n this.router.navigate(['/execute-testruns']);\r\n }\r\n\r\n resetBulkUploadInput() {\r\n this.testRunBulkUploadInput = new TestRunBulkUploadInput();\r\n this.uploadedFile = null;\r\n this.sheetFileName = null;\r\n this.sheetTabName = null;\r\n this.sheetJsonData = null;\r\n this.showBulkUploadPanel = false;\r\n if (this.conditions) {\r\n this.conditions.isBulkUploadMode = false;\r\n }\r\n if (this.fileInput && this.fileInput.nativeElement) {\r\n this.fileInput.nativeElement.value = '';\r\n }\r\n }\r\n\r\n resetInputControls() {\r\n this.model = new FormInputsModel();\r\n this.sidebarWidthClass = 'sidebar-normal-width';\r\n this.loadUserInputJson();\r\n }\r\n\r\n switchInputMode() {\r\n this.showBulkUploadPanel = !this.showBulkUploadPanel;\r\n }\r\n\r\n loadGlossary() {\r\n this.descriptionService.getGlossary().subscribe((response: Page[]) => {\r\n if (response != null) {\r\n this.glossaryList = response;\r\n\r\n }\r\n\r\n for (var i = 0; i < this.glossaryList.length; i++) {\r\n if (this.glossaryList[i].name == \"SCOR Function\") {\r\n this.verticalDescription = this.glossaryList[i].description;\r\n } else if (this.glossaryList[i].name == \"Scenario Category (L3)\") {\r\n this.sectionsDescription = this.glossaryList[i].description;\r\n } else if (this.glossaryList[i].name == \"Business Process (L4)\") {\r\n this.scenariosDescription = this.glossaryList[i].description;\r\n } else if (this.glossaryList[i].name == \"Sub-Process\") {\r\n this.flavoursDescription = this.glossaryList[i].description;\r\n }\r\n }\r\n }, (error: any) => {\r\n if (error.status == 500) {\r\n this.is500error = true;\r\n }\r\n this.logger.trackTrace(`In Execute testruns, load Glossary Details Error`);\r\n this.logger.trackException(error);\r\n this.ngxLoader.stop();\r\n });\r\n }\r\n\r\n loadVerticalsDetails() {\r\n this.manageTestRunsService.getVerticalsDetails(parseInt(this.selectedOrg)).subscribe((response: VerticalsDetails[]) => {\r\n if (response != null) {\r\n this.verticalsList = response;\r\n this.getInputMappings();\r\n this.loadAllConfig();\r\n this.ngxLoader.stop();\r\n } else {\r\n this.ngxLoader.stop();\r\n }\r\n }, (error: any) => {\r\n if (error.status == 500) {\r\n this.is500error = true;\r\n }\r\n this.logger.trackTrace(`In Execute testruns, load Verticals Details Error`);\r\n this.logger.trackException(error);\r\n this.ngxLoader.stop();\r\n });\r\n }\r\n\r\n loadAllConfig() {\r\n var loadFiles = {}; // map of filename => [optionsList], keep track of which all config files are to be under, under which name\r\n //loop over vertical details, load all file info needed\r\n (this.verticalsList || []).forEach(vertical => {\r\n (vertical.sectionsList || []).forEach(section => {\r\n (section.scenariosList || []).forEach(scenario => {\r\n let userInputJson = scenario.userInputJson;\r\n try {\r\n let parsedUserInput: FormlyFieldConfig[] = JSON.parse(userInputJson);\r\n parsedUserInput.forEach(ffc => {\r\n if ((ffc as any).hasOwnProperty('fileName')) {\r\n let fn: string = ffc['fileName']; // file name to be loaded\r\n let opt: string = ffc['optionsList']; // option list name, this is the name where from options list within form state in read in formly field config\r\n\r\n loadFiles[fn] = loadFiles[fn] || [];\r\n loadFiles[fn].push(opt);\r\n }\r\n });\r\n }\r\n catch (err) {\r\n this.logger.trackTrace(`Incorrect JSON config for scenario - ${scenario.scenarioName} (${scenario.scenarioId}), vertical ${vertical.verticalName} -- ${err}`);\r\n this.logger.trackException(err);\r\n console.log(\"Incorrect JSON config \", err);\r\n }\r\n });\r\n });\r\n });\r\n\r\n // load actual files, and write under the needed names\r\n for (let fn in loadFiles) {\r\n this.masterDataService.getSelectOptionsFromFiles(fn).subscribe((response: any) => {\r\n loadFiles[fn].forEach((optListName: string) => {\r\n this.loadedConfig[optListName] = response;\r\n });\r\n },\r\n (error) => {\r\n console.log(\"Can not fetch config file : \" + fn, error);\r\n this.logger.trackTrace(`Can not load config file : ${fn}`);\r\n });\r\n }\r\n }\r\n\r\n loadSectionsList() {\r\n if (this.verticalName != '-1') {\r\n this.sectionsList = this.verticalsList.find(x => x.verticalName == this.verticalName).sectionsList;\r\n if (this.sectionsList.length == 0) {\r\n this.sectionName = this.verticalName;\r\n }\r\n }\r\n }\r\n\r\n loadScenariosList() {\r\n if (this.verticalName != '-1' && this.sectionName != '-1') {\r\n const currSection = this.sectionsList.filter(x => x.sectionName == this.sectionName)[0];\r\n this.enableBulkUploadOption = currSection.enableBulkUploadOption;\r\n this.conditions.allowMultipleTestRuns = currSection.allowMultipleTestRuns;\r\n if (currSection.scenariosList.filter(x => x.includeAllOption == false).length > 0) {\r\n this.scenariosList = currSection.scenariosList;\r\n } else {\r\n this.scenariosList = [{ scenarioId: 0, scenarioName: 'All', businessProcessName: 'All', businessProcessDefinition: 'All', scenarioDescription: 'All', includeAllOption: true, flavoursList: [], userInputJson: currSection.scenariosList[0].userInputJson }].concat(currSection.scenariosList);\r\n }\r\n if (currSection.scenariosList.length == 1 && !this.enableBulkUploadOption) {\r\n\r\n this.model.scenarioId = this.scenariosList[0].scenarioId;\r\n this.loadFlavoursList();\r\n }\r\n if (this.testRunInputsDetails.inputsJsonDetails == undefined || this.testRunInputsDetails.inputsJsonDetails.length <= 0) {\r\n this.getPartnerDetails();\r\n }\r\n }\r\n }\r\n loadToggleSidebar($event) {\r\n\r\n\r\n if (this.partnerName.length > 0) {\r\n this.toggleSidebar();\r\n }\r\n }\r\n getPartnerDetails() {\r\n this.partnerExist = false;\r\n this.manageTestRunsService.getPartnerDetails().subscribe((response: any) => {\r\n this.partnerArray = response;\r\n this.partnerArray.forEach((data: any) => {\r\n if ((data.vertical == this.verticalName) && (data.section == this.sectionName)) {\r\n // this.partnerExist = true;\r\n var str: any = data.partnerOrgName + '-' + data.businessProcessName;\r\n this.partnerList.push(str);\r\n\r\n this.allPartners = [];\r\n this.partnerList.forEach((el: any, index) => {\r\n this.allPartners.push({ id: index + 1, name: el })\r\n })\r\n\r\n }\r\n })\r\n if (this.partnerList.length > 0) {\r\n this.partnerExist = true;\r\n }\r\n else {\r\n this.partnerExist = false;\r\n this.toggleSidebar();\r\n }\r\n\r\n\r\n })\r\n }\r\n toggleSidebar() {\r\n if (this.conditions.sidebarOpened) {\r\n this.resetInputControls();\r\n this.conditions.isEditMode = false;\r\n if (this.inputsList.length >= 0) {\r\n this.conditions.showAddButton = true;\r\n this.conditions.allowMultipleTestRuns = true;\r\n }\r\n }\r\n this.conditions.sidebarOpened = !this.conditions.sidebarOpened;\r\n }\r\n\r\n setCurrentScenarioDefault(scenId: number, flavId: number) {\r\n if (scenId >= 0 && (!this.conditions.isEditMode || this.conditions.isEditModeLoadComplete)) {\r\n this.model = new FormInputsModel();\r\n const currScenario = this.scenariosList.filter(x => x.scenarioId == scenId)[0];\r\n this.model.scenarioId = currScenario.scenarioId;\r\n this.model.scenarioName = currScenario.scenarioName;\r\n if (flavId >= 0) {\r\n const currFlavour = this.flavoursList.filter(x => x.flavourId == flavId)[0];\r\n this.model.flavourId = currFlavour.flavourId;\r\n this.model.flavourName = currFlavour.flavourName;\r\n }\r\n }\r\n }\r\n\r\n loadFlavoursList() {\r\n if (this.model.scenarioId >= 0) {\r\n const currScenario = this.scenariosList.filter(x => x.scenarioId == this.model.scenarioId)[0];\r\n const currSection = this.sectionsList.filter(x => x.sectionName == this.sectionName)[0];\r\n this.setCurrentScenarioDefault(this.model.scenarioId, -1);\r\n if ((currScenario.flavoursList.length > 1 || this.model.scenarioId == 0) && currSection.scenariosList.filter(x => x.includeAllOption == false).length <= 0) {\r\n this.flavoursList = [{ flavourId: 0, flavourName: 'All' }].concat(currScenario.flavoursList);\r\n } else {\r\n this.flavoursList = currScenario.flavoursList;\r\n if (currScenario.flavoursList.length === 1) {\r\n this.model.flavourId = this.flavoursList[0].flavourId;\r\n }\r\n }\r\n } else {\r\n this.flavoursList = [];\r\n }\r\n this.loadUserInputJson();\r\n }\r\n\r\n loadUserInputJson() {\r\n if (this.model.flavourId >= 0) {\r\n this.setCurrentScenarioDefault(this.model.scenarioId, this.model.flavourId);\r\n this.fields = null;\r\n this.fields = JSON.parse(JSON.stringify(JSON.parse(this.scenariosList.filter(x => x.scenarioId == this.model.scenarioId)[0].userInputJson)));\r\n this.getSidebarWidthClass();\r\n } else {\r\n this.fields = null;\r\n }\r\n }\r\n\r\n getSidebarWidthClass() {\r\n if (this.fields != undefined && this.fields != null && this.fields.filter(x => x['type'] == 'repeat').length > 0 && this.fields.filter(x => x['type'] == 'repeat')[0]['fieldArray'] != null && this.fields.filter(x => x['type'] == 'repeat')[0]['fieldArray']['fieldGroup'].length > 3) {\r\n this.sidebarWidthClass = 'sidebar-extended-width';\r\n }\r\n else {\r\n this.sidebarWidthClass = 'sidebar-normal-width';\r\n }\r\n }\r\n\r\n addScenarios(model: FormInputsModel) {\r\n if (this.tableHeaderJson.length == 0) {\r\n this.tableHeaderJson = JSON.parse(JSON.stringify(JSON.parse(this.sectionsList.filter(x => x.sectionName == this.sectionName)[0].tableColumnsJson)));\r\n }\r\n if (model.scenarioId == 0) {\r\n for (let i = 0; i < this.scenariosList.length; i++) {\r\n if (this.scenariosList[i].scenarioId > 0) {\r\n const newModel = Object.assign({}, model);\r\n newModel.scenarioId = this.scenariosList[i].scenarioId;\r\n for (let j = 0; j < this.scenariosList[i].flavoursList.length; j++) {\r\n if (this.scenariosList[i].flavoursList[j].flavourId > 0) {\r\n newModel.flavourId = this.scenariosList[i].flavoursList[j].flavourId;\r\n this.addScenarioDetails(newModel);\r\n }\r\n }\r\n }\r\n }\r\n } else if (model.flavourId == 0) {\r\n for (let i = 0; i < this.flavoursList.length; i++) {\r\n if (this.flavoursList[i].flavourId > 0) {\r\n const newModel = Object.assign({}, model);\r\n newModel.flavourId = this.flavoursList[i].flavourId;\r\n this.addScenarioDetails(newModel);\r\n }\r\n }\r\n } else {\r\n this.addScenarioDetails(model);\r\n }\r\n this.toggleSidebar();\r\n this.model = new FormInputsModel();\r\n this.loadUserInputJson();\r\n\r\n }\r\n\r\n addScenarioDetails(scenarioModel: FormInputsModel) {\r\n const newModel = Object.assign({}, scenarioModel);\r\n newModel.id = this.inputsList.length;\r\n const currScenario = this.scenariosList.filter(x => x.scenarioId == newModel.scenarioId)[0];\r\n newModel.scenarioName = currScenario.scenarioName;\r\n newModel.flavourName = currScenario.flavoursList.filter(y => y.flavourId == newModel.flavourId)[0].flavourName;\r\n this.inputsList.push(this.serializeModel(newModel));\r\n\r\n this.scenario = newModel.scenarioName\r\n this.flavour = newModel.flavourName;\r\n this.scenario = newModel.scenarioName;\r\n }\r\n\r\n filterBySearchId(searchId: string) {\r\n this.testRunsFetchInputs.searchId = searchId;\r\n this.testRunsFetchInputs.testRunId = '';\r\n\r\n if (this.selectedOrg != \"\" && this.selectedOrg != null) {\r\n this.testRunsFetchInputs.organizationId = parseInt(this.selectedOrg);\r\n }\r\n else {\r\n this.testRunsFetchInputs.organizationId = 1;\r\n }\r\n\r\n let scenario: any;\r\n this.manageTestRunsService.getTestRunsDetails(this.testRunsFetchInputs).subscribe((response: TestRunsDetails) => {\r\n if (response != null) {\r\n this.filterScenariosAfterLoad(response.testRunsItemDetailsList, searchId)\r\n }\r\n });\r\n }\r\n\r\n filterScenariosAfterLoad(list: TestRunsItemDetails[], searchId: string) {\r\n if (list.length == 1) {\r\n list.forEach(element => {\r\n element.scenariosDetailsList = element.scenariosDetailsList.filter(scenario => scenario.correlationId == searchId);\r\n });\r\n\r\n let clone: TestRunScenariosDetails = list[0].scenariosDetailsList[0];\r\n this.requestToClone = clone;\r\n let vertical = this.requestToClone.verticalName;\r\n let section = this.requestToClone.sectionName;\r\n let scenario = this.requestToClone.scenarioName;\r\n let flavour = this.requestToClone.flavourName;\r\n let scenarioSet = false;\r\n try {\r\n if (vertical != '' && section != '' && scenario != '') {\r\n this.verticalName = vertical;\r\n this.loadSectionsList();\r\n this.sectionName = section;\r\n this.loadScenariosList();\r\n this.model.scenarioId = this.scenariosList.find(x => x.scenarioName == scenario).scenarioId;\r\n scenarioSet = true;\r\n this.scenario = scenario;\r\n this.loadFlavoursList();\r\n if (this.flavoursList != undefined && this.flavoursList != null && this.flavoursList.length > 0) {\r\n this.model.flavourId = this.flavoursList.find(x => x.flavourName == flavour).flavourId;\r\n this.flavour = flavour;\r\n }\r\n\r\n this.loadUserInputJson();\r\n let userInputs: Object = JSON.parse(this.requestToClone.stepsDetailsList[0].userInput);\r\n this.autoFillUserInputs(userInputs);\r\n this.testRunName = list[0].testRunName + \"-clone\";\r\n }\r\n if (scenarioSet == false) {\r\n this.clearForm();\r\n }\r\n } catch {\r\n //this.resetFormControls();\r\n this.clearForm();\r\n }\r\n }\r\n }\r\n\r\n processActiveRoute() {\r\n let searchId = this.activatedRoute.snapshot.params['searchId'] || \"\";\r\n let verticalName = this.activatedRoute.snapshot.params['vertical'] || \"\";\r\n let sectionName = this.activatedRoute.snapshot.params['section'] || \"\";\r\n let scenarioName = this.activatedRoute.snapshot.params['scenario'] || \"\";\r\n if (verticalName != \"\" && sectionName != \"\" && scenarioName != \"\") {\r\n this.verticalName = verticalName;\r\n this.loadSectionsList();\r\n this.sectionName = sectionName;\r\n this.loadScenariosList();\r\n this.model.scenarioId = this.scenariosList.find(x => x.scenarioName == scenarioName).scenarioId;\r\n this.scenario = scenarioName;\r\n this.loadFlavoursList();\r\n }\r\n else {\r\n this.filterBySearchId(searchId);\r\n }\r\n }\r\n\r\n private getOrganization() {\r\n let organizationID = this.activatedRoute.snapshot.params['org'] || \"\";\r\n if (organizationID != \"\" && organizationID != this.selectedOrg) {\r\n this.selectedOrg = organizationID;\r\n window.sessionStorage.setItem(\"orgSelected\", this.selectedOrg);\r\n }\r\n }\r\n\r\n autoFillUserInputs(userInputs: Object) {\r\n const keys = [];\r\n this.fields.forEach(x => keys.push(x.key));\r\n keys.forEach(key => {\r\n if (userInputs.hasOwnProperty(key)) {\r\n if (key == \"noOfLines\") {\r\n this.model[key] = parseInt(userInputs[key], 10);\r\n }\r\n else {\r\n let value = userInputs[key];\r\n this.model[key] = value;\r\n }\r\n }\r\n });\r\n }\r\n\r\n getInputMappings() {\r\n this.activatedRoute.paramMap.subscribe((params: ParamMap) => {\r\n this.processActiveRoute();\r\n })\r\n }\r\n\r\n serializeModel(scenarioModel: FormInputsModel) {\r\n const serialModel = new ScenariosInputsModel();\r\n serialModel.scenarioId = scenarioModel.scenarioId;\r\n serialModel.flavourId = scenarioModel.flavourId;\r\n serialModel.scenarioName = scenarioModel.scenarioName;\r\n serialModel.flavourName = scenarioModel.flavourName;\r\n serialModel.id = scenarioModel.id;\r\n for (const key in scenarioModel) {\r\n if (scenarioModel.hasOwnProperty(key) && this.excludedKeysList.indexOf(key) < 0) {\r\n serialModel.inputsModel[key] = scenarioModel[key];\r\n }\r\n }\r\n return JSON.parse(JSON.stringify(serialModel));\r\n }\r\n\r\n deserializeModel(inputModel: ScenariosInputsModel) {\r\n const deserialModel = new FormInputsModel();\r\n for (const key in inputModel) {\r\n if (inputModel.hasOwnProperty(key) && key != 'inputsModel') {\r\n deserialModel[key] = inputModel[key];\r\n } else if (key == 'inputsModel') {\r\n for (const modelKey in inputModel.inputsModel) {\r\n if (inputModel.inputsModel.hasOwnProperty(modelKey)) {\r\n deserialModel[modelKey] = inputModel.inputsModel[modelKey];\r\n }\r\n }\r\n }\r\n }\r\n return JSON.parse(JSON.stringify(deserialModel));\r\n }\r\n\r\n getMultipathValue(processModel: any, xpath: string, result: string) {\r\n if (xpath.indexOf('.') >= 0) {\r\n if (Array.isArray(processModel)) {\r\n for (let p = 0; p < processModel.length; p++) {\r\n result = this.getMultipathValue(processModel[p], xpath, result);\r\n }\r\n }\r\n else {\r\n var array = xpath.split('.');\r\n for (let i = 0; i < array.length; i++) {\r\n var element = processModel[array[i]];\r\n if (element != undefined && element != null) {\r\n var firstDot = xpath.match(/\\./);\r\n if (firstDot)\r\n xpath = xpath.substring(firstDot.index + 1);\r\n if (Array.isArray(element)) {\r\n result = this.getMultipathValue(element, xpath, result);\r\n }\r\n else {\r\n processModel = element;\r\n }\r\n }\r\n else {\r\n return result;\r\n }\r\n }\r\n return processModel;\r\n }\r\n }\r\n else {\r\n if (Array.isArray(processModel)) {\r\n for (let p = 0; p < processModel.length; p++) {\r\n result += (processModel[p][xpath] != undefined && processModel[p][xpath] != null) ? (processModel[p][xpath] + ' ~ ') : '';\r\n }\r\n }\r\n else {\r\n result += (processModel[xpath] != undefined && processModel[xpath] != null) ? (processModel[xpath] + ' ~ ') : '';\r\n }\r\n }\r\n return result.substring(0, result.lastIndexOf(' ~ '));\r\n }\r\n\r\n getModelValue(input: ScenariosInputsModel, key: any) {\r\n let inputValue = '';\r\n if (this.excludedKeysList.indexOf(key) >= 0) {\r\n inputValue = input[key] != undefined && input[key] != null ? input[key] : '';\r\n } else {\r\n inputValue = input.inputsModel[key] != undefined && input.inputsModel[key] != null ? input.inputsModel[key] : '';\r\n }\r\n return inputValue;\r\n }\r\n\r\n getColumnValue(modelInput: ScenariosInputsModel, modelField: any) {\r\n const currModel = JSON.parse(JSON.stringify(modelInput));\r\n let inputValue = '';\r\n const key = modelField['model'];\r\n if (key.indexOf('/') >= 0) {\r\n const fieldArray = key.split('/');\r\n for (let i = 0; i < fieldArray.length; i++) {\r\n let modelValue = '';\r\n if (fieldArray[i].indexOf('.') >= 0) {\r\n modelValue = this.getMultipathValue(currModel.inputsModel, fieldArray[i], '');\r\n }\r\n else {\r\n modelValue = this.getModelValue(currModel, fieldArray[i]);\r\n }\r\n inputValue += (modelValue != undefined && modelValue != null && modelValue != '') ? (modelValue + ' / ') : '';\r\n }\r\n inputValue = inputValue != '' ? inputValue.substring(0, inputValue.lastIndexOf(' / ')) : '';\r\n }\r\n else if (key.indexOf('.') >= 0) {\r\n inputValue = this.getMultipathValue(currModel.inputsModel, key, '');\r\n }\r\n else {\r\n inputValue = this.getModelValue(currModel, key);\r\n }\r\n return inputValue;\r\n }\r\n\r\n setCheckboxValue($event: any, index: number, fieldModel: string) {\r\n const isChecked = $event.currentTarget.checked;\r\n this.inputsList[index].inputsModel[fieldModel] = isChecked;\r\n }\r\n\r\n editScenario(id: number) {\r\n this.conditions.isEditMode = true;\r\n if (id >= 0) {\r\n const editModel = Object.assign({}, this.inputsList[id]);\r\n this.model = JSON.parse(JSON.stringify(this.deserializeModel(editModel)));\r\n this.loadFlavoursList();\r\n }\r\n this.toggleSidebar();\r\n this.conditions.isEditModeLoadComplete = true;\r\n }\r\n\r\n deleteScenario(id: number) {\r\n if (id >= 0) {\r\n const index = this.inputsList.map(function (d) { return d['id']; }).indexOf(id);\r\n this.inputsList.splice(index, 1);\r\n } else {\r\n this.resetBulkUploadInput();\r\n }\r\n if (this.inputsList.length <= 0) {\r\n this.toggleSidebar();\r\n }\r\n }\r\n\r\n copyScenario(id: number) {\r\n if (id >= 0) {\r\n const copyModel = JSON.parse(JSON.stringify(this.inputsList[id]));\r\n copyModel.id = id + 1;\r\n this.inputsList.splice(id + 1, 0, copyModel);\r\n }\r\n }\r\n\r\n updateScenarios(model: FormInputsModel) {\r\n const updateModel = Object.assign({}, model);\r\n this.inputsList[updateModel.id] = this.serializeModel(updateModel);\r\n this.model = new FormInputsModel();\r\n this.toggleSidebar();\r\n this.conditions.isEditMode = false;\r\n this.conditions.isEditModeLoadComplete = false;\r\n this.loadUserInputJson();\r\n }\r\n\r\n cancelScenarioUpdate($event: any) {\r\n this.model = new FormInputsModel();\r\n this.toggleSidebar();\r\n this.conditions.isEditMode = false;\r\n this.conditions.isEditModeLoadComplete = false;\r\n }\r\n\r\n submitTestRunInputs(responseModal: any) {\r\n const parent = this;\r\n this.manageTestRunsService.ngxLoaderConfig.text = 'Storing Test Runs Inputs Details! Please Wait!';\r\n this.ngxLoader.start();\r\n var ptName = [];\r\n var businessName = [];\r\n var onboardingNameAll: any = [];\r\n var onboardingName: any;\r\n this.partnerName.forEach((pN: any) => {\r\n var arr: any = pN.name.split(\"-\");\r\n var partnername = arr[0];\r\n var bpName = arr[1];\r\n this.partnerArray.forEach((data: any) => {\r\n if ((data.partnerOrgName == arr[0]) && (data.businessProcessName == arr[1])) {\r\n onboardingName = data.onboardingName;\r\n }\r\n })\r\n ptName.push(partnername);\r\n businessName.push(bpName);\r\n onboardingNameAll.push(onboardingName);\r\n\r\n }\r\n )\r\n var concatPartner = ptName.join(\",\");\r\n var concatBusinessProcess = businessName.join(\",\");\r\n var concatOnboard = onboardingNameAll.join(\",\");\r\n this.testRunInputsDetails.testRunName = this.testRunName;\r\n this.testRunInputsDetails.verticalName = this.verticalName;\r\n this.testRunInputsDetails.sectionName = this.sectionName;\r\n this.testRunInputsDetails.userName = this.name;\r\n this.testRunInputsDetails.userEmail = this.email;\r\n this.testRunInputsDetails.partnerOrgName = concatPartner;\r\n this.testRunInputsDetails.businessProcessName = concatBusinessProcess;\r\n this.testRunInputsDetails.onboardingName = concatOnboard;\r\n\r\n this.testRunInputsDetails.inputsJsonDetails = JSON.stringify(this.inputsList);\r\n this.logger = new log.AppInsightsLogger(this.configService, this.msalService, this.verticalName, this.sectionName, this.flavour, this.scenario);\r\n this.logger.trackTrace(`In Execution test run, User selected Vertical: ${this.verticalName}, Section: ${this.sectionName}, Flavour name: ${this.flavour} and Scenario Name: ${this.scenario}`);\r\n\r\n this.manageTestRunsService.storeTestRunsDetails(parent.testRunInputsDetails).subscribe((response: string[]) => {\r\n if (response != null && response.length > 0) {\r\n parent.resetFormControls();\r\n parent.headerText = 'Test Run Created Successfully!';\r\n this.logger.trackTrace(`In Execute testruns ${parent.headerText}`);\r\n parent.bodyText = 'Test Run Created Successfully! Please go to \"Manage Test Runs\" to view the status of the processes!';\r\n this.logger.trackTrace(`In Execute testruns, ${parent.bodyText}`);\r\n parent.modalService.open(responseModal, { ariaLabelledBy: 'modal-basic-title', backdrop: 'static' }).result.then((result) => {\r\n });\r\n } else {\r\n parent.headerText = 'Test Run Creation Failed!';\r\n this.logger.trackTrace(`In execute testruns, ${parent.headerText}`);\r\n parent.bodyText = 'Test Run Creation Failed! Please try again later!';\r\n this.logger.trackTrace(`In execute testruns, ${parent.bodyText}`);\r\n parent.modalService.open(responseModal, { ariaLabelledBy: 'modal-basic-title', backdrop: 'static' }).result.then((result) => {\r\n });\r\n }\r\n parent.ngxLoader.stop();\r\n }, (error: any) => {\r\n parent.ngxLoader.stop();\r\n parent.headerText = 'Test Run Creation Failed!';\r\n this.logger.trackTrace(`In Execute testruns, ${parent.headerText}`);\r\n parent.bodyText = 'Test Run Creation Failed! Please try again later!';\r\n this.logger.trackTrace(`In Execute Testruns, ${parent.bodyText}`);\r\n this.logger.trackException(error);\r\n parent.modalService.open(responseModal, { ariaLabelledBy: 'modal-basic-title', backdrop: 'static' }).result.then((result) => {\r\n });\r\n });\r\n }\r\n\r\n submitTestRunBulkUploadInput(responseModal: any) {\r\n const parent = this;\r\n this.manageTestRunsService.ngxLoaderConfig.text = 'Storing Test Runs Inputs Details! Please Wait!';\r\n this.ngxLoader.start();\r\n this.testRunBulkUploadInput.testRunName = this.testRunName;\r\n this.testRunBulkUploadInput.userName = this.name;\r\n this.testRunBulkUploadInput.userEmail = this.email;\r\n this.testRunBulkUploadInput.sheetJsonData = JSON.stringify(this.sheetJsonData);\r\n\r\n this.manageTestRunsService.testRunsBulkUpload(parent.testRunBulkUploadInput).subscribe((response: TestRunsBulkUploadResponse) => {\r\n if (response != null && (!response.errors || response.errors.length === 0)) {\r\n parent.resetFormControls();\r\n parent.headerText = 'Test Run Created Successfully!';\r\n this.logger.trackTrace(`In Execute testruns, ${parent.headerText}`);\r\n parent.bodyText = 'Test Run Created Successfully! Please go to \"Manage Test Runs\" to view the status of the processes!';\r\n this.logger.trackTrace(`In Execute testruns, ${parent.bodyText}`);\r\n parent.modalService.open(responseModal, { ariaLabelledBy: 'modal-basic-title', backdrop: 'static' }).result.then((result) => {\r\n this.logger.trackTrace(`In Execute testruns, ${result}`);\r\n });\r\n } else {\r\n parent.headerText = 'Test Run Creation Failed!';\r\n this.logger.trackTrace(`In execute testruns, ${parent.headerText}`);\r\n parent.bodyText = 'Test Run Creation Failed!';\r\n this.logger.trackTrace(`In Execute Testruns, ${parent.bodyText}`);\r\n if (response.errors[0].code === ErrorCode.BadArgument) {\r\n const errorsString = JSON.stringify(\r\n response.errors,\r\n (k, v) => Array.isArray(v) && v.length === 0\r\n ? undefined\r\n : v\r\n );\r\n parent.bodyText += `\\n${errorsString}`;\r\n } else {\r\n parent.bodyText += ' Please try again later!';\r\n }\r\n parent.modalService.open(responseModal, { ariaLabelledBy: 'modal-basic-title', backdrop: 'static' }).result.then((result) => {\r\n });\r\n }\r\n parent.ngxLoader.stop();\r\n }, (error: any) => {\r\n parent.ngxLoader.stop();\r\n parent.headerText = 'Test Run Creation Failed!';\r\n parent.bodyText = 'Test Run Creation Failed!';\r\n this.logger.trackTrace(`In Execute testruns, ${parent.headerText}`);\r\n this.logger.trackTrace(`In Execute testruns, ${parent.bodyText}`);\r\n this.logger.trackException(error);\r\n if (error && error.error && error.error.errors && error.error.errors.length > 0 && error.error.errors[0].code === ErrorCode.BadArgument) {\r\n const errorsString = JSON.stringify(\r\n error.error.errors,\r\n (k, v) => Array.isArray(v) && v.length === 0\r\n ? undefined\r\n : v,\r\n 2\r\n );\r\n parent.bodyText += `\\n${errorsString}`;\r\n } else {\r\n parent.bodyText += ' Please try again later!';\r\n }\r\n parent.modalService.open(responseModal, { ariaLabelledBy: 'modal-basic-title', backdrop: 'static' }).result.then((result) => {\r\n });\r\n });\r\n }\r\n\r\n validateFileType(event: any, responseModal: any) {\r\n const parent = this;\r\n const fileName = event.target.files[0].name.toLowerCase();\r\n const isXlsFile = fileName.indexOf('xls') > 0;\r\n const isCsvFile = fileName.indexOf('csv') > 0;\r\n if (event.target.files.length > 0 && (isXlsFile || isCsvFile)) {\r\n this.uploadedFile = event.target.files[0];\r\n this.sheetTabName = isXlsFile ? 'Inputs' : 'Sheet1';\r\n this.sheetFileName = event.target.files[0].name;\r\n this.conditions.isBulkUploadMode = true;\r\n } else {\r\n parent.headerText = 'Invalid File!';\r\n parent.bodyText = 'You have selected an invalid file! Please select a xlsx or csv file and try again!';\r\n parent.modalService.open(responseModal, { ariaLabelledBy: 'modal-basic-title', backdrop: 'static' }).result.then((result: any) => {\r\n });\r\n }\r\n }\r\n\r\n addOrUpdateScenariosBulkMode(responseModal: any) {\r\n const parent = this;\r\n const readFile = new FileReader();\r\n readFile.onload = () => {\r\n let storeData: any;\r\n storeData = readFile.result;\r\n const exceldata = new Uint8Array(storeData);\r\n const arr = new Array();\r\n for (let i = 0; i !== exceldata.length; ++i) {\r\n arr[i] = String.fromCharCode(exceldata[i]);\r\n }\r\n const workbook = XLSX.read(arr.join(''), { type: 'binary' });\r\n parent.sheetJsonData = XLSX.utils.sheet_to_json(workbook.Sheets[parent.sheetTabName], { raw: false });\r\n\r\n for (let i = 0; i < parent.sheetJsonData.length; i++) {\r\n const row = this.sheetJsonData[i];\r\n const id = row[ExecuteTestRunsComponent.KEYWORD_ID];\r\n const scenarioCode = row[ExecuteTestRunsComponent.KEYWORD_SCENARIO_CODE];\r\n const flavorCode = row[ExecuteTestRunsComponent.KEYWORD_FLAVOR_CODE];\r\n if (!id || !scenarioCode || !flavorCode) {\r\n parent.resetBulkUploadInput();\r\n parent.headerText = 'Invalid File!';\r\n parent.bodyText = `Row ${i + 1}: ${ExecuteTestRunsComponent.KEYWORD_ID}, ${ExecuteTestRunsComponent.KEYWORD_SCENARIO_CODE} and ${ExecuteTestRunsComponent.KEYWORD_FLAVOR_CODE} cannot be empty`;\r\n parent.modalService.open(responseModal, { ariaLabelledBy: 'modal-basic-title', backdrop: 'static' }).result.then((result: any) => {\r\n });\r\n break;\r\n }\r\n }\r\n };\r\n readFile.readAsArrayBuffer(this.uploadedFile);\r\n this.conditions.isEditMode = false;\r\n this.toggleSidebar();\r\n }\r\n\r\n downloadSampleFile() {\r\n const fileKey = `${this.verticalName},${this.sectionName}`;\r\n SampleFilesService.downloadSampleFile(ExecuteTestRunsComponent.SAMPLE_FILES[fileKey]);\r\n }\r\n}\r\n","\r\n
\r\n \r\n
\r\n
\r\n
\r\n

Execute Test Runs\r\n \r\n \r\n \r\n

\r\n
 
\r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n {{ !showBulkUploadPanel ? 'SELECT SCENARIO DETAILS' : 'BULK UPLOAD' }}\r\n
\r\n
\r\n \r\n ×\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n
1\">\r\n \r\n \r\n \r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n SCOR Function:*\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n Scenario Category (L3):*\r\n \r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n Partner Info:*\r\n \r\n \r\n
\r\n
\r\n \r\n \r\n
\r\n\r\n\r\n\r\n \r\n
\r\n Test Run Name:*\r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n
0\">\r\n
\r\n \r\n \r\n 10}\">\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n {{header.label}}\r\n \r\n Actions\r\n
\r\n
\r\n \r\n
\r\n \r\n {{getColumnValue(input, field)}}\r\n \r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
VerticalSectionFileActions
\r\n \r\n {{verticalName}}\r\n \r\n \r\n \r\n {{sectionName}}\r\n \r\n \r\n \r\n {{sheetFileName}}\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n No Business Process (L4) is added for testing! Please add at least one Business Process (L4) to test!\r\n
\r\n
\r\n Please click here to track the tests\r\n Manage Test Run page\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n\r\n\r\n
\r\n
{{headerText}}
\r\n \r\n
\r\n
\r\n
\r\n
\r\n {{bodyText}}\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
","import { HttpClient } from '@angular/common/http';\r\nimport { Injectable } from '@angular/core';\r\nimport { ConfigService } from './config.service';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class InvsnapshotFSLService {\r\n\r\n constructor(private httpClient: HttpClient, private configService: ConfigService) { }\r\n onPostToInvSnapshot(postInvRequest:any) {\r\n let header = {\r\n \"Content-Type\": 'application/json'\r\n }\r\n const baseUrlWithVersion = this.configService.omtestSuiteAPI.baseUrl + '/api/' + this.configService.omtestSuiteAPI.apiVersion; \r\n return this.httpClient.post(baseUrlWithVersion + `/InventoryServices/PostToInventoryService`, postInvRequest,{headers:header});\r\n }\r\n}\r\n","export class LandingPageResponse {\r\n public status: string;\r\n public response: WarningBoxDetail[];\r\n}\r\n\r\nexport class WarningBoxDetail {\r\n public id: number;\r\n public notificationStart: Date;\r\n public notificationEnd: Date;\r\n public title: string;\r\n public warningMessage: string;\r\n public isEnable: boolean;\r\n public alias: string;\r\n public createdBy: Date;\r\n public createdAt: Date;\r\n}\r\n","/* (ignored) */","/* (ignored) */","import { Component, DoCheck, KeyValueDiffers } from '@angular/core';\r\nimport { FieldArrayType } from '@ngx-formly/core';\r\n\r\n@Component({\r\n selector: 'formly-repeat-section-button',\r\n template: `\r\n \r\n
\r\n
\r\n \r\n \r\n \r\n
\r\n \r\n \r\n
\r\n
\r\n \r\n \r\n
\r\n \r\n
\r\n \r\n `,\r\n})\r\nexport class RepeatTypeButtonComponent extends FieldArrayType implements DoCheck {\r\n private differ: any;\r\n private previousDefaultValue: any[];\r\n\r\n constructor(private differs: KeyValueDiffers) {\r\n super();\r\n this.differ = this.differs.find({}).create();\r\n }\r\n\r\n ngOnInit() {\r\n this.previousDefaultValue = [...(this.to.defaultValue || [])];\r\n this.initDefaultValue();\r\n }\r\n\r\n ngDoCheck() {\r\n const changes = this.differ.diff(this.to);\r\n if (changes) {\r\n changes.forEachChangedItem((item: any) => {\r\n if (item.key === 'defaultValue' && JSON.stringify(this.previousDefaultValue) !== JSON.stringify(this.to.defaultValue)) {\r\n console.log(\"DefaultValue changed\", this.to.defaultValue);\r\n this.initDefaultValue();\r\n this.previousDefaultValue = [...(this.to.defaultValue || [])];\r\n }\r\n });\r\n }\r\n }\r\n\r\n private initDefaultValue() {\r\n if (this.to.defaultValue?.length > 0) {\r\n // Clear existing fields before adding new ones to avoid duplicates\r\n while (this.field.fieldGroup.length !== 0) {\r\n this.remove(0);\r\n }\r\n // Add new fields based on the updated default values\r\n this.to.defaultValue.forEach((element: any) => {\r\n this.add(null, element);\r\n });\r\n }\r\n else{\r\n this.add();\r\n }\r\n }\r\n}\r\n","import { HttpClient } from '@angular/common/http';\r\nimport { Component, OnInit, ViewEncapsulation, ViewChild, ElementRef } from '@angular/core';\r\nimport { ActivatedRoute, Router, ParamMap } from '@angular/router';\r\nimport { NgbModal } from '@ng-bootstrap/ng-bootstrap';\r\nimport { MsalService } from '@azure/msal-angular';\r\nimport { NgxUiLoaderService } from 'ngx-ui-loader';\r\nimport * as XLSX from 'xlsx';\r\nimport { EntityTrackingMap } from 'src/app/model/entitytracking.model';\r\nimport { CurrentEventMetadata, ErrorRestartStepInputs, ErrorRestartStepResponse, Events, ModalInputs, SearchEntities, TestRunInputsDetails, TestRunSaveStatusInput, TestRunScenariosDetails, TestRunsDetails, TestRunsFetchInputs, TestRunsItemDetails, TestRunStatusCount, TestRunStepsDetails, TestRunsUsersDetails, TrackOrderRequest, TrackOrderResponse, UpdateScenarioStepInput, TestRunDetails, TestRunsList, TestRunExportResponse } from 'src/app/model/manage-testruns.model';\r\nimport { isArray } from 'util';\r\nimport * as log from '../../AppInsightsLogger';\r\nimport { AuthService } from '../../service/auth.service';\r\nimport { ConfigService } from '../../service/config.service';\r\nimport { ManageScenariosService } from '../../service/manage-scenarios.service';\r\nimport { ScenariosInputsModel } from 'src/app/model/execute-testruns.model';\r\nimport { GenerateBlobSasTokenService } from '../../service/generate-sas-token.service';\r\n\r\n@Component({\r\n selector: 'app-manage-testruns',\r\n templateUrl: './manage-testruns.component.html',\r\n encapsulation: ViewEncapsulation.None,\r\n styleUrls: ['./manage-testruns.component.css']\r\n})\r\n\r\nexport class ManageTestRunsComponent implements OnInit {\r\n readonly truncateNameStrLength = 57;\r\n @ViewChild('searchByIdButton', { static: false }) searchButton: ElementRef;\r\n name: string;\r\n email: string;\r\n searchTestName: string;\r\n searchTerm: string;\r\n searchText: string;\r\n wrapperHeight: number;\r\n loadTrackEvents: boolean;\r\n selectedUserEmail: string;\r\n hrefEmail: string;\r\n testRunsUsersDetails: TestRunsUsersDetails[];\r\n selectedTestRunId: string;\r\n selectedTestRunIndex: number = -1;\r\n selectedTestRun: TestRunDetails;\r\n sidebarOpened: boolean;\r\n isShowChildScenarios: boolean;\r\n displayDetailedView: boolean = false;\r\n disableLink: boolean;\r\n componentName: string;\r\n bodyText: string;\r\n headerText: string;\r\n modalInputs: ModalInputs;\r\n testRunsFetchInputs: TestRunsFetchInputs;\r\n searchEntities: SearchEntities[];\r\n trackOrderRequest: TrackOrderRequest;\r\n trackOrderResponse: TrackOrderResponse;\r\n totalTestRunsCount: number;\r\n testRunsList: TestRunDetails[];\r\n testRunsItemDetails: TestRunsItemDetails;\r\n testRunScenariosList: TestRunScenariosDetails[];\r\n trackingEventsList: Events[];\r\n eventPayload = '';\r\n usetInputDetails = '';\r\n responseStep = '';\r\n correlationId: string;\r\n testrunCorrelationId: string;\r\n error: string;\r\n pageNumber: number = 0;\r\n childPageNumber: number = 0;\r\n restartStepRequestsList: ErrorRestartStepInputs[];\r\n restartStepResponsesList: ErrorRestartStepResponse[];\r\n eventDetailsId: string;\r\n currentEventMetadata: CurrentEventMetadata;\r\n testRuntoRetrigger: TestRunInputsDetails;\r\n retriggerTestRunName: \"\";\r\n\r\n private logger: log.AppInsightsLogger;\r\n\r\n /**\r\n * Map representing mapping between Tracking Type and Scenario - Order Type\r\n */\r\n trackingMap: EntityTrackingMap[];\r\n is500error: boolean = false;\r\n organizationId: number;\r\n statusFilter: number = 0;\r\n\r\n filterItems = [\r\n {\r\n id: 0,\r\n name: 'All'\r\n },\r\n {\r\n id: 1,\r\n name: 'Complete'\r\n },\r\n {\r\n id: 2,\r\n name: 'Error'\r\n },\r\n {\r\n id: 3,\r\n name: 'Processing'\r\n }\r\n ];\r\n refreshInterval: any;\r\n scrollPositionChange: boolean = false;\r\n scrollPositionSaved: any;\r\n testRunDetails: TestRunsDetails;\r\n searchRunIndex: any;\r\n searchScenario: any;\r\n\r\n\r\n constructor(\r\n private ngxLoader: NgxUiLoaderService,\r\n private modalService: NgbModal,\r\n private msalService: MsalService,\r\n private manageTestRunsService: ManageScenariosService,\r\n private configService: ConfigService,\r\n private generateSasTokenService: GenerateBlobSasTokenService,\r\n private authService: AuthService,\r\n private router: Router,\r\n private activatedRoute: ActivatedRoute,\r\n private http: HttpClient) {\r\n this.name = this.msalService.instance.getActiveAccount().name;\r\n this.email = this.msalService.instance.getActiveAccount().username;\r\n this.logger = new log.AppInsightsLogger(configService, msalService);\r\n }\r\n\r\n ngOnInit() {\r\n this.selectedTestRunIndex = -1;\r\n this.displayDetailedView = false;\r\n this.sidebarOpened = false;\r\n this.isShowChildScenarios = false;\r\n this.disableLink = false;\r\n this.searchTestName = null;\r\n this.searchText = null;\r\n this.modalInputs = new ModalInputs();\r\n this.testRunsUsersDetails = [];\r\n this.trackingEventsList = [];\r\n this.searchEntities = [];\r\n this.restartStepRequestsList = [];\r\n this.restartStepResponsesList = [];\r\n this.selectedTestRun = new TestRunDetails();\r\n this.testRunsFetchInputs = new TestRunsFetchInputs();\r\n this.trackOrderRequest = new TrackOrderRequest();\r\n this.trackOrderResponse = new TrackOrderResponse();\r\n this.setOrganizationData();\r\n this.loadSearchEntities();\r\n this.loadTestRunsUsersDetails();\r\n if (this.activatedRoute.snapshot.params['searchId'] !== undefined && this.activatedRoute.snapshot.params['searchId'] != null && this.activatedRoute.snapshot.params['searchId'].trim() != '') {\r\n this.searchText = this.activatedRoute.snapshot.params['searchId'];\r\n this.filterTestRuns();\r\n }\r\n else {\r\n this.loadDBTestRunsItemDetails();\r\n }\r\n this.loadOrderTrackingMap();\r\n this.wrapperHeight = document.getElementById('testRunsWrapper') != null ? document.getElementById('testRunsWrapper').scrollHeight : 500;\r\n this.currentEventMetadata = new CurrentEventMetadata();\r\n if (!this.authService.isOrderViewEnabled()) {\r\n this.router.navigate(['/', 'landing-page', {\r\n 'org': this.organizationId.toString()\r\n }]);\r\n }\r\n this.logger.trackTrace(\"Successfully landed to Manage Testruns Page\");\r\n }\r\n\r\n onSearchTermChange(searchTerm, scenario, testRunIndex) {\r\n this.searchRunIndex = testRunIndex;\r\n this.searchScenario = scenario;\r\n this.searchTerm = searchTerm;\r\n this.filteredStepsDetailsList(searchTerm, scenario, testRunIndex); // Call the function to filter the list\r\n }\r\n selectStep(step, scenario, testRunIndex) {\r\n\r\n this.onSearchTermChange(step, scenario, testRunIndex)\r\n }\r\n addTagFn(componentDescription) {\r\n return { componentDescription: componentDescription, tag: true };\r\n }\r\n filteredStepsDetailsList(searchTerm, scenario, testRunIndex) {\r\n\r\n searchTerm = searchTerm.label ? searchTerm.label : searchTerm;\r\n\r\n\r\n if (searchTerm || searchTerm !== '') {\r\n if (scenario.stepsDetailsList.filter(step =>\r\n step.componentDescription.toLowerCase().includes(this.searchTerm.toLowerCase()))) {\r\n this.testRunsList[testRunIndex].scenariosDetailsList.forEach(scenario => {\r\n scenario.stepsDetailsList = this.testRunDetails.testRunsItemDetailsList[0].scenariosDetailsList[0].stepsDetailsList.filter(step => step.componentDescription.toLowerCase().includes(this.searchTerm.toLowerCase()))\r\n });\r\n\r\n }\r\n else {\r\n this.testRunsList[testRunIndex].scenariosDetailsList.forEach(scenario => {\r\n scenario.stepsDetailsList = this.testRunDetails.testRunsItemDetailsList[0].scenariosDetailsList[0].stepsDetailsList;\r\n });\r\n }\r\n\r\n }\r\n else {\r\n this.testRunsList[testRunIndex].scenariosDetailsList.forEach(scenario => {\r\n scenario.stepsDetailsList = this.testRunDetails.testRunsItemDetailsList[0].scenariosDetailsList[0].stepsDetailsList;\r\n });\r\n }\r\n }\r\n setOrganizationData() {\r\n let orgId = window.sessionStorage.getItem(\"orgSelected\");\r\n if (orgId != null && orgId != '') {\r\n this.organizationId = parseInt(orgId);\r\n }\r\n else {\r\n let organizationID = this.activatedRoute.snapshot.params['org'] || \"\";\r\n if (organizationID != \"\" && this.organizationId != parseInt(organizationID)) {\r\n this.organizationId = parseInt(organizationID);\r\n window.sessionStorage.setItem(\"orgSelected\", this.organizationId.toString());\r\n }\r\n }\r\n }\r\n\r\n checkOverflow() {\r\n return document.getElementById('testRunsWrapper').scrollHeight <= this.wrapperHeight;\r\n }\r\n\r\n scrollToTop() {\r\n document.getElementById('testRunsWrapper').scrollTop = 0;\r\n }\r\n\r\n toggleSidebar() {\r\n if (this.sidebarOpened) {\r\n this.eventPayload = '';\r\n this.trackingEventsList = [];\r\n }\r\n this.sidebarOpened = !this.sidebarOpened;\r\n }\r\n\r\n loadSearchEntities() {\r\n const parent = this;\r\n this.manageTestRunsService.getSearchEntitiesDetails().subscribe((response: SearchEntities[]) => {\r\n if (response != undefined && response != null && response.length > 0) {\r\n parent.searchEntities = response;\r\n parent.trackOrderRequest.entityType = parent.searchEntities[0].entityType;\r\n }\r\n }, (error: any) => {\r\n this.logger.trackTrace(`Manage testruns Search Entities Error ${error} load Search Entities`);\r\n this.logger.trackException(error);\r\n parent.ngxLoader.stop();\r\n });\r\n }\r\n\r\n loadTestRunsUsersDetails() {\r\n const parent = this;\r\n parent.testRunsFetchInputs = new TestRunsFetchInputs();\r\n parent.testRunsFetchInputs.userEmail = parent.email;\r\n parent.testRunsFetchInputs.organizationId = parent.organizationId;\r\n parent.manageTestRunsService.getTestRunsUsersDetails(parent.testRunsFetchInputs).subscribe((response: TestRunsUsersDetails[]) => {\r\n parent.testRunsUsersDetails = [];\r\n if (response != undefined && response != null && response.length > 0) {\r\n parent.testRunsUsersDetails = [{ userEmail: 'all', userName: 'All' }].concat(response.filter(x => {\r\n if (x.userName != null && x.userName != '' && x.userEmail != null && x.userEmail != '') {\r\n return x;\r\n }\r\n }));\r\n }\r\n }, (error: any) => {\r\n parent.logger.trackTrace(`In Manage Testruns, load Test Runs Users Details Error`);\r\n parent.logger.trackException(error);\r\n parent.ngxLoader.stop();\r\n });\r\n }\r\n\r\n refreshTestRuns(index: number, testRunId: string, disableLoad: boolean) {\r\n\r\n if (disableLoad != true) {\r\n this.manageTestRunsService.ngxLoaderConfig.text = 'Loading Test Runs List! Please wait!';\r\n this.ngxLoader.start();\r\n }\r\n let isRefresh = true;\r\n this.refreshTestcaseAuto(index, testRunId, isRefresh, disableLoad)\r\n\r\n\r\n }\r\n\r\n refreshTestcaseAuto(index, testRunId, isRefresh, disableLoad) {\r\n if (disableLoad) {\r\n if (this.refreshInterval) {\r\n clearInterval(this.refreshInterval)\r\n }\r\n this.refreshInterval = setInterval(() => {\r\n this.loadTestRunsItemDetails(index, testRunId, false, isRefresh, disableLoad);\r\n disableLoad = true;\r\n\r\n }, 30000);\r\n }\r\n else {\r\n this.loadTestRunsItemDetails(index, testRunId, false, isRefresh, disableLoad);\r\n disableLoad = true;\r\n this.refreshTestcaseAuto(index, testRunId, isRefresh, disableLoad);\r\n }\r\n }\r\n filterTestRuns() {\r\n const parent = this;\r\n parent.manageTestRunsService.ngxLoaderConfig.text = 'Loading Test Runs List! Please wait!';\r\n parent.ngxLoader.start();\r\n parent.testRunsFetchInputs.searchId = parent.searchText;\r\n parent.testRunsFetchInputs.testRunName = parent.searchTestName;\r\n parent.testRunsFetchInputs.organizationId = parent.organizationId;\r\n parent.testRunsFetchInputs.pageNumber = 1;\r\n parent.testRunsList = [];\r\n parent.selectedTestRunIndex = -1;\r\n parent.selectedTestRunId = undefined;\r\n parent.selectedTestRun = undefined;\r\n parent.displayDetailedView = false;\r\n parent.loadTestRunsItemDetails(-1, '', true, true, false);\r\n parent.router.navigate(['/manage-testruns', {\r\n 'org': parent.organizationId.toString(),\r\n 'searchId': parent.searchText != null ? parent.searchText.trim() : \"\"\r\n }], { relativeTo: parent.activatedRoute });\r\n }\r\n\r\n loadDBTestRunsItemDetails() {\r\n this.manageTestRunsService.ngxLoaderConfig.text = 'Loading Test Runs List! Please wait!';\r\n this.ngxLoader.start();\r\n this.testRunsList = [];\r\n this.pageNumber = 0;\r\n this.testRunsFetchInputs.searchId = '';\r\n this.loadTrackEvents = false;\r\n this.searchText = null;\r\n this.searchTestName = null;\r\n if (this.searchEntities != undefined && this.searchEntities != null && this.searchEntities.length > 0) {\r\n this.trackOrderRequest.entityType = this.searchEntities[0].entityType;\r\n }\r\n if (this.sidebarOpened) {\r\n this.toggleSidebar();\r\n }\r\n this.loadTestRunsItemDetails(-1, '', true, false, false);\r\n this.router.navigate(['/manage-testruns', {\r\n 'org': this.organizationId.toString(),\r\n 'searchId': \"\"\r\n }], { relativeTo: this.activatedRoute });\r\n }\r\n\r\n loadMoreTestRuns() {\r\n this.manageTestRunsService.ngxLoaderConfig.text = 'Loading Test Runs Details! Please wait!';\r\n this.ngxLoader.start();\r\n this.loadTestRunsItemDetails(-1, '', false, false, false);\r\n }\r\n\r\n loadTestRunsItemDetails(index: number, testRunId: string, resetStorage: boolean, isRefresh: boolean, disableLoad: boolean) {\r\n if (disableLoad != true) {\r\n this.manageTestRunsService.ngxLoaderConfig.text = 'Loading Test Runs Details! Please wait!';\r\n this.ngxLoader.start();\r\n }\r\n const parent = this;\r\n parent.testRunsFetchInputs.userEmail = (parent.selectedUserEmail !== undefined && parent.selectedUserEmail !== null && parent.selectedUserEmail !== '') ? parent.selectedUserEmail : parent.email;\r\n parent.testRunsFetchInputs.testRunId = testRunId;\r\n parent.testRunsFetchInputs.organizationId = parent.organizationId;\r\n if (parent.searchTestName != null && parent.searchTestName != '') {\r\n parent.testRunsFetchInputs.testRunName = parent.searchTestName;\r\n }\r\n else {\r\n parent.testRunsFetchInputs.testRunName = '';\r\n }\r\n if (parent.searchText !== undefined && parent.searchText !== null && parent.searchText.trim() !== '') {\r\n if (index >= 0 && parent.testRunsList.length > 0) {\r\n parent.testRunsList[index].testRunPrestepDetails = null;\r\n parent.testRunsList[index].scenariosDetailsList = null;\r\n }\r\n parent.testRunsFetchInputs.searchId = parent.searchText !== parent.testRunsFetchInputs.testRunId ? parent.searchText : '';\r\n }\r\n if (testRunId !== undefined && testRunId !== null && testRunId.trim() !== '') {\r\n parent.childPageNumber = (!isRefresh && parent.childPageNumber < 1) ? 1 : (!isRefresh ? parent.childPageNumber + 1 : 1);\r\n parent.testRunsFetchInputs.pageNumber = parent.childPageNumber;\r\n parent.manageTestRunsService.getTestRunsDetails(parent.testRunsFetchInputs).subscribe((response: TestRunsDetails) => {\r\n this.testRunDetails = response;\r\n if (response !== null && response.totalCount > 0 && response.testRunsItemDetailsList !== null) {\r\n parent.testRunsList[index].testRunPrestepDetails = JSON.parse(JSON.stringify(response.testRunsItemDetailsList[0].testRunPrestepDetails));\r\n parent.testRunsList[index].scenariosDetailsList = JSON.parse(JSON.stringify(response.testRunsItemDetailsList[0].scenariosDetailsList));\r\n parent.testRunsList[index].statusCounts = JSON.parse(JSON.stringify(response.testRunsItemDetailsList[0].statusCounts));\r\n parent.selectedTestRun = JSON.parse(JSON.stringify(parent.testRunsList[index]));\r\n\r\n if (this.scrollPositionChange) {\r\n this.restoreScrollPosition();\r\n this.scrollPositionChange = false;\r\n }\r\n if (!isRefresh) {\r\n parent.displayDetailedView = parent.testRunsList[index].isMultiPayload || parent.testRunsList[index].totalScenariosCount > 10;\r\n }\r\n\r\n parent.ngxLoader.stop();\r\n this.onSearchTermChange(this.searchTerm, this.searchScenario, this.searchRunIndex);\r\n } else {\r\n parent.ngxLoader.stop();\r\n }\r\n }, (error: any) => {\r\n if (error.status == 500) {\r\n parent.is500error = true;\r\n }\r\n parent.logger.trackTrace(`In Manage testruns, load Test Runs Item Details Error`);\r\n parent.logger.trackException(error);\r\n parent.ngxLoader.stop();\r\n });\r\n }\r\n else {\r\n parent.pageNumber = (!isRefresh && parent.pageNumber < 1) ? 1 : (!isRefresh ? parent.pageNumber + 1 : 1);\r\n parent.testRunsFetchInputs.pageNumber = parent.pageNumber;\r\n this.manageTestRunsService.getTestRunsList(this.testRunsFetchInputs).subscribe((response: TestRunsList) => {\r\n if (response !== null && response.totalTestRunsCount > 0 && response.testRunDetailsList !== null) {\r\n parent.processTestRunsItemDetails(index, testRunId, response, resetStorage);\r\n parent.ngxLoader.stop();\r\n } else {\r\n parent.ngxLoader.stop();\r\n }\r\n }, (error: any) => {\r\n if (error.status == 500) {\r\n parent.is500error = true;\r\n }\r\n\r\n parent.logger.trackTrace(`In Manage testruns, load Test Runs Item Details Error`);\r\n parent.logger.trackException(error);\r\n parent.ngxLoader.stop();\r\n });\r\n }\r\n }\r\n restoreScrollPosition() {\r\n let savedScrollPosition = this.scrollPositionSaved\r\n if (savedScrollPosition) {\r\n setTimeout(() => {\r\n document.getElementById('testruns-wrapper-child').scrollLeft = +parseInt(savedScrollPosition);\r\n }, 0);\r\n }\r\n }\r\n saveScrollPosition(event: any) {\r\n this.scrollPositionSaved = event.target.scrollLeft.toString()\r\n this.scrollPositionChange = true;\r\n }\r\n processTestRunsItemDetails(index: number, testRunId: string, response: TestRunsList, resetStorage: boolean) {\r\n this.totalTestRunsCount = response.totalTestRunsCount;\r\n this.selectedTestRunId = undefined;\r\n const testRunDetails = response.testRunDetailsList;\r\n this.testRunsList = (testRunId !== undefined && testRunId !== null && testRunId !== '') ? testRunDetails : (!resetStorage ? this.testRunsList.concat(testRunDetails) : testRunDetails);\r\n }\r\n\r\n /**\r\n * Load Order Tracking Map config\r\n */\r\n loadOrderTrackingMap() {\r\n this.http.get('./assets/configuration/EntityTrackingMapping.json', { responseType: 'text' }).subscribe((response: string) => {\r\n this.trackingMap = JSON.parse(response);\r\n }, (error: any) => {\r\n this.logger.trackTrace(`In Manage Testruns load Order Tracking Map Error ${error}, ERROR: can't load entity tracking map`);\r\n this.logger.trackException(error);\r\n console.log(\"ERROR: can't load entity tracking map\");\r\n });\r\n }\r\n\r\n /**\r\n * Return true if name exceeds the limits that can be displayed on the UI\r\n * @param testRunName String name of Test Run\r\n * @returns Boolean\r\n */\r\n testRunNameExceedsLimit(testRunName: string) {\r\n if (testRunName.replace(\"''\", \"'\").length > this.truncateNameStrLength) {\r\n return true;\r\n } else {\r\n return false;\r\n }\r\n }\r\n\r\n /**\r\n * Truncates test run name to be displayed on the UI\r\n * @param testRunName String name of Test Run\r\n * @returns Truncated Test Run Name\r\n */\r\n truncateTestRunName(testRunName: string) {\r\n if (testRunName.replace(\"''\", \"'\").length > this.truncateNameStrLength) {\r\n return testRunName.substr(0, this.truncateNameStrLength) + '...';\r\n } else {\r\n return testRunName;\r\n }\r\n }\r\n\r\n displayTrackingDetails(testRunIndex: number, scenarioIndex: number, stepIndex: number, childScenarioIndex: number, childStepIndex: number) {\r\n this.trackOrderRequest.entityIDs = [];\r\n const stepDetails = childScenarioIndex > -1 ? this.testRunsList[testRunIndex].scenariosDetailsList[scenarioIndex].stepsDetailsList[stepIndex].childScenariosList[childScenarioIndex].stepsDetailsList[childStepIndex] : this.testRunsList[testRunIndex].scenariosDetailsList[scenarioIndex].stepsDetailsList[stepIndex];\r\n if (stepDetails.eventsList != undefined && stepDetails.eventsList != null && stepDetails.eventsList.length > 0) {\r\n this.trackingEventsList = stepDetails.eventsList;\r\n this.eventPayload = stepDetails.stepResponse;\r\n this.toggleSidebar();\r\n }\r\n else {\r\n this.trackOrderRequest.entityType = stepDetails.trackingType;\r\n if (stepDetails.trackingType.toLowerCase() == 'returnserviceorder') {\r\n let entityId: string = (JSON.parse(stepDetails.stepResponse))['ServiceOrderNumber'];\r\n this.trackOrderRequest.entityIDs.push(entityId);\r\n } else if (stepDetails.trackingType.toLowerCase() == 'outboundcustpurchaseorder') {\r\n let entityId: string = (JSON.parse(stepDetails.stepResponse))['customerPurchaseOrderNumber'];\r\n this.trackOrderRequest.entityIDs.push(entityId);\r\n }\r\n else if (stepDetails.trackingType.toLowerCase() == '3pppurchaseorder') {\r\n let entityId: string = (JSON.parse(stepDetails.stepResponse))['EX_PO_NUMBERS'][0]['EBELN'];\r\n this.trackOrderRequest.entityIDs.push(entityId);\r\n }\r\n else if (stepDetails.trackingType.toLowerCase() == '3ppsalesorder') {\r\n let entityId: string = (JSON.parse(stepDetails.stepResponse))['customerPurchaseOrderNumber'];\r\n this.trackOrderRequest.entityIDs.push(entityId);\r\n\r\n } else if (stepDetails.trackingType.toLowerCase() == 'ato_directship_custpurchaseorder') {\r\n let entityId: string = (JSON.parse(stepDetails.stepResponse))['customerPurchaseOrderNumber'];\r\n this.trackOrderRequest.entityIDs.push(entityId);\r\n\r\n }\r\n else if (stepDetails.trackingType.toLowerCase() == 'marketplacesalesorder') {\r\n if ((JSON.parse(stepDetails.stepResponse))[\"TestOutputData\"][3]['SOnumber'] != undefined) {\r\n let entityId: string = this.escapeQuotes((JSON.parse(stepDetails.stepResponse))['TestOutputData'][3]['SOnumber']);\r\n this.trackOrderRequest.entityIDs.push(entityId);\r\n }\r\n else if ((JSON.parse(stepDetails.stepResponse))[\"TestOutputData\"][5]['SOnumber'] != undefined) {\r\n let entityId: string = this.escapeQuotes((JSON.parse(stepDetails.stepResponse))[\"TestOutputData\"][5]['SOnumber']);\r\n this.trackOrderRequest.entityIDs.push(entityId);\r\n\r\n }\r\n else if ((JSON.parse(stepDetails.stepResponse))[\"TestOutputData\"][11]['SalesOrderNumber'] != undefined) {\r\n let entityId: string = this.escapeQuotes((JSON.parse(stepDetails.stepResponse))[\"TestOutputData\"][11]['SalesOrderNumber']);\r\n this.trackOrderRequest.entityIDs.push(entityId);\r\n }\r\n else {\r\n let entityId: string = this.escapeQuotes((JSON.parse(stepDetails.stepResponse))[\"TestOutputData\"][13]['SalesOrderNumber']);\r\n this.trackOrderRequest.entityIDs.push(entityId);\r\n }\r\n }\r\n else if (stepDetails.trackingType.toLowerCase() == 'makepurchaseorder') {\r\n if (JSON.parse(stepDetails.stepResponse).hasOwnProperty('EX_PO_NUMBERS')) {\r\n let entityId: string = (JSON.parse(stepDetails.stepResponse))['EX_PO_NUMBERS'][0]['EBELN'];\r\n this.trackOrderRequest.entityIDs.push(entityId);\r\n } else if (JSON.parse(stepDetails.stepResponse).hasOwnProperty('customerPurchaseOrderNumber')) {\r\n return (JSON.parse(stepDetails.stepResponse))['customerPurchaseOrderNumber']\r\n }\r\n }\r\n if (this.trackOrderRequest.entityIDs != undefined && this.trackOrderRequest.entityIDs != null && this.trackOrderRequest.entityIDs.length != 0) {\r\n this.trackOrderEventsDetails(false);\r\n }\r\n }\r\n this.storeEventMetadata(testRunIndex, scenarioIndex, stepIndex);\r\n }\r\n\r\n /*\r\n For CodeQL: [SM02383] Incomplete string escaping or encoding\r\n */\r\n private escapeQuotes(s: string) {\r\n return s.replace(/'/g, \"''\");\r\n }\r\n\r\n getTrackingID(testRunIndex: number, scenarioIndex: number, stepIndex: number) {\r\n const stepDetails = this.testRunsList[testRunIndex].scenariosDetailsList[scenarioIndex].stepsDetailsList[stepIndex];\r\n return this.computeTrackingID(stepDetails);\r\n }\r\n\r\n disableTracking(testRunIndex: number, scenarioIndex: number, stepIndex: number) {\r\n const stepDetails = this.testRunsList[testRunIndex].scenariosDetailsList[scenarioIndex].stepsDetailsList[stepIndex];\r\n if (stepDetails.trackingType.toLocaleLowerCase() == \"marketplacesalesorder\") {\r\n return false;\r\n }\r\n if (JSON.parse(stepDetails.stepResponse).hasOwnProperty('TestOutputData')) {\r\n return true;\r\n }\r\n return false;\r\n }\r\n\r\n /**\r\n * Get Order ID which can be tracked for events from this step.\r\n * @param stepDetails Test Run step\r\n */\r\n computeTrackingID(stepDetails: TestRunStepsDetails) {\r\n this.disableLink = false;\r\n let stepJsonResponse = JSON.parse(stepDetails.stepResponse);\r\n let stepJsonResponseTestOutputData = (stepJsonResponse)[\"TestOutputData\"]\r\n if (stepDetails.trackingType.toLowerCase() == 'returnserviceorder') {\r\n return (stepJsonResponse)['ServiceOrderNumber'];\r\n } else if (stepDetails.trackingType.toLowerCase() == 'outboundcustpurchaseorder') {\r\n return (stepJsonResponse)['customerPurchaseOrderNumber'];\r\n }\r\n else if (stepDetails.trackingType.toLowerCase() == '3ppsalesorder') {\r\n return (stepJsonResponse)['customerPurchaseOrderNumber'];\r\n }\r\n else if (stepDetails.trackingType.toLowerCase() == 'marketplacesalesorder') {\r\n let getSoNumber = this.getItemValueBasedOnKey(stepJsonResponseTestOutputData, \"SOnumber\")\r\n let getSalesOrderNumber = this.getItemValueBasedOnKey(stepJsonResponseTestOutputData, \"SalesOrderNumber\")\r\n if (getSoNumber != undefined) {\r\n return this.escapeQuotes(getSoNumber);\r\n }\r\n else if (getSalesOrderNumber != undefined) {\r\n return this.escapeQuotes(getSalesOrderNumber);\r\n }\r\n } else if (stepDetails.trackingType.toLowerCase() == '3pppurchaseorder') {\r\n return (stepJsonResponse)['EX_PO_NUMBERS'][0]['EBELN'];\r\n }\r\n else if (stepDetails.trackingType.toLowerCase() == 'ato_directship_custpurchaseorder') {\r\n if (stepJsonResponse.hasOwnProperty('TestOutputData') && Array.isArray(stepJsonResponseTestOutputData)) {\r\n this.disableLink = true;\r\n return this.getItemValueBasedOnKey(stepJsonResponseTestOutputData, \"PurchaseOrder\")\r\n } else {\r\n return (stepJsonResponse)[\"customerPurchaseOrderNumber\"]\r\n }\r\n }\r\n else if (stepDetails.trackingType.toLowerCase() == 'makepurchaseorder') {\r\n if (stepJsonResponse.hasOwnProperty('EX_PO_NUMBERS')) {\r\n return stepJsonResponse['EX_PO_NUMBERS'][0]['EBELN'];\r\n } else if (stepJsonResponse.hasOwnProperty('TestOutputData') && Array.isArray(stepJsonResponseTestOutputData)) {\r\n this.disableLink = true;\r\n let twoLeg = this.getItemValueBasedOnKey(stepJsonResponseTestOutputData, \"2Leg_PO\");\r\n if (twoLeg != undefined) {\r\n const oneLeg = this.getItemValueBasedOnKey(stepJsonResponseTestOutputData, \"1LEG_PO\");\r\n return oneLeg.concat(\", \", twoLeg);\r\n } else {\r\n return this.getItemValueBasedOnKey(stepJsonResponseTestOutputData, \"1LEG_PO\");\r\n }\r\n }\r\n else if (stepJsonResponse['response']['resultsSummary'][0]['resultAttributeValues']['Test Output Data'] != undefined) {\r\n let testOutputDataResponse = stepJsonResponse['response']['resultsSummary'][0]['resultAttributeValues']['Test Output Data'];\r\n let keyValuePairs = testOutputDataResponse.split(';').map(pair => pair.trim());\r\n let jsonData = {};\r\n // Iterate over each key-value pair\r\n keyValuePairs.forEach(pair => {\r\n // Split each pair by the first occurrence of \":\"\r\n const index = pair.indexOf(':');\r\n const key = pair.substring(0, index).trim();\r\n const value = pair.substring(index + 1).trim();\r\n // Assign the key-value pair to the jsonData object\r\n jsonData[key] = value;\r\n });\r\n return jsonData['Primary PO or SO Number'] ? jsonData['Primary PO or SO Number'] : \"\";\r\n }\r\n }\r\n return \"\";\r\n }\r\n\r\n /**\r\n * Get value from array list based on key.\r\n * @param arrayList List of array from which value is extracted from.\r\n * @param key Key property used extract value.\r\n */\r\n getItemValueBasedOnKey(arrayList: any, key: any) {\r\n for (let index = 0; index < arrayList.length; index++) {\r\n const element = arrayList[index];\r\n if (element.hasOwnProperty(key)) {\r\n return arrayList[index][key];\r\n }\r\n }\r\n return undefined;\r\n }\r\n\r\n /**\r\n * Get url parameters which can be used to navigate to /entitytracking route.\r\n * @param testRunIdx Index in the master array which represents this Test Run.\r\n */\r\n getTrackingUrlParams(testRunIdx: number) {\r\n let testRun = this.testRunsList[testRunIdx];\r\n let trackingType = testRun.trackingType;\r\n let trackingIDs = testRun.trackingIDs;\r\n let scenario = \"\";\r\n let orderType = \"\";\r\n trackingType = trackingType.toLocaleLowerCase();\r\n for (let i = 0; i < this.trackingMap.length; ++i) {\r\n if (this.trackingMap[i].TrackingType.toLocaleLowerCase() == trackingType) {\r\n scenario = this.trackingMap[i].Scenario;\r\n orderType = this.trackingMap[i].EntityType;\r\n break;\r\n }\r\n }\r\n return {\r\n 'scenario': scenario,\r\n 'type': orderType,\r\n 'ids': trackingIDs\r\n };\r\n }\r\n\r\n /** \r\n @param correlationId represents the ID of the Test Run case\r\n */\r\n getCloneRequestParams(correlationId: string) {\r\n //find the testRunCorrelationID\r\n return ({\r\n org: this.organizationId.toString(),\r\n searchId: correlationId\r\n });\r\n }\r\n\r\n retriggerTestRunScenario(run: TestRunsItemDetails, correlationId: string, retriggerResponseModal: any, retriggerConfirmationModal: any) {\r\n this.manageTestRunsService.ngxLoaderConfig.text = 'Storing Test Runs Inputs Details! Please Wait!';\r\n this.testRuntoRetrigger = new TestRunInputsDetails();\r\n this.testRuntoRetrigger.userEmail = this.email;\r\n this.testRuntoRetrigger.userName = this.name;\r\n let scenario: TestRunScenariosDetails = run.scenariosDetailsList.find(x => x.correlationId == correlationId);\r\n this.testRuntoRetrigger.verticalName = scenario.verticalName;\r\n this.testRuntoRetrigger.sectionName = scenario.sectionName\r\n this.testRuntoRetrigger.partnerOrgName = \"\";\r\n this.testRuntoRetrigger.businessProcessName = '';\r\n this.testRuntoRetrigger.onboardingName = \"\";\r\n let scenarioInputsModel = new ScenariosInputsModel();\r\n\r\n scenarioInputsModel.scenarioId = scenario.scenarioId;\r\n scenarioInputsModel.scenarioName = scenario.scenarioName;\r\n scenarioInputsModel.flavourId = scenario.flavourId;\r\n scenarioInputsModel.flavourName = scenario.flavourName;\r\n\r\n let userInput: Object = JSON.parse(scenario.stepsDetailsList[0].userInput);\r\n let fieldsToRemove: string[] = [\"actionCode\", \"orderType\", \"partner\", \"receiverSystem\", \"productType\", \"fulfillmentMethod\", \"lineitems\"];\r\n fieldsToRemove.forEach(key => {\r\n if (userInput.hasOwnProperty(key)) {\r\n delete userInput[key];\r\n }\r\n });\r\n scenarioInputsModel.inputsModel = userInput\r\n this.testRuntoRetrigger.inputsJsonDetails = \"[\" + JSON.stringify(scenarioInputsModel) + \"]\";\r\n this.headerText = \"Do you want to retrigger this test case with same parameters?\"\r\n this.modalService.open(retriggerConfirmationModal, { ariaLabelledBy: 'modal-basic-title', backdrop: 'static' }).result.then((result) => {\r\n if (this.retriggerTestRunName != \"\") {\r\n this.testRuntoRetrigger.testRunName = this.retriggerTestRunName;\r\n }\r\n else {\r\n this.testRuntoRetrigger.testRunName = run.testRunName + \"clone\";\r\n }\r\n if (result == \"Retrigger\") {\r\n this.submitTestRun(retriggerResponseModal);\r\n }\r\n else {\r\n //do nothing\r\n }\r\n });\r\n }\r\n\r\n submitTestRun(retriggerResponseModal: any) {\r\n this.ngxLoader.start();\r\n this.manageTestRunsService.storeTestRunsDetails(this.testRuntoRetrigger).subscribe((response: string[]) => {\r\n if (response != null && response.length > 0) {\r\n this.headerText = 'Test Run Created Successfully!';\r\n this.bodyText = 'Test Run Created Successfully! Please click OK to navigate to the test run!'\r\n this.modalService.open(retriggerResponseModal, { ariaLabelledBy: 'modal-basic-title', backdrop: 'static' }).result.then((result) => {\r\n if (result == \"Navigate\") {\r\n let correlationId = response[0];\r\n this.searchText = correlationId;\r\n this.router.navigate(['/manage-testruns', {\r\n 'org': this.organizationId.toString(),\r\n 'searchId': this.searchText\r\n }]);\r\n }\r\n });\r\n } else {\r\n this.headerText = 'Test Run Creation Failed!';\r\n this.bodyText = 'Test Run Creation Failed! Please try again later!'\r\n this.modalService.open(retriggerResponseModal, { ariaLabelledBy: 'modal-basic-title', backdrop: 'static' }).result.then((result) => {\r\n });\r\n }\r\n this.ngxLoader.stop();\r\n }, (error: any) => {\r\n this.ngxLoader.stop();\r\n this.headerText = 'Test Run Creation Failed!';\r\n this.bodyText = 'Test Run Creation Failed! Please try again later!'\r\n this.modalService.open(retriggerResponseModal, { ariaLabelledBy: 'modal-basic-title', backdrop: 'static' }).result.then((result) => {\r\n });\r\n });\r\n }\r\n\r\n trackOrderEventsDetails(resetStorage: boolean) {\r\n const parent = this;\r\n parent.manageTestRunsService.ngxLoaderConfig.text = 'Loading Order Events Details! Please Wait!';\r\n parent.ngxLoader.start();\r\n if (resetStorage) {\r\n parent.trackOrderRequest.entityIDs.push(parent.searchText);\r\n if (this.sidebarOpened) {\r\n this.toggleSidebar();\r\n }\r\n }\r\n if (parent.trackOrderRequest.entityIDs != undefined && parent.trackOrderRequest.entityIDs != null && parent.trackOrderRequest.entityIDs.length > 0) {\r\n parent.manageTestRunsService.getOrderEventsDetails(parent.trackOrderRequest).subscribe((response: TrackOrderResponse) => {\r\n if (response != undefined && response != null && response.payload != undefined && response.payload != null && response.payload != '') {\r\n parent.trackOrderResponse = response;\r\n if (resetStorage) {\r\n parent.loadTrackEvents = true;\r\n parent.totalTestRunsCount = parent.testRunsList.length;\r\n parent.selectedTestRunId = parent.testRunsList[0].testRunId;\r\n parent.populateTrackingInfo(parent.testRunsList[0]);\r\n }\r\n else {\r\n parent.loadTrackEvents = false;\r\n parent.trackingEventsList = parent.formJsonObject(response.events);\r\n parent.eventPayload = response.payload;\r\n if (!parent.sidebarOpened) {\r\n parent.toggleSidebar();\r\n }\r\n }\r\n parent.ngxLoader.stop();\r\n } else {\r\n parent.trackingEventsList = [];\r\n parent.eventPayload = '';\r\n if (!parent.sidebarOpened) {\r\n parent.toggleSidebar();\r\n }\r\n parent.ngxLoader.stop();\r\n }\r\n }, (error: any) => {\r\n this.logger.trackTrace(`In manage testruns, track Order Events Details Error ${error}`);\r\n this.logger.trackException(error);\r\n parent.ngxLoader.stop();\r\n });\r\n }\r\n }\r\n\r\n formJsonObject(events: Events[]) {\r\n for (let i = 0; i < events.length; i++) {\r\n if (events[i].eventName == \"Errors\") {\r\n events[i].eventMessage = JSON.parse(events[i].eventMessage);\r\n }\r\n }\r\n return events;\r\n }\r\n\r\n makeRandomString(lengthOfCode: number) {\r\n let possible = 'ABCDEFGHIJKLMNOPQRSTUVWXYZ1234567890';\r\n let text = '';\r\n for (let i = 0; i < lengthOfCode; i++) {\r\n text += possible.charAt(Math.floor(Math.random() * possible.length));\r\n }\r\n return text;\r\n }\r\n\r\n getEventTime(eventDate: string, eventTime: string) {\r\n let localTime = '';\r\n if (eventTime != undefined && eventTime != null && eventTime != '') {\r\n const time = new Date(eventTime);\r\n localTime = time.toLocaleTimeString([], { hour: '2-digit', minute: '2-digit' });\r\n }\r\n else if (eventDate != undefined && eventDate != null && eventDate != '') {\r\n const time = new Date(eventDate);\r\n localTime = time.toLocaleTimeString([], { hour: '2-digit', minute: '2-digit' });\r\n }\r\n return localTime;\r\n }\r\n\r\n showChildScenarios() {\r\n this.isShowChildScenarios = !this.isShowChildScenarios;\r\n }\r\n\r\n formTestRunFromTrackEvent() {\r\n let itemDetails = new TestRunsItemDetails();\r\n itemDetails.scenariosDetailsList = [];\r\n let statusCount = new TestRunStatusCount();\r\n let testRunScenariosDetails = new TestRunScenariosDetails();\r\n testRunScenariosDetails.stepsDetailsList = [];\r\n let testRunStepsDetails = new TestRunStepsDetails();\r\n itemDetails.testRunId = this.makeRandomString(40);\r\n itemDetails.testRunName = (this.searchEntities.filter(x => x.entityType.toLowerCase() == this.trackOrderRequest.entityType.toLowerCase())[0].entityName + ' Search');\r\n itemDetails.executionDate = '';\r\n statusCount.complete = 1;\r\n itemDetails.statusCounts = statusCount;\r\n testRunStepsDetails.componentId = 0;\r\n testRunStepsDetails.componentName = this.searchEntities.filter(x => x.entityType.toLowerCase() == this.trackOrderRequest.entityType.toLowerCase())[0].entityName;\r\n testRunStepsDetails.componentDescription = this.searchEntities.filter(x => x.entityType.toLowerCase() == this.trackOrderRequest.entityType.toLowerCase())[0].entityDesc;\r\n testRunStepsDetails.displayTracking = true;\r\n testRunStepsDetails.stepStatus = 'Complete';\r\n testRunStepsDetails.stepRank = 1;\r\n testRunStepsDetails.componentCreated = '';\r\n testRunStepsDetails.componentLastModified = '';\r\n testRunStepsDetails.userInput = '';\r\n testRunStepsDetails.eventsList = this.formJsonObject(this.trackOrderResponse.events);\r\n testRunStepsDetails.trackingType = this.trackOrderRequest.entityType;\r\n testRunStepsDetails.stepResponse = this.formStepResponse();\r\n testRunStepsDetails.isChildStep = false;\r\n testRunStepsDetails.parentCorrelationID = '';\r\n testRunStepsDetails.childScenariosList = [];\r\n\r\n testRunScenariosDetails.scenarioId = 1;\r\n testRunScenariosDetails.flavourId = 1;\r\n testRunScenariosDetails.scenarioName = '';\r\n testRunScenariosDetails.flavourName = '';\r\n testRunScenariosDetails.executionDate = '';\r\n testRunScenariosDetails.correlationId = '';\r\n testRunScenariosDetails.isVisible = true;\r\n testRunScenariosDetails.stepsDetailsList.push(testRunStepsDetails);\r\n itemDetails.scenariosDetailsList.push(testRunScenariosDetails);\r\n return itemDetails;\r\n }\r\n\r\n formStepResponse() {\r\n let payloadJson = JSON.parse(this.trackOrderResponse.payload);\r\n if (this.trackOrderRequest.entityType.toLowerCase() == 'returnserviceorder') {\r\n payloadJson['ServiceOrderNumber'] = [...this.trackOrderRequest.entityIDs];\r\n }\r\n else if (this.trackOrderRequest.entityType.toLowerCase() == '3pppurchaseorder') {\r\n payloadJson['EX_PO_NUMBERS'] = [{ \"EBELN\": \"\" }];\r\n payloadJson['EX_PO_NUMBERS'][0]['EBELN'] = [...this.trackOrderRequest.entityIDs];\r\n }\r\n else if (this.trackOrderRequest.entityType.toLowerCase() == 'makepurchaseorder') {\r\n payloadJson['EX_PO_NUMBERS'] = [{ \"EBELN\": \"\" }];\r\n payloadJson['EX_PO_NUMBERS'][0]['EBELN'] = [...this.trackOrderRequest.entityIDs];\r\n }\r\n return JSON.stringify(payloadJson);\r\n }\r\n\r\n /**\r\n * Populate additional properties in Test Run after fresh loading it from database\r\n * @param testRun Test Run item to be updated\r\n */\r\n populateTrackingInfo(testRun: TestRunDetails) {\r\n testRun.trackingType = \"\";\r\n testRun.trackingIDs = [];\r\n\r\n for (var i = 0; i < (testRun.scenariosDetailsList || []).length; ++i) {\r\n for (var j = 0; j < (testRun.scenariosDetailsList[i].stepsDetailsList || []).length; ++j) {\r\n let step = testRun.scenariosDetailsList[i].stepsDetailsList[j];\r\n if (step.trackingType) {\r\n testRun.trackingType = step.trackingType;\r\n }\r\n\r\n try {\r\n let trackingId = this.computeTrackingID(step) || \"\";\r\n let stepResponse = JSON.parse(step.stepResponse);\r\n if (trackingId.length > 0) {\r\n // manage special case of ATO (Direct Ship scenario), we get Cust PO alread earlier, don't need any other Order ID\r\n if (!stepResponse.hasOwnProperty('TestOutputData')) {\r\n testRun.trackingIDs.push(trackingId);\r\n // For the case BTS (Build to Stock), as we are starting the tracking from worksoft response, we are explicity adding trackingId. \r\n } else if (step.trackingType.toLowerCase() == \"makepurchaseorder\") {\r\n testRun.trackingIDs.push(trackingId);\r\n }\r\n }\r\n } catch (err) {\r\n this.logger.trackTrace(`Manage Testruns, populate Tracking Info Error ${err}`);\r\n this.logger.trackException(err);\r\n /* This is an error in getting the necessary order id from the test run details */\r\n /* Intentionally ignore this error */\r\n }\r\n }\r\n }\r\n }\r\n\r\n getTestRunsStatusCounts(testRunsDetails: TestRunsItemDetails[]) {\r\n if (testRunsDetails.length > 0) {\r\n for (let i = 0; i < testRunsDetails.length; i++) {\r\n const testRunDetails = testRunsDetails[i];\r\n for (let j = 0; j < testRunDetails.scenariosDetailsList.length; j++) {\r\n const scenarioDetails = testRunDetails.scenariosDetailsList[j];\r\n\r\n const step = scenarioDetails.stepsDetailsList.filter(x => x.stepStatus != '' && x.stepStatus.toLowerCase() != 'waiting').sort((a, b) => b.stepRank - a.stepRank);\r\n if (step != undefined && step != null && step.length > 0) {\r\n const stepRankId = step[0].stepRank;\r\n const status = scenarioDetails.stepsDetailsList.filter(y => y.stepRank == stepRankId)[0].stepStatus.toLowerCase();\r\n testRunDetails.statusCounts[status] += 1;\r\n }\r\n else {\r\n testRunDetails.statusCounts['waiting'] += 1;\r\n }\r\n }\r\n testRunsDetails[i] = testRunDetails;\r\n }\r\n }\r\n return testRunsDetails;\r\n }\r\n\r\n showTestRunDetails(testRunIndex: number) {\r\n this.scrollPositionChange = false;\r\n this.isShowChildScenarios = false;\r\n this.manageTestRunsService.ngxLoaderConfig.text = 'Loading Test Run Details! Please wait!';\r\n this.ngxLoader.start();\r\n if (this.selectedTestRunId === this.testRunsList[testRunIndex].testRunId) {\r\n this.selectedTestRunIndex = -1;\r\n this.selectedTestRunId = undefined;\r\n this.selectedTestRun = undefined;\r\n this.displayDetailedView = false;\r\n this.ngxLoader.stop();\r\n clearInterval(this.refreshInterval);\r\n } else {\r\n this.selectedTestRunIndex = testRunIndex;\r\n this.selectedTestRunId = this.testRunsList[testRunIndex].testRunId;\r\n this.childPageNumber = 0;\r\n this.statusFilter = 0;\r\n this.testRunsFetchInputs.isExport = false;\r\n this.testRunsFetchInputs.statusFilter = 'All';\r\n let disableLoad: boolean = false;\r\n let isRefresh = true;\r\n this.refreshTestcaseAuto(testRunIndex, this.selectedTestRunId, isRefresh, disableLoad)\r\n\r\n\r\n\r\n }\r\n }\r\n\r\n getScenarioExecutionTime(testRunIndex: number, scenarioIndex: number) {\r\n const testScenario = this.testRunsList[testRunIndex].scenariosDetailsList[scenarioIndex];\r\n let startDate: any;\r\n let endDate: any;\r\n startDate = new Date(testScenario.stepsDetailsList[0].componentCreated);\r\n for (let i = testScenario.stepsDetailsList.length - 1; i >= 0; i--) {\r\n if (testScenario.stepsDetailsList[i].stepStatus.toLowerCase() != 'waiting' && testScenario.stepsDetailsList[i].stepStatus.toLowerCase() != '') {\r\n endDate = new Date(testScenario.stepsDetailsList[i].componentLastModified);\r\n break;\r\n }\r\n }\r\n const diffMs = (endDate - startDate); // milliseconds between now & Christmas\r\n const diffDays = Math.floor(diffMs / 86400000); // days\r\n const diffHrs = Math.floor((diffMs % 86400000) / 3600000); // hours\r\n const diffMins = Math.abs(Math.round(diffMs / 60000)); // minutes\r\n return diffMins;\r\n }\r\n\r\n // Show ETA for a scenario only if there is no error step and the whole scenario is not completed\r\n shouldShowScenarioETA(testRunIndex: number, scenarioIndex: number) {\r\n const testScenario = this.testRunsList[testRunIndex].scenariosDetailsList[scenarioIndex];\r\n let completedStepsCount = 0;\r\n\r\n for (let i = 0; i < testScenario.stepsDetailsList.length; i++) {\r\n const stepStatus = testScenario.stepsDetailsList[i].stepStatus.toLowerCase();\r\n if (stepStatus === 'complete') {\r\n completedStepsCount += 1;\r\n } else if (stepStatus === 'error') {\r\n return false;\r\n }\r\n }\r\n\r\n return !(completedStepsCount === testScenario.stepsDetailsList.length);\r\n }\r\n\r\n shouldShowStepETA(testRunIndex: number, scenarioIndex: number, stepIndex: number) {\r\n const testScenario = this.testRunsList[testRunIndex].scenariosDetailsList[scenarioIndex];\r\n const currentStep = testScenario.stepsDetailsList[stepIndex];\r\n const previousStep = stepIndex > 0 ? testScenario.stepsDetailsList[stepIndex - 1] : null;\r\n const currentStepStatus = currentStep.stepStatus.toLowerCase();\r\n const previousStepStatus = previousStep != null ? previousStep.stepStatus.toLowerCase() : '';\r\n\r\n return currentStepStatus === 'start' ||\r\n currentStepStatus === 'processing' ||\r\n currentStepStatus === 'ready' ||\r\n currentStepStatus === 'pending' ||\r\n (previousStepStatus === 'complete' && currentStepStatus === '');\r\n }\r\n\r\n getStepStyleClass(status: string, loadIcon: boolean) {\r\n status = status.toLowerCase();\r\n let stepClass = '';\r\n if (loadIcon) {\r\n switch (status) {\r\n case \"start\":\r\n stepClass = 'fa-cog';\r\n break;\r\n case \"ready\":\r\n stepClass = 'fa-cog';\r\n break;\r\n case \"processing\":\r\n stepClass = 'fa-cog';\r\n break;\r\n case \"pending\":\r\n stepClass = 'fa-clock-o';\r\n break;\r\n case \"complete\":\r\n stepClass = 'fa-check';\r\n break;\r\n case \"error\":\r\n stepClass = 'fa-exclamation';\r\n break;\r\n case \"skipped\":\r\n stepClass = 'fa-fast-forward';\r\n break;\r\n default:\r\n stepClass = 'fa-hourglass';\r\n }\r\n }\r\n stepClass += (' md-step-circle-' + (status == '' ? 'waiting' : status));\r\n return stepClass;\r\n }\r\n\r\n filterTestScenarios(testRunIndex: number, isRefresh: boolean = false, isExport: boolean = false) {\r\n const parent = this;\r\n parent.manageTestRunsService.ngxLoaderConfig.text = isExport ? 'Preparing Test Runs for Export! Please wait!' : 'Loading Test Run Scenarios Details! Please wait!';\r\n parent.ngxLoader.start();\r\n if (parent.statusFilter === undefined || parent.statusFilter === null)\r\n parent.statusFilter = 0;\r\n parent.testRunsFetchInputs.userEmail = parent.testRunsList[testRunIndex].userEmail;\r\n parent.testRunsFetchInputs.testRunId = parent.testRunsList[testRunIndex].testRunId;\r\n parent.testRunsFetchInputs.organizationId = parent.organizationId;\r\n parent.testRunsFetchInputs.statusFilter = parent.filterItems.find(x => x.id === parent.statusFilter).name;\r\n if (isExport) {\r\n if (parent.testRunsFetchInputs.statusFilter === 'All') {\r\n for (const [key, value] of Object.entries(this.selectedTestRun.statusCounts)) {\r\n if (value > 0) {\r\n parent.testRunsFetchInputs.statusFilter = parent.filterItems.find(x => x.name.toLowerCase() === key.toLowerCase()).name;\r\n parent.statusFilter = parent.filterItems.find(x => x.name.toLowerCase() === key.toLowerCase()).id;\r\n break;\r\n }\r\n }\r\n }\r\n parent.testRunsFetchInputs.isExport = parent.statusFilter > 0 && isExport;\r\n parent.manageTestRunsService.getTestRunsExportDetails(parent.testRunsFetchInputs).subscribe((response: TestRunExportResponse[]) => {\r\n if (response != null) {\r\n parent.prepareExportDetails(response);\r\n parent.ngxLoader.stop();\r\n } else {\r\n parent.ngxLoader.stop();\r\n }\r\n }, (error: any) => {\r\n parent.ngxLoader.stop();\r\n });\r\n } else {\r\n parent.childPageNumber = (parent.testRunsFetchInputs.pageNumber < 1 || isRefresh) ? 1 : parent.childPageNumber + 1;\r\n parent.testRunsFetchInputs.pageNumber = parent.childPageNumber;\r\n parent.manageTestRunsService.getTestRunsDetails(parent.testRunsFetchInputs).subscribe((response: TestRunsDetails) => {\r\n if (response != null) {\r\n if (isRefresh) {\r\n parent.testRunsList[testRunIndex].scenariosDetailsList = JSON.parse(JSON.stringify(response.testRunsItemDetailsList[0].scenariosDetailsList));\r\n parent.selectedTestRun.scenariosDetailsList = JSON.parse(JSON.stringify(response.testRunsItemDetailsList[0].scenariosDetailsList));\r\n }\r\n else {\r\n Array.prototype.push.apply(parent.testRunsList[testRunIndex].scenariosDetailsList, response.testRunsItemDetailsList[0].scenariosDetailsList);\r\n Array.prototype.push.apply(parent.selectedTestRun.scenariosDetailsList, response.testRunsItemDetailsList[0].scenariosDetailsList);\r\n }\r\n if (!parent.testRunsList[testRunIndex].isMultiPayload && parent.testRunsList[testRunIndex].scenariosDetailsList.length <= 10 && parent.selectedTestRunId !== parent.testRunsList[testRunIndex].testRunId) {\r\n parent.selectedTestRunId = parent.testRunsList[testRunIndex].testRunId;\r\n }\r\n parent.ngxLoader.stop();\r\n } else {\r\n parent.ngxLoader.stop();\r\n }\r\n }, (error: any) => {\r\n parent.ngxLoader.stop();\r\n });\r\n }\r\n }\r\n\r\n isValidJSON(object: string) {\r\n try {\r\n JSON.parse(object);\r\n return true;\r\n }\r\n catch {\r\n return false;\r\n }\r\n }\r\n\r\n getValidJSONObject(object: string) {\r\n object = object.replace('{\"\"', '{\"').replace(',\"\"', ',\"');\r\n if (object == '') {\r\n return object;\r\n } else {\r\n if (/^[\\],:{}\\s]*$/.test(object.replace(/\\\\[\"\\\\\\/bfnrtu]/g, '@').replace(/\"[^\"\\\\\\n\\r]*\"|true|false|null|-?\\d+(?:\\.\\d*)?(?:[eE][+\\-]?\\d+)?/g, ']').replace(/(?:^|:|,)(?:\\s*\\[)+/g, ''))) {\r\n return JSON.parse(object);\r\n } else if (object.charAt(0).toLowerCase() != '[' && object.charAt(0).toLowerCase() != '{') {\r\n return { object };\r\n } else {\r\n try {\r\n return JSON.parse(object);\r\n } catch {\r\n return { object };\r\n }\r\n }\r\n }\r\n }\r\n\r\n getMultipathValue(processModel: any, xpath: string, result: string) {\r\n if (xpath.indexOf('.') >= 0) {\r\n if (Array.isArray(processModel)) {\r\n for (let p = 0; p < processModel.length; p++) {\r\n result = this.getMultipathValue(processModel[p], xpath, result);\r\n }\r\n }\r\n else {\r\n var array = xpath.split('.');\r\n for (let i = 0; i < array.length; i++) {\r\n var element = processModel[array[i]];\r\n if (element != undefined && element != null) {\r\n var firstDot = xpath.match(/\\./);\r\n xpath = xpath.substring(firstDot.index + 1);\r\n if (Array.isArray(element)) {\r\n result = this.getMultipathValue(element, xpath, result);\r\n }\r\n else {\r\n processModel = element;\r\n }\r\n }\r\n else {\r\n return result;\r\n }\r\n }\r\n }\r\n }\r\n else {\r\n if (Array.isArray(processModel)) {\r\n for (let p = 0; p < processModel.length; p++) {\r\n result += (processModel[p][xpath] != undefined && processModel[p][xpath] != null) ? (processModel[p][xpath] + '~') : '';\r\n }\r\n }\r\n else {\r\n result += (processModel[xpath] != undefined && processModel[xpath] != null) ? (processModel[xpath] + '~') : '';\r\n }\r\n }\r\n return result.substring(0, result.lastIndexOf('~'));\r\n }\r\n\r\n getFormattedErrorDetails(stepResponse: string, errorKeys: string, errorMessages: string) {\r\n let errorDetails = [];\r\n if (errorKeys != undefined && errorKeys != null && errorKeys != '') {\r\n const response = this.getValidJSONObject(stepResponse);\r\n const errorArray = errorKeys.indexOf(',') >= 0 ? errorKeys.split(',') : errorKeys;\r\n if (isArray(errorKeys)) {\r\n for (let index = 0; index < errorArray.length; index++) {\r\n const element = errorArray[index];\r\n const result = this.getMultipathValue(response, element, '');\r\n if (result != '') {\r\n errorDetails.push(result.indexOf('~') >= 0 ? result.split('~') : result);\r\n }\r\n }\r\n }\r\n else {\r\n const result = this.getMultipathValue(response, errorKeys, '');\r\n if (result != '') {\r\n errorDetails.push(result);\r\n }\r\n }\r\n }\r\n if (errorMessages != undefined && errorMessages != null && errorMessages != '' && errorDetails.length <= 0) {\r\n return errorMessages;\r\n }\r\n return JSON.stringify(errorDetails);\r\n }\r\n\r\n getRestartStepStatus(conditions: any, responseObject: string) {\r\n let status = true;\r\n\r\n if (this.isValidJSON(responseObject)) {\r\n const response = this.getValidJSONObject(responseObject);\r\n const path = conditions[\"path\"];\r\n const op = conditions[\"operator\"];\r\n const rhs = conditions[\"value\"].toLowerCase();\r\n\r\n let lhs;\r\n if (response[\"path\"] != null || response[\"path\"] != undefined) {\r\n lhs = response[path].toLowerCase();\r\n } else {\r\n lhs = '';\r\n }\r\n\r\n switch (op) {\r\n case \"==\":\r\n status = lhs == rhs;\r\n break;\r\n case \"!=\":\r\n status = lhs != rhs;\r\n break;\r\n default:\r\n status = false;\r\n }\r\n }\r\n return status;\r\n }\r\n\r\n isRestartStepEnabled(restartCondition: string, responseObject: string) {\r\n let status = true;\r\n if (restartCondition != undefined && restartCondition != null && restartCondition != '') {\r\n const conditions = JSON.parse(restartCondition);\r\n if (isArray(conditions)) {\r\n for (let index = 0; index < conditions.length; index++) {\r\n const element = conditions[index];\r\n status = this.getRestartStepStatus(element, responseObject);\r\n if (status == false) {\r\n break;\r\n }\r\n }\r\n }\r\n else {\r\n status = this.getRestartStepStatus(conditions, responseObject);\r\n }\r\n }\r\n return status;\r\n }\r\n\r\n showPayloadDetails(responseModal: any, testRunIndex: number, scenarioIndex: number, stepIndex: number, childScenarioIndex: number, childStepIndex: number, isPrestep: boolean = false) {\r\n this.modalInputs.modalType = 'payload';\r\n this.modalInputs.headerText = 'Request/Response Details';\r\n this.modalInputs.errorPayload = '';\r\n this.modalInputs.refreshRestartDisabled = false;\r\n this.modalInputs.disableFileDownload = false;\r\n this.modalInputs.isPrestep = isPrestep;\r\n this.modalInputs.adoTestRunId = \"\";\r\n this.modalInputs.adoTestRunResultId = \"\";\r\n this.modalInputs.adoTestCaseId = \"\";\r\n this.modalInputs.showResponseDownload = true;\r\n this.modalInputs.showResponseJson = true;\r\n\r\n if (this.eventPayload != null && this.eventPayload != '' && testRunIndex <= 0) {\r\n this.modalInputs.requestPayload = '';\r\n this.modalInputs.responsePayload = this.getValidJSONObject(this.eventPayload);\r\n this.modalInputs.enableRestart = false;\r\n this.modalInputs.enableDownload = true;\r\n this.modalInputs.enableNextStep = false;\r\n }\r\n else {\r\n this.modalInputs.testRunIndex = testRunIndex;\r\n this.modalInputs.scenarioIndex = scenarioIndex;\r\n this.modalInputs.stepIndex = stepIndex;\r\n this.modalInputs.childScenarioIndex = childScenarioIndex;\r\n this.modalInputs.childStepIndex = childStepIndex;\r\n const stepDetails = isPrestep ? this.testRunsList[testRunIndex].testRunPrestepDetails.stepsDetailsList[stepIndex] : (childScenarioIndex > -1 ? this.testRunsList[testRunIndex].scenariosDetailsList[scenarioIndex].stepsDetailsList[stepIndex].childScenariosList[childScenarioIndex].stepsDetailsList[childStepIndex] : this.testRunsList[testRunIndex].scenariosDetailsList[scenarioIndex].stepsDetailsList[stepIndex]);\r\n const scenariosList = isPrestep ? this.testRunsList[testRunIndex].testRunPrestepDetails : (childScenarioIndex > -1 ? this.testRunsList[testRunIndex].scenariosDetailsList[scenarioIndex].stepsDetailsList[stepIndex].childScenariosList[childScenarioIndex] : this.testRunsList[testRunIndex].scenariosDetailsList[scenarioIndex]);\r\n this.testrunCorrelationId = scenariosList.correlationId;\r\n this.componentName = stepDetails.componentName;\r\n this.usetInputDetails = stepDetails.userInput;\r\n this.responseStep = stepDetails.stepResponse;\r\n this.modalInputs.requestPayload = this.getValidJSONObject(stepDetails.userInput);\r\n this.modalInputs.responsePayload = this.getValidJSONObject(stepDetails.stepResponse);\r\n this.modalInputs.componentMethod = stepDetails.componentMethod;\r\n this.modalInputs.componentUrl = stepDetails.componentUrl;\r\n this.modalInputs.enableDownload = false;\r\n const stepStatus = stepDetails.stepStatus.toLowerCase();\r\n this.modalInputs.enableForManualStep = stepDetails.isManualStep;\r\n if (stepStatus == 'error' || stepStatus == 'pending') {\r\n if (stepStatus == 'error') {\r\n this.modalInputs.enableNextStep = stepDetails.allowProceedOnError;\r\n this.modalInputs.enableRestart = this.isRestartStepEnabled(stepDetails.restartDisplayCondition, stepDetails.stepResponse);\r\n this.modalInputs.enableRefresh = stepDetails.enableRefresh;\r\n this.modalInputs.enableErrorEmail = stepDetails.enableErrorEmail;\r\n this.modalInputs.errorEmaillink = stepDetails.errorEmaillink;\r\n }\r\n this.modalInputs.errorPayload = this.getValidJSONObject(this.getFormattedErrorDetails(stepDetails.stepResponse, stepDetails.downloadErrorKey, stepDetails.customErrorMessages));\r\n this.error = this.getFormattedErrorDetails(stepDetails.stepResponse, stepDetails.downloadErrorKey, stepDetails.customErrorMessages);\r\n }\r\n else if (stepStatus == 'complete') {\r\n this.modalInputs.enableRestart = true;\r\n this.modalInputs.enableRefresh = this.modalInputs.componentMethod == 'GET' ? true : false;\r\n\r\n }\r\n else {\r\n this.modalInputs.enableRestart = false;\r\n this.modalInputs.enableNextStep = false;\r\n }\r\n }\r\n\r\n this.modalInputs.visibleSections = 0;\r\n\r\n if (this.modalInputs.requestPayload != '') {\r\n this.modalInputs.isVisibleRequest = true;\r\n this.modalInputs.visibleSections += 1;\r\n } else {\r\n this.modalInputs.isVisibleRequest = false;\r\n }\r\n\r\n if (this.modalInputs.responsePayload != '') {\r\n this.modalInputs.isVisibleResponse = true;\r\n this.modalInputs.visibleSections += 1;\r\n } else {\r\n this.modalInputs.isVisibleResponse = false;\r\n }\r\n\r\n if (this.modalInputs.errorPayload != undefined && this.modalInputs.errorPayload != null && this.modalInputs.errorPayload != '') {\r\n this.modalInputs.isVisibleError = true;\r\n this.modalInputs.visibleSections += 1;\r\n } else {\r\n this.modalInputs.isVisibleError = false;\r\n }\r\n\r\n try {\r\n //Cannot always be parsed to a valid JSON\r\n /** Disabling Restart/Refresh button based on specific Worksoft Testrun status */\r\n var responseObject = JSON.parse(this.responseStep);\r\n if (responseObject.hasOwnProperty(\"Status\") && (responseObject[\"Status\"] == 'WorksoftInfraIssue') || (responseObject.hasOwnProperty(\"TestOutputData\") && responseObject[\"Status\"] == 'failed')) {\r\n this.modalInputs.refreshRestartDisabled = true;\r\n }\r\n\r\n //Toggle enable/disable excel download button based on if file exists [FilePath property] or not in response result\r\n if ((responseObject).hasOwnProperty('TestOutputData')) {\r\n (responseObject)['TestOutputData'].forEach(r => {\r\n if (r.hasOwnProperty(\"FilePath\")) { this.modalInputs.disableFileDownload = true; }\r\n });\r\n }\r\n\r\n // enable Test Run Link to ADO\r\n if (responseObject.hasOwnProperty(\"ADO_Test_Run_Id\")) {\r\n this.modalInputs.adoTestRunId = responseObject.ADO_Test_Run_Id;\r\n this.modalInputs.adoTestRunResultId = responseObject.ADO_Test_Run_Result_Id;\r\n this.modalInputs.adoTestCaseId = responseObject.ADO_Test_Case_Id;\r\n this.modalInputs.showResponseDownload = false;\r\n this.modalInputs.showResponseJson = false;\r\n this.modalInputs.isVisibleRequest = false;\r\n this.modalInputs.visibleSections = 1;\r\n } else {\r\n this.modalInputs.adoTestRunId = \"\";\r\n this.modalInputs.adoTestRunResultId = \"\";\r\n this.modalInputs.adoTestCaseId = \"\";\r\n this.modalInputs.showResponseDownload = true;\r\n this.modalInputs.showResponseJson = true;\r\n }\r\n } catch (Error) {\r\n this.logger.trackException(Error.message);\r\n }\r\n\r\n this.modalService.open(responseModal, { ariaLabelledBy: 'modal-basic-title', backdrop: 'static', windowClass: \"myCustomModalClass\" }).result.then((result) => {\r\n this.logger.trackTrace(`In Manage Testruns, show Payload Details ${result} `);\r\n });\r\n }\r\n\r\n downloadPayload(event: string) {\r\n let fileName = '';\r\n if (this.eventPayload != null && this.eventPayload != '' && event == 'response') {\r\n let fileName = (this.searchText != undefined && this.searchText != null && this.searchText != '') ? this.searchText : [...this.trackOrderRequest.entityIDs];\r\n this.downloadTextFile(this.eventPayload, fileName + '.json');\r\n } else if (this.responseStep != null && this.responseStep !== '' && event == 'response') {\r\n fileName = this.componentName + this.testrunCorrelationId;\r\n console.log(this.responseStep)\r\n this.downloadTextFile(this.responseStep, \"response\" + fileName + '.json');\r\n } else if (this.usetInputDetails != null && this.usetInputDetails !== '' && event == 'request') {\r\n fileName = this.componentName + this.testrunCorrelationId;\r\n this.downloadTextFile(this.usetInputDetails, \"request\" + fileName + '.json');\r\n } else if (this.modalInputs.errorPayload != null && this.modalInputs.errorPayload !== '' && event == 'error') {\r\n fileName = this.componentName + this.testrunCorrelationId;\r\n this.downloadTextFile(this.error, \"error\" + fileName + '.json');\r\n } else if (this.responseStep != null && this.responseStep != '' && event == 'testrunreport') {\r\n var responseStepObject = JSON.parse(this.responseStep);\r\n if (responseStepObject.hasOwnProperty('TestOutputData')) {\r\n responseStepObject['TestOutputData'].forEach(e => {\r\n if (e.hasOwnProperty(\"FilePath\")) {\r\n fileName = e.FilePath.toString().split('\\\\').pop();\r\n this.downloadFileUsingSAS(fileName);\r\n }\r\n });\r\n }\r\n }\r\n }\r\n\r\n downloadFile(fileName: string) {\r\n if (fileName != '' && fileName != undefined) {\r\n const link = document.createElement('a');\r\n link.setAttribute('type', 'hidden');\r\n link.setAttribute('download', '');\r\n link.href = fileName;\r\n link.click();\r\n }\r\n }\r\n\r\n downloadTextFile(text: any, name: string) {\r\n const a = document.createElement('a');\r\n const type = name.split('.').pop();\r\n a.href = URL.createObjectURL(new Blob([text], { type: `text/${type === 'txt' ? 'plain' : type}` }));\r\n a.download = name;\r\n a.click();\r\n }\r\n\r\n startNextStepComponent(messageModal: any) {\r\n const parent = this;\r\n parent.manageTestRunsService.ngxLoaderConfig.text = 'Starting the Next Step Component of the Business Process (L4)! Please Wait!';\r\n parent.ngxLoader.start();\r\n let stepInput = new UpdateScenarioStepInput();\r\n const targetScenario = parent.modalInputs.isPrestep ? parent.testRunsList[parent.modalInputs.testRunIndex].testRunPrestepDetails : parent.modalInputs.childScenarioIndex > -1 ? parent.testRunsList[parent.modalInputs.testRunIndex].scenariosDetailsList[parent.modalInputs.scenarioIndex].stepsDetailsList[parent.modalInputs.stepIndex].childScenariosList[parent.modalInputs.childScenarioIndex] : parent.testRunsList[parent.modalInputs.testRunIndex].scenariosDetailsList[parent.modalInputs.scenarioIndex];\r\n stepInput.correlationId = targetScenario.correlationId;\r\n parent.correlationId = stepInput.correlationId\r\n stepInput.stepRank = targetScenario.stepsDetailsList[parent.modalInputs.stepIndex].stepRank;\r\n parent.modalInputs.modalType = 'response';\r\n if (!parent.modalInputs.isPrestep && parent.testRunsList[parent.modalInputs.testRunIndex].scenariosDetailsList[parent.modalInputs.scenarioIndex].stepsDetailsList[parent.modalInputs.stepIndex].isManualStep && parent.testRunsList[parent.modalInputs.testRunIndex].scenariosDetailsList[parent.modalInputs.scenarioIndex].stepsDetailsList[parent.modalInputs.stepIndex].stepStatus === 'Complete') {\r\n stepInput.completeCurrentStep = true;\r\n }\r\n parent.manageTestRunsService.startScenarioStep(stepInput).subscribe((response) => {\r\n if (response) {\r\n parent.testRunsList[parent.modalInputs.testRunIndex].statusCounts.error -= 1;\r\n parent.testRunsList[parent.modalInputs.testRunIndex].statusCounts.start += 1;\r\n if (parent.modalInputs.isPrestep) {\r\n parent.testRunsList[parent.modalInputs.testRunIndex].testRunPrestepDetails.stepsDetailsList[parent.modalInputs.stepIndex].stepStatus = 'Skipped';\r\n parent.testRunsList[parent.modalInputs.testRunIndex].testRunPrestepDetails.stepsDetailsList[parent.modalInputs.stepIndex + 1].stepStatus = 'Start';\r\n }\r\n else {\r\n if (parent.testRunsList[parent.modalInputs.testRunIndex].scenariosDetailsList[parent.modalInputs.scenarioIndex].stepsDetailsList[parent.modalInputs.stepIndex].isManualStep) {\r\n stepInput.completeCurrentStep = true;\r\n parent.testRunsList[parent.modalInputs.testRunIndex].scenariosDetailsList[parent.modalInputs.scenarioIndex].stepsDetailsList[parent.modalInputs.stepIndex].stepStatus = 'Complete';\r\n }\r\n else {\r\n parent.testRunsList[parent.modalInputs.testRunIndex].scenariosDetailsList[parent.modalInputs.scenarioIndex].stepsDetailsList[parent.modalInputs.stepIndex].stepStatus = 'Skipped';\r\n }\r\n parent.testRunsList[parent.modalInputs.testRunIndex].scenariosDetailsList[parent.modalInputs.scenarioIndex].stepsDetailsList[parent.modalInputs.stepIndex + 1].stepStatus = 'Start';\r\n }\r\n this.refreshTestRuns(parent.modalInputs.testRunIndex, parent.testRunsList[parent.modalInputs.testRunIndex].testRunId, false);\r\n parent.ngxLoader.stop();\r\n parent.modalInputs.headerText = 'Step Start Successful!';\r\n parent.modalInputs.bodyText = 'Next Step Component Started Successfully!';\r\n parent.modalService.open(messageModal, { ariaLabelledBy: 'modal-basic-title', backdrop: 'static' }).result.then((result) => {\r\n this.logger.trackTrace(`In Manage testruns, start Next Step Component ${parent.modalInputs.headerText}, ${parent.modalInputs.bodyText} ${result} `);\r\n });\r\n }\r\n else {\r\n parent.ngxLoader.stop();\r\n parent.modalInputs.headerText = 'Step Start Failed!';\r\n parent.modalInputs.bodyText = 'Next Step Component Start Failed!';\r\n parent.modalService.open(messageModal, { ariaLabelledBy: 'modal-basic-title', backdrop: 'static' }).result.then((result) => {\r\n this.logger.trackTrace(`In Manage testruns, start Next Step Component ${parent.modalInputs.headerText}, ${parent.modalInputs.bodyText} ${result} `);\r\n });\r\n }\r\n }, (error: any) => {\r\n parent.ngxLoader.stop();\r\n parent.modalInputs.headerText = 'Step Start Failed!';\r\n parent.modalInputs.bodyText = 'Next Step Component Start Failed! Error Details: ' + error;\r\n parent.modalService.open(messageModal, { ariaLabelledBy: 'modal-basic-title', backdrop: 'static' }).result.then((result) => {\r\n this.logger.trackTrace(`In Manage testruns, start Next Step Component ${parent.modalInputs.headerText}, ${parent.modalInputs.bodyText} ${result} `);\r\n });\r\n });\r\n }\r\n\r\n restartIndvErrorStep(messageModal: any) {\r\n this.manageTestRunsService.ngxLoaderConfig.text = this.modalInputs.enableRefresh ? 'Refreshing Current Step! Please Wait!' : 'Restarting Current Step! Please Wait!';\r\n this.ngxLoader.start();\r\n this.restartStepRequestsList = [];\r\n this.restartStepResponsesList = [];\r\n const targetScenario = this.modalInputs.isPrestep ? this.testRunsList[this.modalInputs.testRunIndex].testRunPrestepDetails : this.testRunsList[this.modalInputs.testRunIndex].scenariosDetailsList[this.modalInputs.scenarioIndex];\r\n this.buildErrorStepInputsList(messageModal, targetScenario, this.modalInputs.stepIndex, this.modalInputs.isPrestep);\r\n if (this.restartStepRequestsList.length > 0) {\r\n this.submitErrorStepRestart(messageModal, this.modalInputs.testRunIndex);\r\n }\r\n }\r\n\r\n restartAllErrorSteps(messageModal: any, testRunIndex: number) {\r\n const parent = this;\r\n parent.manageTestRunsService.ngxLoaderConfig.text = 'Restarting All Error Steps of the Test Run! Please Wait!';\r\n parent.ngxLoader.start();\r\n if (parent.testRunsList[testRunIndex].isMultiPayload || parent.testRunsList[testRunIndex].totalScenariosCount > 10) {\r\n let errorStepInput = new ErrorRestartStepInputs();\r\n errorStepInput.correlationId = parent.testRunsList[testRunIndex].testRunId;\r\n errorStepInput.stepRank = 0;\r\n parent.manageTestRunsService.restartAllScenarioStep(errorStepInput).subscribe((response) => {\r\n if (response) {\r\n parent.loadTestRunsItemDetails(testRunIndex, errorStepInput.correlationId, false, true, false);\r\n parent.ngxLoader.stop();\r\n }\r\n else {\r\n parent.ngxLoader.stop();\r\n parent.modalInputs.modalType = 'response';\r\n parent.modalInputs.headerText = 'Restart Failed!';\r\n parent.modalInputs.bodyText = 'Test Runs Business Process (L4) Step Restart Failed!';\r\n parent.modalService.open(messageModal, { ariaLabelledBy: 'modal-basic-title', backdrop: 'static' }).result.then((result) => {\r\n this.logger.trackTrace(`In Manage testruns, submit Error Step Restart ${parent.modalInputs.headerText}, ${parent.modalInputs.bodyText} ${result} `);\r\n });\r\n }\r\n }, (error: any) => {\r\n parent.ngxLoader.stop();\r\n parent.modalInputs.modalType = 'response';\r\n parent.modalInputs.headerText = 'Restart Failed!';\r\n parent.modalInputs.bodyText = 'Test Runs Business Process (L4) Step Restart Failed!';\r\n parent.modalService.open(messageModal, { ariaLabelledBy: 'modal-basic-title', backdrop: 'static' }).result.then((result) => {\r\n this.logger.trackTrace(`In Manage testruns, submit Error Step Restart ${parent.modalInputs.headerText}, ${parent.modalInputs.bodyText} ${result} `);\r\n });\r\n });\r\n }\r\n else {\r\n this.restartStepRequestsList = [];\r\n this.restartStepResponsesList = [];\r\n if (this.testRunsList[testRunIndex].scenariosDetailsList.length > 0) {\r\n for (let index = 0; index < this.testRunsList[testRunIndex].scenariosDetailsList.length; index++) {\r\n const targetScenario = this.testRunsList[testRunIndex].scenariosDetailsList[index];\r\n const stepIndex = targetScenario.stepsDetailsList.findIndex(x => x.stepStatus.toLowerCase() == 'error')\r\n this.buildErrorStepInputsList(messageModal, targetScenario, stepIndex, false);\r\n }\r\n }\r\n if (this.restartStepRequestsList.length > 0) {\r\n this.submitErrorStepRestart(messageModal, testRunIndex);\r\n }\r\n }\r\n }\r\n\r\n buildErrorStepInputsList(messageModal: any, targetScenario: TestRunScenariosDetails, stepIndex: number, isPreReqStep: boolean = false) {\r\n if (stepIndex < 0) {\r\n return;\r\n }\r\n\r\n const parent = this;\r\n let errorStepInput = new ErrorRestartStepInputs();\r\n errorStepInput.isPrestep = isPreReqStep;\r\n errorStepInput.correlationId = targetScenario.correlationId;\r\n errorStepInput.stepRank = targetScenario.stepsDetailsList[stepIndex].stepRank;\r\n parent.restartStepRequestsList.push(errorStepInput);\r\n\r\n if (targetScenario.stepsDetailsList[stepIndex].childScenariosList.length > 0) {\r\n parent.buildErrorChildStepInputsList(targetScenario, stepIndex);\r\n }\r\n }\r\n\r\n buildErrorChildStepInputsList(targetScenario: TestRunScenariosDetails, stepIndex: number) {\r\n const childsList = targetScenario.stepsDetailsList[stepIndex].childScenariosList;\r\n childsList.filter(x => x.stepsDetailsList.filter(y => y.stepStatus.toLowerCase() == 'error'))\r\n for (let index = 0; index < childsList.length; index++) {\r\n const childScenario = childsList[index];\r\n if (childScenario.stepsDetailsList.filter(y => y.stepStatus.toLowerCase() == 'error').length > 0) {\r\n let errorChildStepInput = new ErrorRestartStepInputs();\r\n errorChildStepInput.correlationId = childScenario.correlationId;\r\n errorChildStepInput.stepRank = childScenario.stepsDetailsList.filter(y => y.stepStatus.toLowerCase() == 'error')[0].stepRank;\r\n errorChildStepInput.parentCorrelationId = targetScenario.correlationId;\r\n errorChildStepInput.parentStepRank = targetScenario.stepsDetailsList[stepIndex].stepRank;\r\n this.restartStepRequestsList.push(errorChildStepInput);\r\n }\r\n }\r\n }\r\n\r\n async submitErrorStepRestart(messageModal: any, testRunIndex: number) {\r\n const parent = this;\r\n parent.restartStepResponsesList = [];\r\n for (let index = 0; index < parent.restartStepRequestsList.length; index++) {\r\n const currRequest = parent.restartStepRequestsList[index];\r\n parent.restartStepResponsesList.push(await parent.manageTestRunsService.restartScenarioStep(currRequest));\r\n parent.restartStepResponsesList[parent.restartStepResponsesList.length - 1].isPrestep = currRequest.isPrestep;\r\n }\r\n if (parent.restartStepResponsesList.length > 0) {\r\n try {\r\n parent.restartStepRequestsList = [];\r\n for (let i = 0; i < parent.restartStepResponsesList.length; i++) {\r\n const element = parent.restartStepResponsesList[i];\r\n if (element.parentCorrelationId != '' && element.parentStepRank >= 0) {\r\n parent.testRunsList[testRunIndex].scenariosDetailsList.filter((x: any) => x.correlationId == element.parentCorrelationId)[0].stepsDetailsList.filter((y: any) => y.stepRank == element.parentStepRank)[0].childScenariosList.filter((z: any) => z.correlationId == element.correlationId)[0].stepsDetailsList.filter((a: any) => a.stepRank == element.stepRank)[0].stepStatus = 'Start';\r\n parent.selectedTestRun.scenariosDetailsList.filter((x: any) => x.correlationId == element.parentCorrelationId)[0].stepsDetailsList.filter((y: any) => y.stepRank == element.parentStepRank)[0].childScenariosList.filter((z: any) => z.correlationId == element.correlationId)[0].stepsDetailsList.filter((a: any) => a.stepRank == element.stepRank)[0].stepStatus = 'Start';\r\n }\r\n else {\r\n if (element.isPrestep) {\r\n parent.testRunsList[testRunIndex].testRunPrestepDetails.stepsDetailsList.filter((y: any) => y.stepRank == element.stepRank)[0].stepStatus = 'Start';\r\n parent.selectedTestRun.testRunPrestepDetails.stepsDetailsList.filter((y: any) => y.stepRank == element.stepRank)[0].stepStatus = 'Start';\r\n }\r\n else {\r\n parent.testRunsList[testRunIndex].scenariosDetailsList.filter((x: any) => x.correlationId == element.correlationId)[0].stepsDetailsList.filter((y: any) => y.stepRank == element.stepRank)[0].stepStatus = 'Start';\r\n parent.selectedTestRun.scenariosDetailsList.filter((x: any) => x.correlationId == element.correlationId)[0].stepsDetailsList.filter((y: any) => y.stepRank == element.stepRank)[0].stepStatus = 'Start';\r\n }\r\n parent.testRunsList[testRunIndex].statusCounts.error -= 1;\r\n parent.selectedTestRun.statusCounts.error -= 1;\r\n parent.testRunsList[testRunIndex].statusCounts.start += 1;\r\n parent.selectedTestRun.statusCounts.start += 1;\r\n }\r\n }\r\n }\r\n catch (error) {\r\n parent.ngxLoader.stop();\r\n parent.modalInputs.modalType = 'response';\r\n parent.modalInputs.headerText = 'Restart Failed!';\r\n parent.modalInputs.bodyText = 'Test Runs Business Process (L4) Step Restart Failed!';\r\n parent.modalService.open(messageModal, { ariaLabelledBy: 'modal-basic-title', backdrop: 'static' }).result.then((result) => {\r\n this.logger.trackTrace(`In Manage testruns, submit Error Step Restart ${parent.modalInputs.headerText}, ${parent.modalInputs.bodyText} ${result} `);\r\n });\r\n }\r\n parent.restartStepResponsesList = [];\r\n parent.ngxLoader.stop();\r\n parent.modalInputs.modalType = 'response';\r\n parent.modalInputs.headerText = 'Restart Successful!';\r\n parent.modalInputs.bodyText = 'Test Runs Business Process (L4) Step(s) Restarted Successfully!';\r\n parent.modalService.open(messageModal, { ariaLabelledBy: 'modal-basic-title', backdrop: 'static' }).result.then((result) => {\r\n this.logger.trackTrace(`In Manage testruns, submited Error Step Restart ${parent.modalInputs.headerText}, ${parent.modalInputs.bodyText} ${result} `);\r\n });\r\n }\r\n else {\r\n parent.ngxLoader.stop();\r\n parent.modalInputs.modalType = 'response';\r\n parent.modalInputs.headerText = 'Restart Failed!';\r\n parent.modalInputs.bodyText = 'Test Runs Business Process (L4) Step Restart Failed!';\r\n parent.modalService.open(messageModal, { ariaLabelledBy: 'modal-basic-title', backdrop: 'static' }).result.then((result) => {\r\n this.logger.trackTrace(`In Manage testruns, submit Error Step Restart ${parent.modalInputs.headerText}, ${parent.modalInputs.bodyText} ${result} `);\r\n });\r\n }\r\n }\r\n handleInput(event: KeyboardEvent): void {\r\n event.stopPropagation();\r\n }\r\n updateSaveStatus(messageModal: any, index: number) {\r\n const parent = this;\r\n parent.manageTestRunsService.ngxLoaderConfig.text = 'Updating the Save Status of the Test Run! Please Wait!';\r\n parent.ngxLoader.start();\r\n parent.modalInputs = new ModalInputs();\r\n let updateInput = new TestRunSaveStatusInput();\r\n parent.modalInputs.modalType = 'response';\r\n updateInput.testRunId = parent.testRunsList[index].testRunId;\r\n updateInput.saveStatus = !parent.testRunsList[index].isSavedRun;\r\n parent.manageTestRunsService.updateTestRunSaveStatus(updateInput).subscribe((response) => {\r\n if (response != undefined && response != null && response == true) {\r\n parent.testRunsList[index].isSavedRun = !parent.testRunsList[index].isSavedRun;\r\n parent.ngxLoader.stop();\r\n parent.modalInputs.headerText = 'Saved Successfullly!';\r\n parent.modalInputs.bodyText = 'This Test Runs is Saved Successfully!';\r\n parent.modalService.open(messageModal, { ariaLabelledBy: 'modal-basic-title', backdrop: 'static' }).result.then((result) => {\r\n this.logger.trackTrace(`In Manage testruns, update Save Status ${parent.modalInputs.headerText}, ${parent.modalInputs.bodyText} ${result} `);\r\n });\r\n } else {\r\n parent.ngxLoader.stop();\r\n parent.modalInputs.headerText = 'Status Update Failed!';\r\n parent.modalInputs.bodyText = 'This Test Runs Save Status Update Failed!';\r\n this.logger.trackTrace(`In Manage testruns update Save Status ${parent.modalInputs.headerText}, ${parent.modalInputs.bodyText} `);\r\n parent.modalService.open(messageModal, { ariaLabelledBy: 'modal-basic-title', backdrop: 'static' }).result.then((result) => {\r\n });\r\n }\r\n }, (error: any) => {\r\n parent.ngxLoader.stop();\r\n parent.modalInputs.headerText = 'Status Update Failed!';\r\n parent.modalInputs.bodyText = 'This Test Runs Save Status Update Failed!';\r\n this.logger.trackTrace(`In Manage testruns update Save Status Error ${error} ${parent.modalInputs.headerText}, ${parent.modalInputs.bodyText} `);\r\n this.logger.trackException(error);\r\n parent.modalService.open(messageModal, { ariaLabelledBy: 'modal-basic-title', backdrop: 'static' }).result.then((result) => {\r\n });\r\n });\r\n }\r\n\r\n /**\r\n * Stores the current event metadata (indices of current test run, scenario of test run, and step within scenario) that are being tracked\r\n * @param testRunIndex Index of Test Run within TestRunsList[]\r\n * @param scenarioIndex Index of Scenario within TestRunScenariosDetails[]\r\n * @param stepIndex Index of Step within TestRunStepsDetails[]\r\n */\r\n storeEventMetadata(testRunIndex: number, scenarioIndex: number, stepIndex: number): void {\r\n this.currentEventMetadata.testRunIndex = testRunIndex;\r\n this.currentEventMetadata.scenarioIndex = scenarioIndex;\r\n this.currentEventMetadata.stepIndex = stepIndex;\r\n }\r\n\r\n /**\r\n * Generates the \"mailto\" email template with Test Run information pre-populated - metadata is current to event being displayed\r\n */\r\n generateMailtoString(testRunName: string, testRunScenarioName: string, testRunScenarioStepName: string, entityId: string[]): string {\r\n const mailto = 'mailto:';\r\n const recipient = this.configService.uiAppSettings.IssueReportAlias.alias + '@microsoft.com';\r\n const subject = 'Report an Issue: ';\r\n const cc = ' '; // Cannot be empty string\r\n const bcc = ' '; // Cannot be empty string\r\n const body = `Test name: ${testRunName}\\nScenario Name: ${testRunScenarioName}\\nStep Name: ${testRunScenarioStepName}\\nEntity #: ${entityId}\\nError: `;\r\n const mailURL = mailto.concat(recipient, '?cc=', cc, '&bcc=', bcc, '&subject=', subject.replace(/ /g, '%20'), '&body=', body.replace(/ /g, '%20').replace(/\\n/g, '%0d%0a'));\r\n return mailURL;\r\n }\r\n\r\n /**\r\n * Launches the \"mailto\" email with Test Run information pre-populated - metadata is current to event being displayed\r\n */\r\n public launchReportIssueMailto(fetchMetadata: boolean): void {\r\n let testRun: any;\r\n let testRunName: string;\r\n let testRunScenario: any;\r\n let testRunScenarioName: string;\r\n let testRunScenarioStepName: any;\r\n if (fetchMetadata &&\r\n this.currentEventMetadata.testRunIndex >= 0 &&\r\n this.currentEventMetadata.scenarioIndex >= 0 &&\r\n this.currentEventMetadata.stepIndex >= 0) {\r\n testRun = this.testRunsList[this.currentEventMetadata.testRunIndex];\r\n testRunName = testRun.testRunName;\r\n testRunScenario = testRun.scenariosDetailsList[this.currentEventMetadata.scenarioIndex];\r\n testRunScenarioName = testRunScenario.scenarioName;\r\n testRunScenarioStepName = testRunScenario.stepsDetailsList[this.currentEventMetadata.scenarioIndex].componentName;\r\n window.location.assign(this.generateMailtoString(testRunName, testRunScenarioName, testRunScenarioStepName, [...this.trackOrderRequest.entityIDs]));\r\n } else {\r\n window.location.assign(this.generateMailtoString('', '', '', ['']));\r\n }\r\n }\r\n\r\n /**Launch Error Email */\r\n public launchErrorMailto(): void {\r\n var email = this.modalInputs.errorEmaillink;\r\n let response: any;\r\n response = this.modalInputs.responsePayload;//.runId;\r\n if (response != null) {\r\n this.hrefEmail = email.replace(\"xxx\", response.runId);\r\n }\r\n window.location.assign(this.hrefEmail);\r\n }\r\n\r\n downloadFileUsingSAS(fileName: string): void {\r\n this.generateSasTokenService.getBlobUrl(fileName).subscribe((response: any) => {\r\n if (response != undefined && response != null) {\r\n this.testRunsFetchInputs.isExport = false;\r\n this.downloadFile(response.response);\r\n }\r\n }, (error: any) => {\r\n this.testRunsFetchInputs.isExport = false;\r\n this.logger.trackTrace('Error occuring in generating SAS token');\r\n this.logger.trackException(error);\r\n });\r\n }\r\n\r\n prepareExportDetails(responseJson: TestRunExportResponse[]) {\r\n const excelFileName = `TestRunsDetails_${(new Date()).getTime().toString()}.xlsx`;\r\n const worksheet: XLSX.WorkSheet = XLSX.utils.json_to_sheet(responseJson);\r\n const workbook: XLSX.WorkBook = { Sheets: { 'data': worksheet }, SheetNames: ['data'] };\r\n XLSX.writeFile(workbook, excelFileName);\r\n }\r\n\r\n checkAnyPreReqErrorExist() {\r\n return this.selectedTestRun.testRunPrestepDetails !== undefined && this.selectedTestRun.testRunPrestepDetails !== null && this.selectedTestRun.testRunPrestepDetails.stepsDetailsList.some((step) => {\r\n return step.stepStatus === 'Error';\r\n });\r\n }\r\n\r\n isDisplayFilterOption() {\r\n let distinctStatusCount = 0;\r\n for (const [key, value] of Object.entries(this.selectedTestRun.statusCounts)) {\r\n if (value > 0) {\r\n distinctStatusCount++;\r\n }\r\n }\r\n return !this.checkAnyPreReqErrorExist() && distinctStatusCount > 1;\r\n }\r\n\r\n isDisplayExportOption() {\r\n let distinctStatusCount = 0;\r\n for (const [key, value] of Object.entries(this.selectedTestRun.statusCounts)) {\r\n if (value > 0) {\r\n distinctStatusCount++;\r\n }\r\n }\r\n return !this.checkAnyPreReqErrorExist() && this.selectedTestRun.scenariosDetailsList.length > 0 && (distinctStatusCount == 1 || this.statusFilter > 0);\r\n }\r\n\r\n isDisplayLoadMoreOption() {\r\n if (this.statusFilter !== undefined && this.statusFilter !== null && this.statusFilter > 0) {\r\n const processingCount = this.selectedTestRun.statusCounts.processing + this.selectedTestRun.statusCounts.pending + this.selectedTestRun.statusCounts.start + this.selectedTestRun.statusCounts.waiting + this.selectedTestRun.statusCounts.ready;\r\n return this.statusFilter == 3 ? this.selectedTestRun.scenariosDetailsList.length < processingCount : this.selectedTestRun.scenariosDetailsList.length < this.selectedTestRun.statusCounts[this.filterItems.find(x => x.id === this.statusFilter).name.toLowerCase()];\r\n }\r\n else {\r\n return this.selectedTestRun.scenariosDetailsList.length < this.selectedTestRun.totalScenariosCount;\r\n }\r\n }\r\n\r\n getUrlParams(searchId: string = '') {\r\n return {\r\n \"org\": this.organizationId,\r\n \"searchId\": searchId\r\n }\r\n }\r\n}\r\n","
\r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n ×\r\n
\r\n
\r\n
Tracking Details For
\r\n

\r\n \r\n {{trackOrderRequest.entityID}}\r\n \r\n

\r\n
\r\n \r\n
\r\n
0\">\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n

{{trackingItem.eventName}}

\r\n

\r\n \r\n {{trackingItem.trackingName}}:\r\n {{trackingItem.trackingId}}\r\n

\r\n

\r\n CorrelationId:\r\n {{trackingItem.correlationId}}\r\n

\r\n

\r\n {{trackingItem.eventMessage}}\r\n

\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n No Events Details found for the Order Number\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n

\r\n Manage Test Runs\r\n \r\n \r\n \r\n

\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
Search by ID :
\r\n
\r\n
\r\n \r\n
\r\n
\r\n\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n
Or Search by Name :
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
Or Search by user :
\r\n
\r\n Select test runs by User!\r\n 0\"\r\n arial-label=\"Select User\" title=\"Select User\" aria-expanded=\"false\" aria-required=\"true\"\r\n [ngbTooltip]=\"selectUserTooltip\" placement=\"right\" [openDelay]=\"500\" [closeDelay]=\"1500\">\r\n \r\n
\r\n
\r\n
\r\n
Status:
\r\n
\r\n Waiting\r\n
\r\n
\r\n Processing\r\n
\r\n
\r\n Pending\r\n
\r\n
\r\n Complete\r\n
\r\n
\r\n Error\r\n
\r\n
\r\n Skipped\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
0\">\r\n
\r\n
\r\n
\r\n
\r\n \r\n 0 || run.statusCounts.waiting > 0 || run.statusCounts.ready > 0 || run.statusCounts.processing > 0 || run.statusCounts.pending > 0\"\r\n (click)=\"refreshTestRuns(p, run.testRunId, false, true)\">\r\n \r\n 0\">\r\n \r\n 0\" (click)=\"restartAllErrorSteps(responseModal, p)\">\r\n \r\n 0\">\r\n \r\n \r\n \r\n 0\">\r\n \r\n 0\">\r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n Business Process (L4) \r\n \r\n\r\n \r\n \r\n
\r\n
10)\">\r\n 0\" (click)=\"filterTestScenarios(p, 'waiting')\">\r\n \r\n ({{run.statusCounts.waiting}})\r\n \r\n 0 || run.statusCounts.ready > 0 || run.statusCounts.processing > 0\">\r\n \r\n ({{(run.statusCounts.start + run.statusCounts.ready +\r\n run.statusCounts.processing)}})\r\n \r\n 0\" (click)=\"filterTestScenarios(p, 'pending')\">\r\n \r\n ({{run.statusCounts.pending}})\r\n \r\n 0\" (click)=\"filterTestScenarios(p, 'complete')\">\r\n \r\n ({{run.statusCounts.complete}})\r\n \r\n 0\" (click)=\"filterTestScenarios(p, 'error')\">\r\n \r\n ({{run.statusCounts.error}})\r\n \r\n
\r\n
10\">\r\n 0\">\r\n \r\n ({{run.statusCounts.waiting}})\r\n \r\n 0 || run.statusCounts.ready > 0 || run.statusCounts.processing > 0\">\r\n \r\n ({{(run.statusCounts.start + run.statusCounts.ready +\r\n run.statusCounts.processing)}})\r\n \r\n 0\">\r\n \r\n ({{run.statusCounts.pending}})\r\n \r\n 0\">\r\n \r\n ({{run.statusCounts.complete}})\r\n \r\n 0\">\r\n \r\n ({{run.statusCounts.error}})\r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n Created By: {{run.userName}}\r\n \r\n
\r\n
\r\n
\r\n
Partner Info: {{run.partnerOrgName}}-{{run.businessProcessName}}
\r\n
\r\n
\r\n\r\n\r\n
\r\n \r\n \r\n Date: \r\n \r\n \r\n \r\n \r\n 0 && (run.trackingIDs || []).length > 0 && run.trackingType.toLocaleLowerCase() != '3ppsalesorder'; else noTrackOrderLink\">\r\n
\r\n \r\n Track Orders\r\n \r\n
\r\n \r\n
\r\n \r\n Track Orders\r\n \r\n
\r\n \r\n \r\n No suitable Orders available for Tracking.\r\n \r\n \r\n \r\n 0 && (run.trackingIDs || []).length > 0 && run.trackingType.toLocaleLowerCase() != '3ppsalesorder'; else noTracking\">\r\n \r\n Tracking: {{searchText}}\r\n \r\n \r\n \r\n Tracking: {{searchText}}\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n
\r\n
0\">\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n ID: {{scenario.correlationId}}\r\n
\r\n
\r\n Business Process (L4): {{scenario.scenarioName}}\r\n
\r\n
\r\n Sub-Process: {{scenario.flavourName}}\r\n
\r\n
\r\n Actual Duration: {{getScenarioExecutionTime(p, j)}} Minutes
\r\n \r\n ETA: \r\n \r\n \r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n\r\n {{step.componentDescription}}\r\n \r\n \r\n \r\n\r\n
\r\n\r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n {{step.componentDescription}}\r\n
\r\n
\r\n
\r\n Purchase Order Number(s): {{getTrackingID(p, j, x)}}\r\n
\r\n \r\n
\r\n
\r\n ETA: \r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n
0 && isShowChildScenarios\">\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n {{childStep.componentDescription}}\r\n
\r\n
\r\n Track Events\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
0 && !isShowChildScenarios\">\r\n \r\n
\r\n
0 && isShowChildScenarios\">\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n Clone Test Case\r\n
\r\n
\r\n Retrigger Test Case\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n Load More\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n No information found for searched Test Run Id. Please check and enter a correct Test Run Id and try\r\n again!\r\n
\r\n
\r\n You have not executed any test runs! To execute a test run, please go to \"Execute\r\n Test Runs\" and follow the procedures to Submit a test run!\r\n
\r\n
\r\n No information found for entered Service Order Number. Please check and enter a\r\n correct Service Order Number and try again!\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n Test ID: \r\n {{selectedTestRun.testRunId}}\r\n
\r\n
\r\n Owner: \r\n {{selectedTestRun.userName}}\r\n
\r\n
\r\n Status: \r\n \r\n 0\">\r\n \r\n ({{selectedTestRun.statusCounts.waiting}})\r\n \r\n 0 || selectedTestRun.statusCounts.ready > 0 || selectedTestRun.statusCounts.processing > 0\">\r\n \r\n ({{(selectedTestRun.statusCounts.start + selectedTestRun.statusCounts.ready +\r\n selectedTestRun.statusCounts.processing)}})\r\n \r\n 0\">\r\n \r\n ({{selectedTestRun.statusCounts.pending}})\r\n \r\n 0\">\r\n \r\n ({{selectedTestRun.statusCounts.complete}})\r\n \r\n 0\">\r\n \r\n ({{selectedTestRun.statusCounts.error}})\r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n Created On: \r\n \r\n \r\n \r\n \r\n
\r\n
\r\n Last Modified On: \r\n \r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
Prerequisites
\r\n
\r\n
\r\n
\r\n
\r\n
0\">\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n Step\r\n \r\n Step Description\r\n \r\n Step Rank\r\n \r\n Status\r\n \r\n Execution Date\r\n \r\n ETA\r\n
\r\n {{stepDetails['componentName']}}\r\n \r\n {{stepDetails['componentDescription']}}\r\n \r\n {{stepDetails['stepRank']}}\r\n \r\n
\r\n \r\n \r\n
\r\n
\r\n \r\n \r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
Test Cases
\r\n
\r\n
\r\n \r\n
Filter: 
\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n
\r\n
0 && !checkAnyPreReqErrorExist()\">\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n Test Case Name\r\n \r\n Scenario Category(L3)\r\n \r\n Business Process(L4)\r\n \r\n Step\r\n \r\n Status\r\n \r\n ETA\r\n
\r\n \r\n {{scenInfo['testCaseName']}}\r\n \r\n 50\" placement=\"right\"\r\n ngbTooltip=\"{{scenInfo['testCaseName']}}\" tooltipClass=\"side-tooltip\">\r\n \r\n {{scenInfo['testCaseName'].substring(0, 47) + '...'}}\r\n \r\n \r\n \r\n {{scenInfo['scenarioName']}}\r\n \r\n {{scenInfo['flavourName']}}\r\n \r\n {{scenInfo['stepsDetailsList'][0]['componentDescription']}}\r\n \r\n
\r\n \r\n \r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n Load More\r\n
\r\n
\r\n
\r\n
\r\n \r\n
Your test runs are getting prepared now, please check back after sometime!\r\n
\r\n
\r\n
\r\n
The pre-requisite step has some issue, please fix the same and restart the\r\n test!\r\n
\r\n
\r\n
0\" class=\"text-center\"\r\n style=\"font-weight: 600;\">\r\n
There are no data matching this filter, please change the filter and try\r\n again!\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n\r\n\r\n\r\n
\r\n
{{modalInputs.headerText}}
\r\n \r\n
\r\n {{this.modalInputs.componentMethod}}: {{this.modalInputs.componentUrl}}\r\n
\r\n
\r\n
\r\n
\r\n
\r\n

\r\n {{modalInputs.bodyText}}\r\n

\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n Request Payload Details:\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n\r\n
\r\n
\r\n
\r\n
\r\n
\r\n Response Payload Details:\r\n \r\n
\r\n
0\">\r\n Go to ADO :     \r\n \r\n Test Result {{modalInputs.adoTestRunId}}\r\n \r\n    \r\n \r\n Test Case {{modalInputs.adoTestCaseId}}\r\n \r\n
\r\n
\r\n Download Test Report:     \r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n Error Details:\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n
\r\n\r\n\r\n
\r\n
{{headerText}}
\r\n \r\n
\r\n
\r\n
\r\n
\r\n {{bodyText}}\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n\r\n\r\n
\r\n
{{headerText}}
\r\n \r\n
\r\n
\r\n Please enter a test run name to retrigger:\r\n \r\n
\r\n
\r\n \r\n \r\n
\r\n
","import { Component, OnInit } from '@angular/core';\r\nimport { LoadTestDetail, InputsModel } from '../model/loadtesting.model';\r\nimport { NgbModal } from '@ng-bootstrap/ng-bootstrap';\r\nimport { NgxUiLoaderService } from 'ngx-ui-loader';\r\nimport { FormlyFieldConfig } from '@ngx-formly/core';\r\nimport { ViewChild, ElementRef } from '@angular/core';\r\nimport { LoadTestService } from '../service/loadtest.service';\r\nimport { element } from 'protractor';\r\nimport { FormControl, Validators } from '@angular/forms';\r\n;\r\nimport { MasterDataService } from '../service/masterdata.service';\r\nimport { DescriptionService } from '../service/description.service';\r\n\r\nimport { ConfigService } from '../service/config.service';\r\n\r\n@Component({\r\n selector: 'app-privacynotice',\r\n templateUrl: './privacynotice.component.html',\r\n styleUrls: ['./privacynotice.component.css']\r\n})\r\nexport class PrivacyNoticeComponent implements OnInit {\r\n\r\n pageDetails: any[];\r\n showMessage: boolean;\r\n showPreloader: boolean;\r\n msgTxt: string;\r\n\r\n\r\n constructor(private masterDataService: MasterDataService, private descriptionService: DescriptionService) { }\r\n\r\n ngOnInit() {\r\n this.descriptionService.privacyDetailsTools().subscribe((response: any[]) => {\r\n this.pageDetails = response;\r\n }, (error: any) => {\r\n try {\r\n this.showMessage = true;\r\n this.showPreloader = false; \r\n this.msgTxt = error.error.errors[0].message;\r\n } catch (ex) {\r\n this.msgTxt = 'Some error occured while loading Page Name and Description';\r\n }\r\n });\r\n }\r\n\r\n}\r\n","
\r\n

Privacy Notice

\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
NameDescription
\r\n \r\n {{page.privacyName}}\r\n \r\n {{page.privacyDescription}}
\r\n
\r\n
\r\n","import { Component, OnInit } from '@angular/core';\r\nimport { UatAvailabilityService } from '../service/uatavailability.service';\r\nimport { MasterDataService } from '../service/masterdata.service';\r\nimport { MsalService } from '@azure/msal-angular';\r\nimport { ConfigService } from '../service/config.service';\r\nimport * as log from '../AppInsightsLogger';\r\nimport { skip } from 'rxjs/operators';\r\nimport { UATAvailability } from '../model/uatAvailability.model';\r\nimport { ManageScenariosService } from '../service/manage-scenarios.service';\r\nimport { DescriptionService } from '../service/description.service';\r\n\r\n@Component({\r\n selector: 'app-uatAvailability',\r\n templateUrl: './uatAvailability.component.html',\r\n styleUrls: ['./uatAvailability.component.css']\r\n})\r\nexport class UATAvailabilityComponent implements OnInit {\r\n\r\n uatDetails: any[];\r\n businessProcess: any[];\r\n showMessage: boolean;\r\n showPreloader: boolean;\r\n msgTxt: string;\r\n pageDescription: string;\r\n pageDetails: any[];\r\n tooltipUAT: any[];\r\n uatDetailsRows: any[];\r\n businessProcessNamesDetails: any;\r\n uatRowNames: any;\r\n private logger: log.AppInsightsLogger;\r\n selectedBusinessProcessName;\r\n isLoading: boolean = true;\r\n isLoadingSelectBusiness: boolean = true;\r\n\r\n constructor(private descriptionService: DescriptionService, private msalService: MsalService,\r\n private configService: ConfigService,\r\n private uatDataService: UatAvailabilityService,\r\n private masterDataService: MasterDataService, private manageTestRunsService: ManageScenariosService) {\r\n this.logger = new log.AppInsightsLogger(configService, msalService);\r\n }\r\n\r\n ngOnInit() {\r\n //setTimeout(() => { this.loadUat(); }, 500);\r\n window.sessionStorage.setItem(\"orgSelected\", \"1\");\r\n this.loadUat();\r\n }\r\n\r\n loadUat() {\r\n this.isLoadingSelectBusiness = false;\r\n let servicesCompleted = 0;;\r\n this.descriptionService.pageDetailsTools().subscribe((response: any[]) => {\r\n this.pageDetails = response;\r\n this.pageDetails.forEach(element => {\r\n if (element.toolName == \"UAT Availability View\") {\r\n this.pageDescription = element.toolDescription\r\n }\r\n });\r\n });\r\n\r\n this.uatDataService.getUATAvailability(\"All\").subscribe((response: any[]) => {\r\n this.uatRowNames = [];\r\n this.uatDetails = response;\r\n this.businessProcess = response;\r\n var obj = {};\r\n for (var i = 0, len = this.businessProcess.length; i < len; i++) {\r\n obj[this.businessProcess[i]['service']] = this.businessProcess[i];\r\n }\r\n\r\n this.businessProcess = new Array();\r\n for (var key in obj) {\r\n this.businessProcess.push(obj[key]);\r\n }\r\n\r\n this.uatDetailsRows = Object.keys(this.uatDetails[0])\r\n for (var i = 0; i < this.uatDetailsRows.length; i++) {\r\n\r\n if (this.uatDetailsRows[i] != \"businessProcessName\") {\r\n if ((this.uatDetailsRows[i] == \"scor\") || (this.uatDetailsRows[i] == \"dri\")) {\r\n this.uatRowNames.push(this.uatDetailsRows[i]\r\n .replace(/(_|-)/g, ' ')\r\n .trim()\r\n .replace(/\\w\\S*/g, function (str) {\r\n return str.toUpperCase()\r\n })\r\n .replace(/([a-z])([A-Z])/g, '$1 $2'))\r\n } else if (this.uatDetailsRows[i] != \"colorCode\") {\r\n this.uatRowNames.push(this.uatDetailsRows[i]\r\n .replace(/(_|-)/g, ' ')\r\n .trim()\r\n .replace(/\\w\\S*/g, function (str) {\r\n return str.charAt(0).toUpperCase() + str.substr(1)\r\n })\r\n .replace(/([a-z])([A-Z])/g, '$1 $2'))\r\n }\r\n }\r\n }\r\n\r\n this.businessProcessNamesDetails = [];\r\n this.uatDetails.forEach(bpN => {\r\n if (!(this.businessProcessNamesDetails.includes(bpN.businessProcessName))) {\r\n this.businessProcessNamesDetails.push(bpN.businessProcessName);\r\n this.businessProcessNamesDetails.sort();\r\n }\r\n });\r\n\r\n this.businessProcessNamesDetails = [\"All\"].concat(this.businessProcessNamesDetails);\r\n this.isLoading = false;\r\n }, (error: any) => {\r\n try {\r\n this.showMessage = true;\r\n this.showPreloader = false;\r\n this.msgTxt = error.error.errors[0].message;\r\n } catch (ex) {\r\n this.msgTxt = 'Some error occured while loading UAT Availability Details';\r\n this.logger.trackTrace(this.msgTxt);\r\n }\r\n });\r\n }\r\n\r\n loadBusinessProcessameDetails(selectedBusinessProcessName) {\r\n var name = \"\";\r\n var count = 0;\r\n this.isLoadingSelectBusiness = true;\r\n if ((selectedBusinessProcessName != undefined || selectedBusinessProcessName != null) && count != 1) {\r\n this.uatDataService.getUATAvailability(selectedBusinessProcessName).subscribe((response: any[]) => {\r\n this.businessProcess = response;\r\n\r\n var obj = {};\r\n for (var i = 0, len = this.businessProcess.length; i < len; i++) {\r\n obj[this.businessProcess[i]['service']] = this.businessProcess[i];\r\n }\r\n\r\n this.businessProcess = new Array();\r\n for (var key in obj) {\r\n this.businessProcess.push(obj[key]);\r\n }\r\n\r\n this.logger.trackTrace(\"Successfully loaded UAT Availability View Page\");\r\n this.isLoadingSelectBusiness = false;\r\n }, (error: any) => {\r\n try {\r\n this.showMessage = true;\r\n this.showPreloader = false;\r\n this.msgTxt = error.error.errors[0].message;\r\n this.isLoadingSelectBusiness = false;\r\n } catch (ex) {\r\n\r\n this.msgTxt = 'Some error occured while loading UAT Availability Details';\r\n this.logger.trackTrace(this.msgTxt);\r\n this.isLoadingSelectBusiness = false;\r\n }\r\n this.isLoadingSelectBusiness = false;\r\n });\r\n }\r\n\r\n }\r\n}\r\n","
\r\n
\r\n \r\n
\r\n
Loading ... Please Wait
\r\n
\r\n
\r\n
\r\n

UAT Availability View

\r\n
\r\n
\r\n Description:\r\n

{{this.pageDescription}}

\r\n
\r\n\r\n
\r\n
Search by Business Process Name:
\r\n
\r\n Select Business Process Name\r\n 0\"\r\n arial-label=\"Select Business Process Name\" title=\"Select Business Process Name\" aria-expanded=\"false\"\r\n aria-required=\"true\" [ngbTooltip]=\"selectBusinessProcessNameTooltip\" placement=\"right\"\r\n [openDelay]=\"500\" [closeDelay]=\"1500\">\r\n \r\n\r\n
\r\n
\r\n\r\n
\r\n \r\n
\r\n
Loading ... Please Wait
\r\n
\r\n
\r\n\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
#\r\n
\r\n {{row}}\r\n
\r\n
\r\n {{row}}\r\n
\r\n
\r\n {{row}}\r\n
\r\n
\r\n {{row}}\r\n
\r\n
\r\n {{row}}\r\n
\r\n
\r\n {{row}}\r\n
\r\n
\r\n {{row}} (UTC)\r\n
\r\n
\r\n {{row}}\r\n
\r\n
\r\n {{row}}\r\n
\r\n
{{data.scor}}{{data.service}}{{data.totalRequest}}{{data.successRequestCount}}{{data.clientFailureCount}}{{data.serviceFailureCount}}{{data.lastFailureTime}}= 95% is Green\">{{data.successPercent}}{{data.successPercent}}= 85% is Yellow\">{{data.successPercent}}{{data.dri}}
\r\n
\r\n
\r\n
\r\n
\r\n\r\n","import { GoodReceiptMockRequest } from '../model/goodreceiptrequest.model';\r\nimport { GoodReceiptMockResponse } from '../model/goodreceiptresponse.model';\r\nimport { HttpClient } from '@angular/common/http';\r\nimport { Injectable } from '@angular/core';\r\nimport { ConfigService } from './config.service';\r\n\r\n@Injectable()\r\nexport class GoodReceiptService {\r\n\r\n constructor(private httpClient: HttpClient, private configService: ConfigService) {\r\n }\r\n\r\n onPostMockLoadPlanRequest(goodReceiptMockRequest: GoodReceiptMockRequest) {\r\n const baseUrlWithVersion = this.configService.omtestSuiteAPI.baseUrl + '/api/' + this.configService.omtestSuiteAPI.apiVersion;\r\n return this.httpClient.post(baseUrlWithVersion + '/goodsreceiptmock', goodReceiptMockRequest);\r\n }\r\n}\r\n","import { HttpClient } from '@angular/common/http';\r\nimport { Injectable } from '@angular/core';\r\nimport { ConfigService } from './config.service';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class BrMockersService {\r\n\r\n constructor(private httpClient: HttpClient, private configService: ConfigService) { }\r\n brCreateMock(brCreateMockRequest: any) {\r\n const baseUrlWithVersion = this.configService.omtestSuiteAPI.baseUrl + '/api/' + this.configService.omtestSuiteAPI.apiVersion;\r\n return this.httpClient.post(baseUrlWithVersion + '/scgmockers/mockbookingrequestcreate', brCreateMockRequest);\r\n }\r\n\r\n brCancelMock(brCancelMockRequest: any) {\r\n const baseUrlWithVersion = this.configService.omtestSuiteAPI.baseUrl + '/api/' + this.configService.omtestSuiteAPI.apiVersion;\r\n return this.httpClient.post(baseUrlWithVersion + '/scgmockers/mockbookingrequestcancel', brCancelMockRequest);\r\n}\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport * as FileSaver from 'file-saver';\r\nimport * as XLSX from 'xlsx-js-style';\r\n\r\nconst EXCEL_TYPE = 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet;charset=UTF-8';\r\nconst EXCEL_EXTENSION = '.xlsx';\r\n\r\n@Injectable()\r\nexport class ExcelFileService {\r\n\r\n constructor() { }\r\n\r\n public exportAsExcelFile(headLength, json: any[], excelFileName: string): void {\r\n const worksheet: XLSX.WorkSheet = XLSX.utils.json_to_sheet(json);\r\n const workbook: XLSX.WorkBook = { Sheets: { 'data': worksheet }, SheetNames: ['data'] };\r\n let row = []\r\n if (headLength == 7) {\r\n row = ['A', 'B', 'C', 'D', 'E', 'F', 'G']\r\n } else {\r\n row = ['A', 'B', 'C', 'D']\r\n }\r\n \r\n for (var i = 0; i < row.length; i++) {\r\n worksheet[row[i] + '1'].s = {\r\n fill: {\r\n fgColor: { rgb: \"E9E9E9\" }\r\n },\r\n font: {\r\n name: 'Calibri',\r\n sz: 13,\r\n bold: true,\r\n italic: false,\r\n underline: false\r\n },\r\n border: {\r\n top: { style: \"thick\", color: { rgb: \"000000\" } },\r\n right: { style: \"thick\", color: { rgb: \"000000\" } },\r\n bottom: { style: \"thick\", color: { rgb: \"000000\" } },\r\n left: { style: \"thick\", color: { rgb: \"000000\" } }\r\n },\r\n alignment: { wrapText: true } \r\n };\r\n }\r\n\r\n var wscols = [\r\n { wch: 10 },\r\n { wch: 40 },\r\n { wch: 40 },\r\n { wch: 20 },\r\n { wch: 40 },\r\n { wch: 20 },\r\n { wch: 10 },\r\n ];\r\n\r\n worksheet['!cols'] = wscols;\r\n\r\n const excelBuffer: any = XLSX.write(workbook, { bookType: 'xlsx', type: 'array' });\r\n this.saveAsExcelFile(excelBuffer, excelFileName);\r\n }\r\n\r\n private saveAsExcelFile(buffer: any, fileName: string): void {\r\n const data: Blob = new Blob([buffer], {\r\n type: EXCEL_TYPE\r\n });\r\n FileSaver.saveAs(data, fileName + EXCEL_EXTENSION);\r\n }\r\n\r\n}\r\n","import { Component, OnInit } from '@angular/core';\r\nimport { MasterDataService } from '../service/masterdata.service';\r\nimport { DescriptionService } from '../service/description.service';\r\n\r\n@Component({\r\n selector: 'app-mockers',\r\n templateUrl: './mockers.component.html',\r\n styleUrls: ['./mockers.component.css']\r\n})\r\nexport class MockersComponent implements OnInit {\r\n\r\n pageDetails: any[];\r\n showMessage: boolean;\r\n showPreloader: boolean;\r\n msgTxt: string;\r\n\r\n constructor(private masterDataService: MasterDataService, private descriptionService: DescriptionService,) { }\r\n\r\n ngOnInit() {\r\n // window.sessionStorage.setItem(\"orgSelected\", \"1\");\r\n this.descriptionService.pageDetailsMocker().subscribe((response: any[]) => {\r\n // this.logger.trackTrace(`Serial Number Generation Get page Description successfully`);\r\n this.pageDetails = response;\r\n }, (error: any) => {\r\n try {\r\n this.showMessage = true;\r\n this.showPreloader = false;\r\n console.log(error);\r\n // this.addLogLine(error.error.errors[0].message);\r\n this.msgTxt = error.error.errors[0].message;\r\n } catch (ex) {\r\n this.msgTxt = 'Some error occured while loading Page Name and Description';\r\n // this.logger.trackTrace(`Serial Number Generation Error: ${this.msgTxt}`);\r\n // this.logger.trackException(ex);\r\n // this.addLogLine(error.error);\r\n }\r\n });\r\n }\r\n\r\n}\r\n","
\r\n

Mockers And Descriptions

\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
NameDescription
{{page.mockerName}}{{page.mockerDescription}}
\r\n
\r\n
\r\n","import { Component, OnInit, ViewEncapsulation } from '@angular/core';\r\n\r\nimport { ManageTestRunsComponent } from './manage-testruns/manage-testruns.component';\r\n\r\n@Component({\r\n selector: 'app-scenarios',\r\n templateUrl: './manage-scenarios.component.html',\r\n encapsulation: ViewEncapsulation.None,\r\n styleUrls: ['./manage-scenarios.component.css'],\r\n providers: [ ManageTestRunsComponent ]\r\n})\r\nexport class ManageScenariosComponent implements OnInit {\r\n\r\n manageTestRunsComponent: ManageTestRunsComponent;\r\n\r\n tabs = [\r\n { id: 0, name: 'tabExecuteTestRuns', title: 'Execute Test Runs', active: true, component: '' },\r\n { id: 1, name: 'tabManageTestRuns', title: 'Manage Test Runs', active: false, component: '' }\r\n ];\r\n\r\n activeTabId: number;\r\n\r\n constructor(_manageTestRunsComponent: ManageTestRunsComponent) {\r\n this.manageTestRunsComponent = _manageTestRunsComponent;\r\n }\r\n\r\n ngOnInit() {\r\n this.activeTabId = 0;\r\n }\r\n\r\n changeTab(id: number) {\r\n this.activeTabId = id;\r\n }\r\n}\r\n","
\r\n
\r\n \r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n","import { Component } from '@angular/core';\r\nimport { FieldWrapper } from '@ngx-formly/core';\r\n\r\n@Component({\r\n selector: 'formly-wrapper-items',\r\n template: `\r\n
\r\n

{{ to.label }}

\r\n
\r\n \r\n
\r\n
\r\n `,\r\n})\r\nexport class ItemsWrapperComponent extends FieldWrapper { }\r\n","import { PipeTransform, Pipe } from '@angular/core';\r\n\r\n@Pipe({\r\n name: 'filter',\r\n pure: false\r\n})\r\nexport class FilterPipe implements PipeTransform {\r\n transform(items: any[], filter: (item: any) => boolean): any {\r\n if (!items || !filter) {\r\n return items;\r\n }\r\n return items.filter(i => filter(i));\r\n }\r\n}","import { Component, OnInit, Input } from '@angular/core';\r\nimport { UatAvailabilityService } from '../../service/uatavailability.service';\r\nimport { MasterDataService } from '../../service/masterdata.service';\r\nimport { MsalService } from '@azure/msal-angular'\r\nimport { ConfigService } from '../../service/config.service';\r\nimport * as log from '../../AppInsightsLogger';\r\nimport { skip } from 'rxjs/operators';\r\n//mport { NgxUiLoaderService } from 'ngx-ui-loader';\r\nimport { ManageScenariosService } from '../../service/manage-scenarios.service';\r\nimport { TestPlanInstance } from 'src/app/model/project-view.model';\r\n\r\nexport enum Status {\r\n NOT_STARTED = 'NOT_STARTED',\r\n AT_RISK = 'AT_RISK',\r\n IN_PROGRESS = 'IN_PROGRESS',\r\n COMPLETED = 'COMPLETED',\r\n}\r\n\r\nexport const STATUS_LABELS: Record = {\r\n [Status.NOT_STARTED]: 'Not Started',\r\n [Status.AT_RISK]: 'At Risk',\r\n [Status.IN_PROGRESS]: 'In Progress',\r\n [Status.COMPLETED]: 'Completed'\r\n};\r\n\r\nexport const STATUS_LABEL = 'Status';\r\n\r\nexport interface RowGroup {\r\n key: string;\r\n label: string;\r\n startRowIndex: number;\r\n rows: Array;\r\n}\r\n\r\n//For collapsable testPlanInstance: TestPlanInstance\r\nexport class BaseTestPlanInstance {\r\n TestPlanID: string;\r\n TestPlanInstanceId: string;\r\n TestPlanName: string;\r\n createDate: Date;\r\n startDate: Date;\r\n endDate: Date;\r\n owner: string;\r\n customerName: string;\r\n customerType: string;\r\n testCaseInstances: any[];\r\n\r\n}\r\n\r\n//For the template TestPlan\r\nexport class TestPlan {\r\n testPlanID: number;\r\n testPlanName: string;\r\n testPlanDescription: string;\r\n testPlanCreateDate: Date;\r\n testPlanModifiedDate: Date;\r\n testPlanOwner: string;\r\n testCases: any[];\r\n testPlanInstances: BaseTestPlanInstance[];\r\n}\r\n\r\n\r\ntype CheckableRow = {\r\n isHovered: boolean;\r\n checked: boolean;\r\n};\r\n\r\nclass RowGroupTaskGroup extends TestPlan implements RowGroup, CheckableRow {\r\n key: string;\r\n label: string;\r\n startRowIndex: number;\r\n rows: (BaseTestPlanInstance & CheckableRow)[];\r\n\r\n isHovered: boolean;\r\n checked: boolean;\r\n}\r\n\r\n@Component({\r\n selector: 'app-test-grid',\r\n templateUrl: './test-grid.component.html',\r\n styleUrls: ['./test-grid.component.css']\r\n})\r\nexport class TestGridComponent implements OnInit {\r\n\r\n @Input() organizationId:number;\r\n @Input() column_schema: any = [];\r\n @Input() table_data: any;\r\n\r\n\r\n gridId: number = 1;\r\n\r\n rowGroups: Array = [];\r\n totalRows = 0;\r\n originalTasks: Array = [];\r\n isGroupCollapsedMap: Record = {};\r\n isCollapsedAll = false;\r\n isFocusedOnTaskGroupLabel = false;\r\n project: any;\r\n\r\n\r\n allSelected = false; // whether all rows are selected\r\n isGridHeaderHovered = false; // is mouse hovered over the grid header\r\n isMultiSelectMode = false; // true if any task is selected\r\n selectedTasks: Map = new Map();\r\n private logger: log.AppInsightsLogger;\r\n sortingColumns = {};\r\n \r\n\r\n\r\n constructor(\r\n private msalService: MsalService,\r\n private configService: ConfigService,\r\n private uatDataService: UatAvailabilityService,\r\n private masterDataService: MasterDataService, private manageTestRunsService: ManageScenariosService) {\r\n this.logger = new log.AppInsightsLogger(configService, msalService);\r\n\r\n }\r\n\r\n updateTestPlan(group: TestPlan): void { }\r\n\r\n get displayColumns() {\r\n return this.column_schema.filter(column => column.class.length);\r\n }\r\n\r\n get hasFiltersApplied(): boolean {\r\n return false; //this.filterService.hasFilters(this.gridId);\r\n }\r\n\r\n get fxnRowGroups(): any {\r\n return this.rowGroups;\r\n }\r\n\r\n displayCheckbox(row: CheckableRow) {\r\n return row.checked || row.isHovered;\r\n }\r\n\r\n setAllCheckboxes(isChecked: boolean) {\r\n this.allSelected = isChecked;\r\n this.rowGroups.forEach(rowGroup => {\r\n rowGroup.checked = this.allSelected;\r\n rowGroup.rows.forEach(row => {\r\n this.setCheckboxValue(row, this.allSelected);\r\n });\r\n });\r\n }\r\n\r\n toggleTaskGroupCheckbox(testPlanIndex: number) {\r\n const testPlan = this.rowGroups[testPlanIndex];\r\n\r\n testPlan.checked = !testPlan.checked;\r\n\r\n testPlan.rows.forEach(row => {\r\n this.setCheckboxValue(row, testPlan.checked);\r\n });\r\n\r\n //this.recalcAllCheckboxValue();\r\n }\r\n\r\n toggleTaskCheckbox(taskGroupIndex: number, taskIndex: number) {\r\n const task = this.rowGroups[taskGroupIndex].rows[taskIndex];\r\n\r\n this.setCheckboxValue(task, !task.checked);\r\n }\r\n\r\n setCheckboxValue(row: (BaseTestPlanInstance & CheckableRow), checked: boolean) {\r\n if (row.checked === checked)\r\n return;\r\n\r\n row.checked = checked;\r\n if (checked) {\r\n this.selectedTasks.set(row.TestPlanID, row);\r\n }\r\n else {\r\n this.selectedTasks.delete(row.TestPlanID);\r\n }\r\n\r\n this.isMultiSelectMode = this.selectedTasks.size > 0;\r\n }\r\n\r\n taskDrop(event: any): void { }\r\n\r\n ngOnInit() {\r\n setTimeout(() => {\r\n this.updateDisplay();\r\n }, 1000\r\n );\r\n\r\n }\r\n\r\n updateDisplay(): void {\r\n this.rowGroups = [];\r\n let nextRowIndex = 1;\r\n for (let i = 0; i < this.table_data['testPlans'].length; ++i) {\r\n\r\n let testPlan: TestPlan = this.table_data['testPlans'][i];\r\n\r\n let newGroup = {\r\n ...this.table_data['testPlans'][i],\r\n id: i,\r\n label: testPlan.testPlanName,\r\n tasks: testPlan.testPlanInstances || [],\r\n // used for grid rendering\r\n key: testPlan.testPlanID.toString(),\r\n startRowIndex: nextRowIndex,\r\n rows: testPlan.testPlanInstances || []\r\n } as RowGroupTaskGroup;\r\n\r\n this.rowGroups.push(newGroup);\r\n const numTasks = !!testPlan.testPlanInstances ? testPlan.testPlanInstances.length : 0;\r\n nextRowIndex = nextRowIndex + numTasks + 1;\r\n }\r\n }\r\n\r\n isGroupCollapsed(id: number): boolean {\r\n\r\n if (this.isGroupCollapsedMap[id] === undefined) {\r\n this.isGroupCollapsedMap[id] = this.isCollapsedAll;\r\n }\r\n return this.isGroupCollapsedMap[id];\r\n }\r\n\r\n rowsChanged(event: any): void {\r\n\r\n }\r\n\r\n toggleCollapseAll(): void {\r\n this.isCollapsedAll = !this.isCollapsedAll;\r\n Object.keys(this.isGroupCollapsedMap).forEach(key => {\r\n this.isGroupCollapsedMap[key] = this.isCollapsedAll;\r\n });\r\n }\r\n\r\n\r\n getUrlParams(projectId, testPlanId, testPlanInstanceId){\r\n return {\r\n 'org':this.organizationId,\r\n 'projectId': projectId,\r\n 'testPlanId': testPlanId,\r\n 'testPlanInstanceId': testPlanInstanceId\r\n };\r\n \r\n }\r\n\r\n /**\r\n * \r\n * @param column : the column that is being sorted.\r\n */\r\n sortBy(column:string){\r\n let keys: string[] = Object.keys(this.sortingColumns);\r\n \r\n for(var key of keys){\r\n if (key != column) {\r\n this.sortingColumns[key] = 0;\r\n }\r\n }\r\n\r\n this.sortingColumns[column] = this.sortingColumns[column] == undefined || this.sortingColumns[column] == 0 ? 1:0;\r\n \r\n\r\n if(this. sortingColumns[column] == 1){ \r\n if(column == \"label\") column = 'testPlanName';\r\n var comparator = function(taskA:BaseTestPlanInstance, taskB:BaseTestPlanInstance) {return taskA[column] < taskB[column]? -1: 1};\r\n }\r\n else{\r\n if(column == \"label\") column = 'testPlanName';\r\n var comparator = function(taskA:BaseTestPlanInstance, taskB:BaseTestPlanInstance) {return taskA[column] > taskB[column]? -1: 1}; \r\n }\r\n \r\n this.rowGroups = [];\r\n let nextRowIndex = 1;\r\n let table_data = JSON.parse(JSON.stringify(this.table_data));\r\n\r\n for (let i = 0; i < table_data['testPlans'].length; ++i) {\r\n\r\n let testPlan: TestPlan = table_data['testPlans'][i]\r\n let testPlanInstances = testPlan.testPlanInstances.sort(comparator);\r\n\r\n let newGroup = {\r\n ...table_data['testPlans'][i],\r\n id: i,\r\n label: testPlan.testPlanName,\r\n tasks: testPlan.testPlanInstances || [],\r\n // used for grid rendering\r\n key: testPlan.testPlanID.toString(),\r\n startRowIndex: nextRowIndex,\r\n rows: testPlan.testPlanInstances || []\r\n } as RowGroupTaskGroup;\r\n\r\n this.rowGroups.push(newGroup);\r\n const numTasks = !!testPlan.testPlanInstances ? testPlan.testPlanInstances.length : 0;\r\n nextRowIndex = nextRowIndex + numTasks + 1;\r\n }\r\n }\r\n}\r\n","\r\n
\r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
{{column.label}}\r\n \r\n
\r\n
\r\n
\r\n\r\n\r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n \r\n
({{ group.rows.length }})
\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n There are no items to show at the moment.\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n
0\" role=\"gridcell\" [ngClass]=\"column.class\">\r\n
\r\n \r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n","import { Component, OnInit } from '@angular/core';\r\nimport { FieldType } from '@ngx-formly/core'; \r\n\r\n@Component({\r\n selector: 'app-formly-readonly-listview',\r\n templateUrl: './formly-readonly-listview.component.html',\r\n styleUrls: ['./formly-readonly-listview.component.css']\r\n})\r\nexport class FormlyReadOnlyViewComponent extends FieldType {\r\n //Flag for checking button toggle. \r\n viewCollapseClicked: boolean = false;\r\n\r\n\r\n\r\n /* function to verify if the list is empty or not*/\r\n isEmpty(list: any) {\r\n return Object.keys(list).length === 0;\r\n }\r\n\r\n}\r\n","

\r\n \r\n

\r\n
\r\n
\r\n
\r\n
\r\n There is no supplier master data available for the specified data combinations. \r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
# Supplier Code Supplier Name
{{i + 1}} {{supplier.SupplierCode}} {{supplier.SupplierName}}
\r\n
\r\n
\r\n
\r\n","import { Component } from '@angular/core';\r\nimport { FieldType, FormlyFieldConfig } from '@ngx-formly/core';\r\n\r\n@Component({\r\n selector: 'formly-field-tabs',\r\n template: `\r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n`,\r\n})\r\nexport class FormlyFieldTabs extends FieldType {\r\n isValid(field: FormlyFieldConfig) {\r\n if (field.key) {\r\n return field.formControl.valid;\r\n }\r\n\r\n return field.fieldGroup\r\n ? field.fieldGroup.every((f) => this.isValid(f))\r\n : true;\r\n }\r\n}\r\n","import { Component, OnInit } from '@angular/core';\r\nimport { ShipmentService } from '../service/shipment.service';\r\nimport {\r\n ShipmentMockRequest,\r\n ShipmentMockRequestType,\r\n ShipmentParams,\r\n Entity,\r\n OutboundDC,\r\n COO,\r\n LineItem,\r\n OrderLine,\r\n ItemDetails,\r\n CooStateItem\r\n} from '../model/shipment.model';\r\nimport { Constants } from '../service/constant.service';\r\nimport { SampleFilesService } from '../service/samplefiles.service';\r\nimport { MasterDataService } from '../service/masterdata.service';\r\nimport { Vendor, Plant } from '../model/masterdata.model';\r\nimport { ConfigService } from '../service/config.service';\r\nimport * as log from '../AppInsightsLogger';\r\nimport { DescriptionService } from '../service/description.service';\r\nimport { ApplicationInsights } from '@microsoft/applicationinsights-web';\r\nimport { MsalService } from '@azure/msal-angular';\r\n\r\n@Component({\r\n selector: 'app-shipmentmocker',\r\n templateUrl: './shipmentmocker.component.html',\r\n styleUrls: ['./shipmentmocker.component.css']\r\n})\r\nexport class ShipmentmockerComponent implements OnInit {\r\n private static readonly SYNCMODE = 'SYNC';\r\n private static readonly LOADMODE = 'LOAD';\r\n name: string;\r\n\r\n itemDetails: ItemDetails[] = []\r\n\r\n MockRequestType = ShipmentMockRequestType;\r\n typeList: { label: string, value: ShipmentMockRequestType }[] = [\r\n { label: 'Warehouse Outbound', value: ShipmentMockRequestType.DC },\r\n { label: 'CM Inbound', value: ShipmentMockRequestType.CM },\r\n { label: 'Acknowledge Receipt Delivery', value: ShipmentMockRequestType.ARD }\r\n ];\r\n\r\n shipmentFlavorTypeList: { label: string, value: string }[] = [\r\n ];\r\n\r\n dcShipmentFlavorTypeList: { label: string, value: string }[] = [\r\n { label: 'Full Pallet', value: 'FullPallet' },\r\n { label: 'Loose Carton', value: 'LooseCarton' },\r\n { label: 'Mixed Pallet', value: 'MixedPallet' },\r\n { label: 'Loose Carton Mixed Carton', value: 'LooseCartonMixedCarton' },\r\n { label: 'Mixed Pallet Mixed Carton', value: 'MixedPalletMixedCarton' }\r\n ];\r\n\r\n wtpShipmentFlavorTypeList: { label: string, value: string }[] = [\r\n { label: 'Loose Carton', value: 'LooseCarton' }\r\n ];\r\n\r\n cmATOShipmentFlavorTypeList: { label: string, value: string }[] = [\r\n { label: 'Full Pallet', value: 'FullPallet' },\r\n { label: 'Mixed Pallet', value: 'MixedPallet' },\r\n { label: 'Loose Carton', value: 'LooseCarton' },\r\n ];\r\n\r\n cmBTSShipmentFlavorTypeList: { label: string, value: string }[] = [\r\n { label: 'Full Pallet', value: 'FullPallet' },\r\n { label: 'Mixed Pallet', value: 'MixedPallet' }\r\n ];\r\n\r\n ardSubProcessTypeList: { label: string, value: string }[] = [\r\n { label: 'Confirm Onboard', value: 'ConfirmOnboard' },\r\n { label: 'Destination Scan', value: 'ConfirmDestinationScan' },\r\n ];\r\n\r\n ardProcessTypeList: { label: string, value: string }[] = [\r\n { label: 'Direct Ship', value: 'DirectShip' },\r\n { label: 'BTS', value: 'BTS' },\r\n { label: 'Refurb', value: 'Refurb' }\r\n ];\r\n\r\n\r\n cmProcessTypeList: { label: string, value: string }[] = [\r\n { label: 'BTS', value: 'BTS' },\r\n { label: 'Direct Ship', value: 'DirectShip' }\r\n ];\r\n\r\n dcProcessTypeList: { label: string, value: string }[] = [\r\n { label: 'Standard', value: 'Standard' },\r\n { label: 'STO', value: 'STO' },\r\n { label: 'CSCP_SparesForward_RSD->DC', value: 'WTP_FORWARD_RSD_DC' },\r\n { label: 'CSCP_SparesReturn_RSD->SI', value: 'WTP_RETURN_RSD_SI' },\r\n { label: 'CSCP_SparesReturn_RSD->T2', value: 'WTP_RETURN_RSD_T2' },\r\n { label: 'ShipLite.DO', value: 'shiplite_do' }\r\n ];\r\n\r\n cmPartnerList: Vendor[];\r\n dcPartnerList: Plant[];\r\n dcOutboundPartnerList: OutboundDC[] = [\r\n {\r\n PartnerId: 'ARVATO',\r\n TenantId: '9000000013',\r\n SupportedModes: [ShipmentmockerComponent.SYNCMODE, ShipmentmockerComponent.LOADMODE],\r\n Platform:['Device','Cloud']\r\n },\r\n {\r\n PartnerId: 'ARVATOPERF',\r\n TenantId: '8000000001',\r\n SupportedModes: [ShipmentmockerComponent.SYNCMODE, ShipmentmockerComponent.LOADMODE],\r\n Platform: ['Device']\r\n },\r\n {\r\n PartnerId: 'IML',\r\n TenantId: '9000000013',\r\n SupportedModes: [ShipmentmockerComponent.SYNCMODE, ShipmentmockerComponent.LOADMODE],\r\n Platform: ['Device']\r\n },\r\n {\r\n PartnerId: 'FLEX',\r\n TenantId: '9000000013',\r\n SupportedModes: [ShipmentmockerComponent.SYNCMODE, ShipmentmockerComponent.LOADMODE],\r\n Platform: ['Device']\r\n },\r\n {\r\n PartnerId: 'CEVA',\r\n TenantId: '9000000013',\r\n SupportedModes: [ShipmentmockerComponent.SYNCMODE, ShipmentmockerComponent.LOADMODE],\r\n Platform: ['Device']\r\n },\r\n {\r\n PartnerId: 'SYNNEX',\r\n TenantId: '9000000013',\r\n SupportedModes: [ShipmentmockerComponent.SYNCMODE, ShipmentmockerComponent.LOADMODE],\r\n Platform: ['Device']\r\n },\r\n {\r\n PartnerId: 'EXPEDITORS',\r\n TenantId: '9000000013',\r\n SupportedModes: [ShipmentmockerComponent.SYNCMODE, ShipmentmockerComponent.LOADMODE],\r\n Platform: ['Device']\r\n },\r\n {\r\n PartnerId: '3040568',\r\n TenantId: '9000000013',\r\n SupportedModes: [ShipmentmockerComponent.SYNCMODE, ShipmentmockerComponent.LOADMODE],\r\n Platform: ['Device','Cloud']\r\n },\r\n {\r\n PartnerId: '3057945',\r\n TenantId: '9000000013',\r\n SupportedModes: [ShipmentmockerComponent.SYNCMODE, ShipmentmockerComponent.LOADMODE],\r\n Platform: ['Device','Cloud']\r\n }\r\n ];\r\n\r\n platform: string;\r\n type: ShipmentMockRequestType;\r\n doNumbers: string;\r\n poNumbers: string;\r\n partnerProfile: OutboundDC;\r\n senderInfo: Vendor;\r\n receiverInfo: Plant;\r\n mode: string;\r\n itemPerCarton: number;\r\n batchSize: number;\r\n showLoader: boolean;\r\n logMessage: '';\r\n flavorType: 'FullPallet';\r\n processType: string;\r\n subProcessType: string;\r\n newPOAlertClosed = false;\r\n loadIdAlertClosed = false;\r\n isConsolidated = false;\r\n isSerialized = false;\r\n consolidationAlert = false;\r\n serializedAlert = false;\r\n showSubmitWarning = false;\r\n doNumbersValid = false;\r\n poNumbersValid = false;\r\n private logger: log.AppInsightsLogger;\r\n pageDetails: any[];\r\n pageDescription: string;\r\n loadId: string = null;\r\n scacCode: string;\r\n total: number = 0;\r\n sidebarOpened: boolean;\r\n firstSplitPercent: any[];\r\n secondSplitPercent: any[];\r\n firstCOO: string[];\r\n secondCOO: string[];\r\n checkBox: boolean[];\r\n cooState: CooStateItem[];\r\n doError: boolean;\r\n poError: boolean;\r\n countryCodes: string[];\r\n cache: { [orderId: string]: ItemDetails[] };\r\n showHwpnPreloader: boolean;\r\n\r\n ngOnInit() {\r\n // window.sessionStorage.setItem(\"orgSelected\", \"1\");\r\n this.type = ShipmentMockRequestType.DC;\r\n this.showLoader = false;\r\n this.sidebarOpened = false;\r\n this.logMessage = '';\r\n this.mode = Constants.ShipmentModeSync;\r\n this.platform = 'Device';\r\n this.shipmentFlavorTypeList = this.dcShipmentFlavorTypeList;\r\n this.logger.trackTrace(`Successfully landed to Shipment Mocker`);\r\n this.descriptionService.pageDetailsMocker().subscribe((response: any[]) => {\r\n // this.logger.trackTrace(`Serial Number Generation Get page Description successfully`);\r\n this.pageDetails = response;\r\n this.pageDetails.forEach(element => {\r\n console.log(element.mockerName)\r\n if (element.mockerName == \"Shipment Mocker\") {\r\n this.pageDescription = element.mockerDescription\r\n }\r\n });\r\n });\r\n\r\n this.masterDataService.getVendors().subscribe((response: Vendor[]) => {\r\n this.cmPartnerList = response.filter(vendor => vendor.scenario === 'BTS' || vendor.scenario === 'ATO');\r\n this.logger.trackTrace(`In Shipment Mocker, CM Partner List Successfully `);\r\n }, (error: any) => {\r\n this.addLogLine(`Failed to load CM list: ${error}`);\r\n this.logger.trackTrace(`In Shipment Mocker, Failed to load CM list`);\r\n this.logger.trackException(error)\r\n });\r\n this.masterDataService.getPlants().subscribe((response: Plant[]) => {\r\n this.dcPartnerList = response.filter(plant => plant.scenario === 'BTS' || plant.scenario === 'ATO');\r\n this.logger.trackTrace(`In Shipment Mocker, DC Partner List Successfully `);\r\n }, (error: any) => {\r\n this.addLogLine(`Failed to load plant list: ${error}`);\r\n this.logger.trackTrace(`In Shipment Mocker, Failed to load plant list`);\r\n this.logger.trackException(error);\r\n });\r\n\r\n this.masterDataService.getCountry().subscribe((response) => {\r\n let countries = response || [];\r\n this.countryCodes = countries.map(c => {\r\n return c.shortCountryCode;\r\n });\r\n this.logger.trackTrace(`In Shipment Mocker, Country List loaded successfully `);\r\n }, (error: any) => {\r\n this.logger.trackTrace(`In Shipment Mocker, Failed to load country list`);\r\n this.logger.trackException(error);\r\n });\r\n }\r\n\r\n constructor(private descriptionService: DescriptionService, private masterDataService: MasterDataService, private shipmentService: ShipmentService, private msalService: MsalService, private configService: ConfigService) {\r\n this.filterDCOutboundPartners = this.filterDCOutboundPartners.bind(this);\r\n this.firstSplitPercent = [];\r\n this.firstCOO = [];\r\n this.secondSplitPercent = [];\r\n this.secondCOO = [];\r\n this.checkBox = [];\r\n this.cooState = [];\r\n this.doError = false;\r\n this.poError = false;\r\n this.cache = {};\r\n this.showHwpnPreloader = false;\r\n\r\n this.countryCodes = [];\r\n this.name = this.msalService.instance.getActiveAccount().name;\r\n this.logger = new log.AppInsightsLogger(configService, msalService);\r\n }\r\n\r\n onPostShipmentClick() {\r\n const byDoNumbers = ShipmentMockRequestType[this.type] === ShipmentMockRequestType[ShipmentMockRequestType.DC];\r\n let batchCounter = 0;\r\n this.showLoader = true;\r\n this.logMessage = '';\r\n\r\n const numbersArray = this.getNumberArray(byDoNumbers ? this.doNumbers : this.poNumbers);\r\n\r\n if (this.mode === Constants.ShipmentModeLoad) {\r\n const totalNumberOfOrders = numbersArray.length;\r\n const batchedArrays = this.getBatchedArrays(numbersArray, this.batchSize);\r\n\r\n this.addLogLine(`Selected Shipment Mode: ${Constants.ShipmentModeLoad}, Type: ${ShipmentMockRequestType[this.type]}` +\r\n `, Number of Delivery Orders in file: ${totalNumberOfOrders}, Total batches: ${batchedArrays.length}`);\r\n this.logger.trackTrace(`In Shipment Mocker, ${this.addLogLine} `);\r\n\r\n batchedArrays.forEach(element => {\r\n const shipmentRequest = this.createShipmentMockRequest(element, true);\r\n this.shipmentService.postMockShipmentRequest(shipmentRequest).subscribe(shipmentResponse => {\r\n this.addLogLine(`Batch ${++batchCounter} submitted. Batch - ${JSON.stringify(element)}`);\r\n }, (error) => {\r\n this.addLogLine(`Some error occured for batch : ${batchCounter}. Batch - ${JSON.stringify(element)}. Error msg - ${JSON.stringify(error)}`);\r\n this.logger.trackTrace(`In Shipment Mocker, Some error occured for batch`);\r\n this.logger.trackException(error)\r\n });\r\n });\r\n\r\n this.showLoader = false;\r\n } else if (this.mode === Constants.ShipmentModeSync) {\r\n\r\n const totalNumberOfOrders = numbersArray.length;\r\n\r\n this.addLogLine(`Selected Shipment Mode: ${Constants.ShipmentModeSync}, Type: ${ShipmentMockRequestType[this.type]}` +\r\n `, Number of Delivery Orders: ${totalNumberOfOrders}`);\r\n\r\n const shipmentRequest = this.createShipmentMockRequest(numbersArray, false);\r\n\r\n this.shipmentService.postMockShipmentRequest(shipmentRequest).subscribe(shipmentResponse => {\r\n if (shipmentResponse != null && shipmentResponse.length > 0) {\r\n shipmentResponse.forEach(element => {\r\n const logline = `EntityNumber: ${element.entityNumber}, EntityType: ${element.entityType}`;\r\n if (element.correlationId === '') {\r\n this.addLogLine(`Shipment failed. ${logline}, Message: ${element.message}`);\r\n this.logger.trackTrace(`In Shipment Mocker, Shipment failed. ${logline}, Message: ${element.message} `);\r\n } else {\r\n this.addLogLine(`Shipment submitted. ` + logline +\r\n `, Shipment Correlation Id: ${element.correlationId}, Message: ${element.message}`);\r\n this.logger.trackTrace(`In Shipment Mocker, Shipment submitted. ` + logline +\r\n `, Shipment Correlation Id: ${element.correlationId}, Message: ${element.message}`);\r\n }\r\n });\r\n this.showLoader = false;\r\n } else {\r\n this.addLogLine(`Some error occured: ${shipmentResponse}`);\r\n this.logger.trackTrace(`In Shipment Mocker, Some error occured`);\r\n this.showLoader = false;\r\n }\r\n }, (error) => {\r\n this.addLogLine(`Some error occured: ${JSON.stringify(error)}`);\r\n this.logger.trackTrace(`In Shipment Mocker, Some error occured: ${JSON.stringify(error)} `);\r\n this.logger.trackException(error)\r\n this.showLoader = false;\r\n });\r\n }\r\n }\r\n\r\n createCOOLineItem(orderNumber: string) {\r\n let response: LineItem[] = [];\r\n\r\n for (let i = 0; i < this.cooState.length; i++){\r\n if(orderNumber == this.cooState[i].orderNumber){\r\n var lineItem = new LineItem();\r\n var coos = [new COO(), new COO()];\r\n\r\n coos[0].Name = this.cooState[i].firstCoo;\r\n coos[0].Quantity = this.cooState[i].firstQuantity;\r\n coos[1].Name = this.cooState[i].secondCoo;\r\n coos[1].Quantity = this.cooState[i].secondQuantity;\r\n lineItem.COO = coos;\r\n lineItem.SKU = this.cooState[i].sku;\r\n\r\n response.push(lineItem);\r\n }\r\n }\r\n\r\n return response.length > 0 ? response : null;\r\n }\r\n\r\n getBatchedArrays(array: string[], batchSize: number) {\r\n const batchedArrays = [];\r\n\r\n while (array.length > 0) {\r\n batchedArrays.push(array.splice(0, batchSize));\r\n }\r\n\r\n return batchedArrays;\r\n }\r\n\r\n openFile(event: any, type: ShipmentMockRequestType) {\r\n const input = event.target;\r\n for (let index = 0; index < input.files.length; index++) {\r\n const reader = new FileReader();\r\n reader.onload = () => {\r\n if (type === ShipmentMockRequestType.DC) {\r\n this.doNumbers = reader.result as string;\r\n } else if (type === ShipmentMockRequestType.CM) {\r\n this.poNumbers = reader.result as string;\r\n }\r\n };\r\n reader.readAsText(input.files[index]);\r\n }\r\n }\r\n\r\n downloadSampleFile(type: ShipmentMockRequestType) {\r\n SampleFilesService.downloadSampleFile(\r\n type === ShipmentMockRequestType.DC ?\r\n SampleFilesService.DeliveryOrdersLoadModeSample :\r\n SampleFilesService.PurchaseOrdersLoadModeSample);\r\n }\r\n\r\n addLogLine(line: string) {\r\n const currentDateTime = new Date();\r\n this.logMessage += '[' + currentDateTime.toLocaleString() + '] ' + line + '\\n';\r\n }\r\n\r\n getNumberArray(numInput: string) {\r\n let numberArrayUntrimmed: string[];\r\n let numberArrayTrimmed: string[];\r\n\r\n if (this.mode === Constants.ShipmentModeSync) {\r\n numberArrayUntrimmed = numInput.split(',');\r\n } else if (this.mode === Constants.ShipmentModeLoad) {\r\n numberArrayUntrimmed = numInput.replace(/\\r/g, '').split('\\n');\r\n }\r\n\r\n numberArrayTrimmed = [];\r\n numberArrayUntrimmed.forEach(num => {\r\n if (num != null) {\r\n numberArrayTrimmed.push(num.trim());\r\n }\r\n });\r\n\r\n return numberArrayTrimmed;\r\n }\r\n\r\n createShipmentMockRequest(numberArray: string[], isLoadMode: boolean) {\r\n if (ShipmentMockRequestType[this.type] === ShipmentMockRequestType[ShipmentMockRequestType.DC]) {\r\n return this.createDCShipmentMockRequest(numberArray, isLoadMode);\r\n } else if (ShipmentMockRequestType[this.type] === ShipmentMockRequestType[ShipmentMockRequestType.CM]) {\r\n return this.createCMShipmentMockRequest(numberArray, isLoadMode);\r\n } else if (ShipmentMockRequestType[this.type] === ShipmentMockRequestType[ShipmentMockRequestType.ARD]) {\r\n return this.createInboundShipmentMockRequest(numberArray, isLoadMode);\r\n }\r\n return null;\r\n }\r\n\r\n createDCShipmentMockRequest(numberArray: string[], isLoadMode: boolean) {\r\n const shipmentRequest = new ShipmentMockRequest();\r\n\r\n shipmentRequest.mode = isLoadMode ? Constants.ShipmentModeLoad : Constants.ShipmentModeSync;\r\n shipmentRequest.shipmentType = 'DCShipment';\r\n shipmentRequest.tenantId = this.partnerProfile.TenantId;\r\n shipmentRequest.Entities = [];\r\n numberArray.forEach(doNumber => {\r\n shipmentRequest.Entities.push(\r\n {\r\n EntityNumber: doNumber,\r\n EntityType: 'DeliveryOrder',\r\n LoadId: this.loadId,\r\n LineItems: null\r\n });\r\n });\r\n\r\n const params = new ShipmentParams();\r\n // Enable Shipment Consolidation only for DC Outbound (Shipment by Delivery Order) & SYNC mode\r\n params.IsConsolidated = isLoadMode ? false : this.isConsolidated;\r\n params.IsSerializedScenario = isLoadMode ? false : this.isSerialized;\r\n params.FlavorType = this.flavorType;\r\n params.Sender = this.partnerProfile.PartnerId;\r\n params.ScacCode = this.scacCode;\r\n\r\n if (params.Sender == \"3040568\" || params.Sender == \"3057945\") {\r\n params.ReceiverId = \"3040568\";\r\n params.ReceiverPartnerId = \"4412\";\r\n }\r\n\r\n //Based on Shivank conversation:\r\n //USS DC shipment there is an added field in mocker input 'ProcessType' to update that field\r\n //For non sto we dont pass anything so deleting the params for now. \r\n if (this.processType.toUpperCase() == \"STANDARD\") {\r\n delete params.ProcessType;\r\n }\r\n else {\r\n params.ProcessType = this.processType;\r\n }\r\n shipmentRequest.shipmentParams = params;\r\n return shipmentRequest;\r\n }\r\n\r\n createCMShipmentMockRequest(numberArray: string[], isLoadMode: boolean) {\r\n const shipmentRequest = new ShipmentMockRequest();\r\n\r\n shipmentRequest.mode = isLoadMode ? Constants.ShipmentModeLoad : Constants.ShipmentModeSync;\r\n shipmentRequest.shipmentType = 'CMShipment';\r\n shipmentRequest.Entities = [];\r\n let _entityType = 'PurchaseOrder';\r\n if (this.processType == 'DirectShip') {\r\n _entityType = 'CustomerPurchaseOrder';\r\n }\r\n\r\n numberArray.forEach(poNumber => {\r\n shipmentRequest.Entities.push(\r\n {\r\n EntityNumber: poNumber,\r\n EntityType: _entityType,\r\n LoadId: this.loadId,\r\n LineItems: isLoadMode? null : this.createCOOLineItem(poNumber) // for now support mixed COO in only Sync mode\r\n });\r\n });\r\n\r\n\r\n const params = new ShipmentParams();\r\n params.IsConsolidated = false;\r\n params.Sender = this.senderInfo.vendorName;\r\n params.SenderId = this.senderInfo.vendorCode;\r\n params.Receiver = this.receiverInfo.plantName;\r\n params.ReceiverId = this.receiverInfo.plantCode;\r\n params.IsConsolidated = this.isConsolidated;\r\n params.ItemsPerCarton = this.itemPerCarton;\r\n params.ScacCode = this.scacCode;\r\n params.ProcessType = this.processType;\r\n params.PackageScenario = this.flavorType;\r\n if (this.itemPerCarton < 1) {\r\n params.ItemsPerCarton = 1;\r\n }\r\n shipmentRequest.shipmentParams = params;\r\n return shipmentRequest;\r\n }\r\n\r\n createInboundShipmentMockRequest(numberArray: string[], isLoadMode: boolean) {\r\n const shipmentRequest = new ShipmentMockRequest();\r\n\r\n shipmentRequest.mode = isLoadMode ? Constants.ShipmentModeLoad : Constants.ShipmentModeSync;\r\n shipmentRequest.shipmentType = 'InboundShipment';\r\n shipmentRequest.Entities = [];\r\n numberArray.forEach(poNumber => {\r\n shipmentRequest.Entities.push(\r\n {\r\n EntityNumber: poNumber,\r\n EntityType: 'PurchaseOrder',\r\n LoadId: this.loadId,\r\n LineItems: null\r\n });\r\n });\r\n\r\n const params = new ShipmentParams();\r\n // Enable Shipment Consolidation only for DC Outbound (Shipment by Delivery Order) & SYNC mode\r\n params.IsConsolidated = false;\r\n params.ProcessType = this.processType;\r\n params.SubProcessType = this.subProcessType;\r\n params.SenderId = this.senderInfo.vendorCode;\r\n params.ScacCode = this.scacCode;\r\n params.ReceiverId = this.receiverInfo.plantCode;\r\n\r\n shipmentRequest.shipmentParams = params;\r\n return shipmentRequest;\r\n }\r\n\r\n clearLogs() {\r\n this.logMessage = '';\r\n }\r\n\r\n filterDCOutboundPartners(partner: OutboundDC) {\r\n return partner.SupportedModes.includes(this.mode) && partner.Platform.includes(this.platform);\r\n }\r\n\r\n onModeChange(newMode: any) {\r\n this.partnerProfile = null;\r\n this.resetSyncModeFields();\r\n }\r\n\r\n onTypeChange(newType: any) {\r\n this.partnerProfile = null;\r\n this.resetSyncModeFields();\r\n this.loadId = null;\r\n this.scacCode = null;\r\n if (this.type == ShipmentMockRequestType.DC) {\r\n this.shipmentFlavorTypeList = this.dcShipmentFlavorTypeList;\r\n }\r\n else {\r\n this.shipmentFlavorTypeList = this.cmBTSShipmentFlavorTypeList;\r\n }\r\n }\r\n\r\n onProcessTypeChange(newProcessType: any) {\r\n this.partnerProfile = null;\r\n this.resetSyncModeFields();\r\n this.loadId = null;\r\n this.scacCode = null;\r\n if (this.type == ShipmentMockRequestType.CM) {\r\n if (this.processType == 'DirectShip') {\r\n this.shipmentFlavorTypeList = this.cmBTSShipmentFlavorTypeList;\r\n }\r\n else {\r\n this.shipmentFlavorTypeList = this.cmATOShipmentFlavorTypeList;\r\n }\r\n }\r\n else if (this.type == ShipmentMockRequestType.DC) {\r\n this.platform = this.processType.includes('WTP') ? 'Cloud' : 'Device';\r\n this.shipmentFlavorTypeList = this.processType.includes('WTP') ? this.wtpShipmentFlavorTypeList : this.dcShipmentFlavorTypeList;\r\n }\r\n }\r\n\r\n resetSyncModeFields() {\r\n this.doNumbers = null;\r\n this.poNumbers = null;\r\n //making default as fullpallet\r\n this.flavorType = 'FullPallet';\r\n }\r\n\r\n updateDoNumberTotal(formControl: any) {\r\n if (this.doNumbers == null || this.doNumbers.length == 0) {\r\n this.total = 0;\r\n } else {\r\n this.total = this.doNumbers.split(\",\").length;\r\n }\r\n }\r\n\r\n handleDoNumberChange(formControl: any) {\r\n this.updateDoNumberTotal(formControl);\r\n \r\n\r\n if (this.getNumberArray(this.doNumbers).length > 10) {\r\n formControl.control.setErrors({ 'maxCountExceeded': true });\r\n this.doNumbersValid = false;\r\n } else {\r\n delete formControl.control.errors.maxCountExceeded;\r\n if (Object.keys(formControl.control.errors).length === 0) {\r\n formControl.control.setErrors(null);\r\n // Because formControl can still be invalid if errors obj exists,\r\n // we must manually nullify the errors object\r\n }\r\n this.doNumbersValid = true;\r\n }\r\n }\r\n\r\n handleConsolidation(formControl: any) {\r\n this.handleDoNumberChange(formControl);\r\n this.consolidationAlert = this.isConsolidated ? true : false;\r\n }\r\n\r\n handleSerialized(formControl: any) {\r\n this.serializedAlert = this.isSerialized ? true : false;\r\n }\r\n\r\n handlePONumberTotal(formControl: any) {\r\n if (this.poNumbers == null || this.poNumbers.length == 0) {\r\n this.total = 0;\r\n } else {\r\n this.total = this.poNumbers.split(\",\").length;\r\n }\r\n }\r\n\r\n handlePONumberChange(formControl: any) {\r\n this.handlePONumberTotal(formControl);\r\n\r\n if (this.getNumberArray(this.poNumbers).length > 10) {\r\n formControl.control.setErrors({ 'maxCountExceeded': true });\r\n this.poNumbersValid = false;\r\n } else {\r\n delete formControl.control.errors.maxCountExceeded;\r\n if (Object.keys(formControl.control.errors).length === 0) {\r\n formControl.control.setErrors(null);\r\n // Because formControl can still be invalid if errors obj exists,\r\n // we must manually nullify the errors object\r\n }\r\n this.poNumbersValid = true;\r\n }\r\n }\r\n\r\n handleConsolidationCM(formControl: any) {\r\n this.handlePONumberChange(formControl);\r\n }\r\n\r\n async toggleSidebar() {\r\n this.sidebarOpened = !this.sidebarOpened;\r\n if (this.sidebarOpened) {\r\n // sidebar opened, clear any old data, and load fresh data\r\n this.clearSidebarState();\r\n this.showHwpnPreloader = false;\r\n await this.getCOOData();\r\n } else {\r\n this.showHwpnPreloader = true;\r\n }\r\n }\r\n\r\n changeFirstSplit(event: any, i: number) {\r\n this.firstSplitPercent[i] = 100 - this.secondSplitPercent[i];\r\n }\r\n\r\n changeSecondSplit(event: any, i: number) {\r\n this.secondSplitPercent[i] = 100 - this.firstSplitPercent[i];\r\n }\r\n\r\n /**\r\n * Clears data for mixed coo sidebar panel\r\n * */\r\n clearSidebarState() {\r\n this.firstSplitPercent.splice(0, this.firstSplitPercent.length);\r\n this.secondSplitPercent.splice(0, this.secondSplitPercent.length);\r\n this.firstCOO.splice(0, this.firstCOO.length);\r\n this.secondCOO.splice(0, this.secondCOO.length);\r\n this.checkBox.splice(0, this.checkBox.length);\r\n this.itemDetails.splice(0, this.itemDetails.length);\r\n }\r\n\r\n /**\r\n * Validate COO Sidebar for submission\r\n * */\r\n validateMixedCOOState() {\r\n\r\n if (this.sidebarOpened) {\r\n for (let i = 0; i < this.itemDetails.length; i++) {\r\n if (this.checkBox[i]) {\r\n\r\n // validation : ensure master pack value is present and divisible by total quantity\r\n let masterPackVal = parseInt(this.itemDetails[i].unitsPerMP);\r\n let totalQuantity = parseInt(this.itemDetails[i].qty);\r\n\r\n if (isNaN(masterPackVal) || isNaN(totalQuantity) || masterPackVal < 1 || totalQuantity % masterPackVal !== 0 || isNaN(totalQuantity / masterPackVal)) {\r\n return false;\r\n }\r\n\r\n // validation : ensure the 2 COO countries are selected and are different\r\n if ((this.firstCOO[i] || \"\").length == 0 || (this.secondCOO[i] || \"\").length == 0 || this.firstCOO[i] === this.secondCOO[i]) {\r\n return false;\r\n }\r\n\r\n // validation: ensure the 2 split percentages are some valid numbers\r\n if (isNaN(parseInt(this.calculateFirstCooEstimatedQuantity(this.firstSplitPercent, i))) ||\r\n isNaN(parseInt(this.calculateSecondCooEstimatedQuantity(this.secondSplitPercent, i)))) {\r\n return false;\r\n }\r\n }\r\n }\r\n }\r\n\r\n return true;\r\n }\r\n\r\n /**\r\n * Submit COO form\r\n * */\r\n submitSidebarState() {\r\n this.cooState.splice(0, this.cooState.length);\r\n let masterPackValue = \"\";\r\n\r\n for (let i = 0; i < this.itemDetails.length; i++) {\r\n if (this.checkBox[i]) {\r\n var coo = new CooStateItem();\r\n coo.firstQuantity = this.calculateFirstCooEstimatedQuantity(this.firstSplitPercent, i);\r\n coo.secondQuantity = this.calculateSecondCooEstimatedQuantity(this.secondSplitPercent, i);\r\n coo.firstCoo = this.firstCOO[i];\r\n coo.secondCoo = this.secondCOO[i];\r\n coo.orderNumber = this.itemDetails[i].orderNumber;\r\n coo.sku = this.itemDetails[i].material;\r\n coo.firstSplitPercent = this.firstSplitPercent[i];\r\n coo.secondSplitPercent = this.secondSplitPercent[i];\r\n \r\n this.cooState.push(coo);\r\n\r\n let masterPackVal = parseInt(this.itemDetails[i].unitsPerMP);\r\n if (!isNaN(masterPackVal)) {\r\n masterPackValue = masterPackVal.toString();\r\n }\r\n }\r\n }\r\n\r\n if ((masterPackValue || \"\").length > 0) {\r\n this.itemPerCarton = parseInt(masterPackValue);\r\n }\r\n\r\n this.clearSidebarState();\r\n this.toggleSidebar();\r\n }\r\n\r\n /**\r\n * Handle NAN number, if so retun string, otherwise return the number in string formaat\r\n * @param num number to tested\r\n */\r\n handleNan(num: number) {\r\n return isNaN(num) ? \"\" : (\"\" + num);\r\n }\r\n\r\n /**\r\n * Check if any of the master packs are not loaded successfully from database\r\n * */\r\n areMasterPacksLoaded() {\r\n let response = true;\r\n\r\n for (let i = 0; i < this.itemDetails.length; ++i) {\r\n response = response && this.itemDetails[i].isMasterPackLoaded;\r\n }\r\n\r\n return response;\r\n }\r\n\r\n /**\r\n * Calculate and return total master packs based on quantity and master pack value for the item\r\n * @param itemIdx index of the item\r\n */\r\n calculateTotalMasterPacks(itemIdx: number) {\r\n let itemDetail = this.itemDetails[itemIdx];\r\n\r\n let quantity = parseInt(itemDetail.qty);\r\n let masterPackVal = parseInt(itemDetail.unitsPerMP);\r\n\r\n if (!isNaN(quantity) && !isNaN(masterPackVal) && masterPackVal > 0 && quantity % masterPackVal == 0) {\r\n return (quantity / masterPackVal).toString();\r\n }\r\n else {\r\n return \"\";\r\n }\r\n }\r\n\r\n /**\r\n * Calculate quantity for first split based on percentage\r\n * @param splitPercent first split percent array\r\n * @param elementIdx index of the element to be processed\r\n */\r\n calculateFirstCooEstimatedQuantity(splitPercent: any[], elementIdx: number){\r\n return this.handleNan(\r\n ( Math.floor(\r\n (0.01 * this.firstSplitPercent[elementIdx] * parseInt(this.itemDetails[elementIdx].qty))\r\n / parseInt(this.itemDetails[elementIdx].unitsPerMP)\r\n )\r\n )\r\n * parseInt(this.itemDetails[elementIdx].unitsPerMP));\r\n }\r\n\r\n /**\r\n * Calculate quantity for second split based on percentage\r\n * @param splitPercent second split percent array\r\n * @param elementIdx index of the element to be processed\r\n */\r\n calculateSecondCooEstimatedQuantity(splitPercent: any[], elementIdx: number) {\r\n return this.handleNan(\r\n parseInt(this.itemDetails[elementIdx].qty)\r\n - parseInt(this.calculateFirstCooEstimatedQuantity(splitPercent, elementIdx))\r\n );\r\n }\r\n\r\n /**\r\n * Cache item\r\n * @param item Item to be cached\r\n */\r\n cacheDataItem(item: ItemDetails) {\r\n if (!(item.orderNumber in this.cache)) {\r\n this.cache[item.orderNumber] = [];\r\n }\r\n\r\n for (let i = 0; i < this.cache[item.orderNumber].length; ++i) {\r\n if (this.cache[item.orderNumber][i].lineNum == item.lineNum) {\r\n return; // already cached\r\n }\r\n }\r\n\r\n this.cache[item.orderNumber].push(item);\r\n }\r\n\r\n /**\r\n * Get cached item \r\n * @param orderNumber order number for which item is to retrieved from cache\r\n */\r\n getCachedDataItem(orderNumber: string) {\r\n if (orderNumber in this.cache) {\r\n return this.cache[orderNumber];\r\n }\r\n\r\n return null;\r\n }\r\n\r\n /**\r\n * Get Data for COO form\r\n * */\r\n async getCOOData(){\r\n\r\n var orderIds: string[] = [];\r\n\r\n // Only CM Shipment mocker supported for Mixed COO\r\n if (ShipmentMockRequestType[this.type] === ShipmentMockRequestType[ShipmentMockRequestType.CM]) {\r\n orderIds = this.getNumberArray(this.poNumbers);\r\n }\r\n else {\r\n return; \r\n }\r\n\r\n await this.getMixedCooData(orderIds);\r\n }\r\n\r\n /**\r\n * Get data for COO from Order IDs\r\n * !! WARNING - only 1 order id supported for now, see how to expand to multiple orders in future !!\r\n * @param idNumber order IDs\r\n */\r\n async getMixedCooData(idNumber: string[]) {\r\n\r\n this.poError = false;\r\n this.doError = false;\r\n\r\n for (let i = 0; i < idNumber.length; i++) {\r\n var orderId = idNumber[i];\r\n\r\n var items = this.getCachedDataItem(orderId);\r\n if (items != null && items.length > 0) {\r\n // Item is present in cache already, then restore its details, and COO state \r\n var holds: boolean = false;\r\n for (let j = 0; j < this.itemDetails.length; j++) {\r\n holds = holds || this.itemDetails[j].orderNumber == orderId;\r\n }\r\n if (!holds) {\r\n this.itemDetails.push(...items);\r\n }\r\n\r\n // restore COO state as was setup by user last time\r\n for (let k = 0; k < this.cooState.length; ++k) {\r\n if (this.cooState[k].orderNumber == orderId) {\r\n this.checkBox[k] = true;\r\n this.firstCOO[k] = this.cooState[k].firstCoo;\r\n this.secondCOO[k] = this.cooState[k].secondCoo;\r\n this.firstSplitPercent[k] = this.cooState[k].firstSplitPercent; \r\n this.secondSplitPercent[k] = this.cooState[k].secondSplitPercent;\r\n }\r\n }\r\n }\r\n else\r\n {\r\n // Item not present in cache, then load information from API\r\n\r\n var orderLineObservable =\r\n ShipmentMockRequestType[this.type] === ShipmentMockRequestType[ShipmentMockRequestType.CM] && this.processType == \"DirectShip\" ?\r\n this.shipmentService.getCustomerPurchaseOrderLine(orderId)\r\n : this.shipmentService.getPurchaseOrderLines(orderId);\r\n \r\n orderLineObservable.subscribe(\r\n (orderLines: OrderLine[]) => {\r\n\r\n if ((orderLines || []).length == 0) {\r\n this.handleCooError(true, \"Error - can't load order details\");\r\n return;\r\n }\r\n\r\n for (let j = 0; j < orderLines.length; ++j) {\r\n let orderLine = orderLines[j];\r\n\r\n var detail: ItemDetails = new ItemDetails();\r\n detail.material = orderLine.sku;\r\n detail.orderNumber = orderId;\r\n detail.lineNum = orderLine.orderNumber;\r\n detail.plant = orderLine.plant;\r\n detail.qty = orderLine.quantity;\r\n detail.unitsPerMP = orderLine.masterPackQuantity;\r\n detail.totalMP = (parseInt(detail.qty) / parseInt(detail.unitsPerMP)).toString();\r\n this.itemDetails.push(detail);\r\n this.cacheDataItem(detail);\r\n\r\n if (!isNaN(parseInt(detail.unitsPerMP))) {\r\n detail.isMasterPackLoaded = true;\r\n }\r\n else {\r\n detail.isMasterPackLoaded = false;\r\n }\r\n }\r\n },\r\n (error: any) => {\r\n this.handleCooError(true, error);\r\n }\r\n );\r\n }\r\n }\r\n }\r\n\r\n /**\r\n * Handle error for info not being loaded for COO\r\n * @param isPurchaseOrder true if this is purchase order\r\n * @param error error object if any\r\n */\r\n handleCooError(isPurchaseOrder: boolean, error: any){\r\n if (error != null) {\r\n this.logger.trackTrace(`In Shipment Mocker, COO sidebar failed`);\r\n this.logger.trackException(error);\r\n console.log(error);\r\n }\r\n\r\n if(isPurchaseOrder){\r\n this.poError = true;\r\n this.doError = false;\r\n }else{\r\n this.poError = false;\r\n this.doError = true;\r\n }\r\n\r\n this.toggleSidebar();\r\n }\r\n}\r\n","\r\n \r\n
\r\n
\r\n
\r\n
\r\n
Item Details
\r\n
\r\n
\r\n
\r\n \r\n ×\r\n \r\n
\r\n
\r\n\r\n
\r\n \r\n \r\n Warning: MasterPack Quantity (Units/MP) can not be loaded for some Line Items. Please provide the quantity in the field Units/MP below.\r\n \r\n
\r\n\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
MixedLine Item #MaterialQtyPlantUnits/MP# of MPsEstimate Split Qty
{{itemDetail.lineNum}}{{itemDetail.material}}{{itemDetail.qty}}{{itemDetail.plant}}\r\n \r\n \r\n \r\n \r\n {{itemDetail.unitsPerMP}}\r\n \r\n {{calculateTotalMasterPacks(i)}}
1st COO:\r\n \r\n % Split:\r\n \r\n {{calculateFirstCooEstimatedQuantity(firstSplitPercent, i)}}
2nd COO:\r\n \r\n % Split:\r\n \r\n {{calculateSecondCooEstimatedQuantity(secondSplitPercent, i)}}
\r\n
\r\n\r\n
\r\n 0\">\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n\r\n\r\n
\r\n

Shipment Mocker

\r\n
\r\n
\r\n Description:\r\n

{{this.pageDescription}}

\r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n
Type is required
\r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n
Mode is required
\r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n
ProcessType is required
\r\n
\r\n
\r\n
\r\n \r\n Full Pallet - A pallet placed with cartons to its max capacity
\r\n Partial Pallet - A pallet not placed with cartons to its max capacity
\r\n Mixed Pallet - A pallet contains products of different SKUs
\r\n Loose Load/Loose Carton - No pallet, only cartons loosely shipped altogether\r\n
\r\n \r\n
\r\n \r\n
FlavorType is required
\r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n
ProcessType is required
\r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n
subProcessType is required
\r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n \r\n
\r\n \r\n \r\n \r\n Please verify that the DeliveryOrders to be consolidated have the same values for the following fields:\r\n
(1) ShipFrom Address (i.e. Sender of shipment)\r\n
(2) ShipTo Address (i.e. Receiver of shipment)\r\n
(3) Shipment Date (i.e. DeliveryByDate or CustomerRequestedDeliveryDate fields)\r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n\r\n \r\n
\r\n Partner\r\n profile is required\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n\r\n
\r\n
\r\n \r\n \r\n\r\n
\r\n \r\n
Invalid Order Id(s)
\r\n
\r\n\r\n
\r\n \r\n \r\n \r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n If POs are newly created, please submit the shipment a couple of hours later.\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n \r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n Load ID will be applied to all the orders listed in PO Feild.\r\n
\r\n
\r\n\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n
(e.g. 'UPSN')
\r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n CM partner is\r\n required\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n DC partner is\r\n required\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n Item per\r\n carton must be between 1 and 200\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n Batch Size is required\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n \r\n Certain Distribution Center partners are not yet supported by Delivery Order Service, such as the following:\r\n
IvyTech, FLEX, and Teleplan\r\n
\r\n
As a result, you may encounter the following error message after submitting with the Shipment Mocker:\r\n PayloadFetchFromDOServiceFailure\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n Clear\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n","import { Injectable } from '@angular/core';\r\nimport { AppInsights } from 'applicationinsights-js';\r\nimport { ConfigService } from './config.service';\r\n\r\n@Injectable()\r\nexport class MonitoringService {\r\n\r\n private config: Microsoft.ApplicationInsights.IConfig = {\r\n instrumentationKey: this.configService.getAppInsightsInstrumentationKey()\r\n \r\n };\r\n\r\n constructor(private configService: ConfigService) {\r\n if (!AppInsights.config) {\r\n AppInsights.downloadAndSetup(this.config);\r\n }\r\n }\r\n\r\n logPageView(name?: string, url?: string, properties?: any, measurements?: any, duration?: number) {\r\n AppInsights.trackPageView(name, url, properties, measurements, duration);\r\n }\r\n\r\n logEvent(name: string, properties?: any, measurements?: any) {\r\n AppInsights.trackEvent(name, properties, measurements);\r\n }\r\n\r\n logException(exception: Error, handledAt?: string, properties?: any, measurements?: any) {\r\n AppInsights.trackException(exception, handledAt, properties, measurements);\r\n }\r\n\r\n logTrace(message: string, properties?: any, severityLevel?: any) {\r\n AppInsights.trackTrace(message, properties, severityLevel);\r\n }\r\n}\r\n","export class AckknowledgementMockerRequest{\r\n public MessageType:string;\r\n public Parameters:ParameterAck;\r\n}\r\nexport class ParameterAck{\r\npublic Action :string;\r\npublic MessageBusinessChannel:string;\r\npublic MessageSubBusinessChannel:string;\r\npublic Sender:string;\r\npublic Transaction:Transac;\r\n\r\n}\r\nexport class Transac{\r\n public Status:string;\r\n public Type:string;\r\n public Identifier:Identifiers[];\r\n public Reasons:Reason[];\r\n}\r\nexport class Identifiers{\r\n public Type: string;\r\n public Id:string;\r\n}\r\nexport class Reason{\r\n public Name:string;\r\n public Description:string;\r\n}","import { HttpClient } from '@angular/common/http';\r\nimport { Injectable } from '@angular/core';\r\nimport { ConfigService } from './config.service';\r\n@Injectable()\r\nexport class TestProjectService{\r\n constructor(private httpClient: HttpClient, private configService: ConfigService) {\r\n }\r\n getTestPlanInstances(testPlanId: any) {\r\n const baseUrlWithVersion = this.configService.omtestSuiteAPI.baseUrl + '/api/' + this.configService.omtestSuiteAPI.apiVersion;\r\n return this.httpClient.get(baseUrlWithVersion + `/TestCaseProjectView/gettestplanInstances?TestPlanId=${testPlanId}`);\r\n }\r\n getProjectTestCaseView() {\r\n const baseUrlWithVersion = this.configService.omtestSuiteAPI.baseUrl + '/api/' + this.configService.omtestSuiteAPI.apiVersion;\r\n return this.httpClient.get(baseUrlWithVersion + '/TestCaseProjectView/getprojecttestcaseview');\r\n }\r\n}\r\n","import { Component, OnInit } from '@angular/core';\r\nimport { MasterDataService } from '../service/masterdata.service';\r\nimport { DescriptionService } from '../service/description.service';\r\n\r\n@Component({\r\n selector: 'app-tools',\r\n templateUrl: './tools.component.html',\r\n styleUrls: ['./tools.component.css']\r\n})\r\nexport class ToolsComponent implements OnInit {\r\n\r\n pageDetails: any[];\r\n showMessage: boolean;\r\n showPreloader: boolean;\r\n msgTxt: string;\r\n\r\n constructor(private descriptionService: DescriptionService, private masterDataService: MasterDataService) { }\r\n\r\n ngOnInit() {\r\n this.setOrgData();\r\n this.descriptionService.pageDetailsTools().subscribe((response: any[]) => {\r\n this.pageDetails = response;\r\n }, (error: any) => {\r\n try {\r\n this.showMessage = true;\r\n this.showPreloader = false;\r\n console.log(error);\r\n this.msgTxt = error.error.errors[0].message;\r\n } catch (ex) {\r\n this.msgTxt = 'Some error occured while loading Page Name and Description';\r\n }\r\n });\r\n }\r\n\r\n setOrgData() {\r\n window.sessionStorage.setItem(\"orgSelected\", \"1\");\r\n }\r\n}","
\r\n

Tools And Descriptions

\r\n\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
NameDescription
{{page.toolName}}{{page.toolDescription}}
\r\n
\r\n\r\n
\r\n","import { Injectable } from '@angular/core';\r\nimport { MsalService } from '@azure/msal-angular';\r\nimport { JwtHelperService } from '@auth0/angular-jwt';\r\nimport { from } from 'rxjs';\r\nimport { HttpClient, HttpHeaders } from '@angular/common/http';\r\nimport { ConfigService } from './config.service';\r\nimport { Constants } from './constant.service';\r\nimport { threadId } from 'worker_threads';\r\nimport { InteractionRequiredAuthError } from '@azure/msal-browser';\r\nimport { CurrencyPipe } from '@angular/common';\r\n\r\n@Injectable()\r\nexport class AuthService {\r\n\r\n jwtHelper: JwtHelperService;\r\n expectedRoles: any\r\n\r\n constructor(private msalService: MsalService, private httpClient: HttpClient, private configService: ConfigService) {\r\n this.jwtHelper = new JwtHelperService();\r\n this.expectedRoles = [Constants.RoleOMTestSuiteAdmin, Constants.RoleOMTestSuiteRead, Constants.RoleOMTestSuiteTester];\r\n }\r\n\r\n async getAccessToken(resource: string) {\r\n var currentAccount = this.msalService.instance.getActiveAccount();\r\n var silentRequest = {\r\n scopes:null, \r\n forceRefresh: false, \r\n account:currentAccount\r\n }\r\n var request = {\r\n scopes: null,// For v1 endpoints, use upn from idToken claims\r\n };\r\n return await this.msalService.instance.acquireTokenSilent(silentRequest).catch(error => {\r\n if (error instanceof InteractionRequiredAuthError) {\r\n return this.msalService.instance.acquireTokenPopup(request);\r\n }\r\n });\r\n \r\n }\r\n\r\n async getTokenFromService(environment: string): Promise {\r\n return await this.getAccessToken(this.configService.auth.resourceUrl);\r\n }\r\n\r\n isUserAuthenticated() {\r\n return this.msalService.instance.getAllAccounts().length>0;\r\n }\r\n\r\n login() {\r\n this.msalService.instance.loginRedirect();\r\n }\r\n\r\n logout() {\r\n this.msalService.instance.logout();\r\n }\r\n\r\n isShipmentMockEnabled() {\r\n var isShipmentMockEnabled = false;\r\n var roles = this.msalService.instance.getActiveAccount().idTokenClaims.roles;\r\n if (roles && this.configService.selectedEnvironment != Constants.EnvironmentProd) {\r\n roles.forEach((element: any) => {\r\n if ((element == Constants.RoleOMTestSuiteAdmin || element == Constants.RoleOMTestSuiteTester)) {\r\n isShipmentMockEnabled = true;\r\n }\r\n });\r\n }\r\n\r\n return isShipmentMockEnabled;\r\n }\r\n\r\n isLoadPlanMockEnabled() {\r\n var isLoadPlanMockEnabled = false;\r\n var roles = this.msalService.instance.getActiveAccount().idTokenClaims.roles;\r\n if (roles && this.configService.selectedEnvironment != Constants.EnvironmentProd) {\r\n roles.forEach((element: any) => {\r\n if ((element == Constants.RoleOMTestSuiteAdmin || element == Constants.RoleOMTestSuiteTester)) {\r\n isLoadPlanMockEnabled = true;\r\n }\r\n });\r\n }\r\n\r\n return isLoadPlanMockEnabled;\r\n }\r\n\r\n isGoodreceiptMockEnabled() {\r\n var isGoodreceiptMockEnabled = false;\r\n var roles = this.msalService.instance.getActiveAccount().idTokenClaims.roles;\r\n if (roles && this.configService.selectedEnvironment != Constants.EnvironmentProd) {\r\n roles.forEach((element: any) => {\r\n if ((element == Constants.RoleOMTestSuiteAdmin || element == Constants.RoleOMTestSuiteTester)) {\r\n isGoodreceiptMockEnabled = true;\r\n }\r\n });\r\n }\r\n return isGoodreceiptMockEnabled;\r\n }\r\n isMockerV2() {\r\n var isMockerV2Enabled = false;\r\n var roles = this.msalService.instance.getActiveAccount().idTokenClaims.roles;\r\n if (roles && this.configService.selectedEnvironment != Constants.EnvironmentProd) {\r\n roles.forEach((element: any) => {\r\n if ((element == Constants.RoleOMTestSuiteAdmin || element == Constants.RoleOMTestSuiteTester)) {\r\n isMockerV2Enabled = true;\r\n }\r\n });\r\n }\r\n return isMockerV2Enabled;\r\n }\r\n isEnabled() {\r\n var isEnabled = false;\r\n var roles = this.msalService.instance.getActiveAccount().idTokenClaims.roles;\r\n if (roles && this.configService.selectedEnvironment != Constants.EnvironmentProd) {\r\n roles.forEach((element: any) => {\r\n if ((element == Constants.RoleOMTestSuiteAdmin || element == Constants.RoleOMTestSuiteTester)) {\r\n isEnabled = true;\r\n }\r\n });\r\n }\r\n\r\n return isEnabled;\r\n }\r\n\r\n isManageTestRunEnabled() {\r\n var isManageTestRunEnabled = false;\r\n var roles = this.msalService.instance.getActiveAccount().idTokenClaims.roles;\r\n if (roles && this.configService.selectedEnvironment != Constants.EnvironmentProd) {\r\n roles.forEach((element: any) => {\r\n if (element == Constants.RoleOMTestSuiteAdmin || element == Constants.RoleOMTestSuiteTester) {\r\n isManageTestRunEnabled = true;\r\n }\r\n });\r\n }\r\n return isManageTestRunEnabled;\r\n }\r\n\r\n isSerialNumberGenerationEnabled() {\r\n var isSerialNumberGenerationEnabled = false;\r\n var roles = this.msalService.instance.getActiveAccount().idTokenClaims.roles;\r\n if (roles && this.configService.selectedEnvironment != Constants.EnvironmentProd) {\r\n roles.forEach((element: any) => {\r\n if (element == Constants.RoleOMTestSuiteAdmin || element == Constants.RoleOMTestSuiteTester) {\r\n isSerialNumberGenerationEnabled = true;\r\n }\r\n });\r\n }\r\n return isSerialNumberGenerationEnabled;\r\n }\r\n\r\n isSerialNumberSearchEnabled() {\r\n var isSerialNumberSearchEnabled = false;\r\n var roles = this.msalService.instance.getActiveAccount().idTokenClaims.roles;\r\n if (roles && this.configService.selectedEnvironment != Constants.EnvironmentProd) {\r\n roles.forEach((element: any) => {\r\n if (element == Constants.RoleOMTestSuiteAdmin || element == Constants.RoleOMTestSuiteTester) {\r\n isSerialNumberSearchEnabled = true;\r\n }\r\n });\r\n }\r\n return isSerialNumberSearchEnabled;\r\n }\r\n\r\n isSkuValidationEnabled() {\r\n var isSkuValidationEnabled = false;\r\n var roles = this.msalService.instance.getActiveAccount().idTokenClaims.roles;\r\n if (roles && this.configService.selectedEnvironment != Constants.EnvironmentProd) {\r\n roles.forEach((element: any) => {\r\n if (element == Constants.RoleOMTestSuiteAdmin || element == Constants.RoleOMTestSuiteTester) {\r\n isSkuValidationEnabled = true;\r\n }\r\n });\r\n }\r\n return isSkuValidationEnabled;\r\n }\r\n\r\n isSAPOutputTriggerEnabled() {\r\n var isSAPOutputTriggerEnabled = false;\r\n var roles = this.msalService.instance.getActiveAccount().idTokenClaims.roles;\r\n if (roles && this.configService.selectedEnvironment != Constants.EnvironmentProd) {\r\n roles.forEach((element: any) => {\r\n if (element == Constants.RoleOMTestSuiteAdmin || element == Constants.RoleOMTestSuiteTester) {\r\n isSAPOutputTriggerEnabled = true;\r\n }\r\n });\r\n }\r\n return isSAPOutputTriggerEnabled;\r\n }\r\n\r\n isSkuSearchEnabled() {\r\n var isSkuSearchEnabled = false;\r\n var roles = this.msalService.instance.getActiveAccount().idTokenClaims.roles;\r\n if (roles && this.configService.selectedEnvironment != Constants.EnvironmentProd) {\r\n roles.forEach((element: any) => {\r\n if (element == Constants.RoleOMTestSuiteAdmin || element == Constants.RoleOMTestSuiteTester) {\r\n isSkuSearchEnabled = true;\r\n }\r\n });\r\n }\r\n return isSkuSearchEnabled;\r\n }\r\n\r\n isAPIDocEnabled() {\r\n var isAPIDocEnabled = false;\r\n var roles = this.msalService.instance.getActiveAccount().idTokenClaims.roles;\r\n if (roles && this.configService.selectedEnvironment != Constants.EnvironmentProd) {\r\n roles.forEach((element: any) => {\r\n if (element == Constants.RoleOMTestSuiteAdmin || element == Constants.RoleOMTestSuiteTester) {\r\n isAPIDocEnabled = true;\r\n }\r\n });\r\n }\r\n return isAPIDocEnabled;\r\n }\r\n\r\n isOrderViewEnabled() {\r\n var isOrderViewEnabled = false;\r\n var roles = this.msalService.instance.getActiveAccount().idTokenClaims.roles;\r\n if (!roles) {\r\n return false;\r\n }\r\n if (this.configService.selectedEnvironment == Constants.EnvironmentProd) {\r\n roles.forEach((element: any) => {\r\n if (element == Constants.RoleOMTestSuiteAdmin) {\r\n isOrderViewEnabled = true;\r\n }\r\n });\r\n }\r\n else if (this.configService.selectedEnvironment == Constants.EnvironmentUAT) {\r\n roles.forEach((element: any) => {\r\n if (element == Constants.RoleOMTestSuiteAdmin || element == Constants.RoleOMTestSuiteTester || element == Constants.RoleOMTestSuiteRead) {\r\n isOrderViewEnabled = true;\r\n }\r\n });\r\n }\r\n\r\n return isOrderViewEnabled;\r\n }\r\n\r\n isAuthenticatedWithRoles() {\r\n var isAuthenticatedWithRolesValid = false;\r\n if (!(this.msalService.instance.getAllAccounts().length>0)) {\r\n isAuthenticatedWithRolesValid = false;\r\n }\r\n else {\r\n if (this.msalService.instance.getActiveAccount().idTokenClaims.roles) {\r\n for (var i = 0; i < this.expectedRoles.length; i++) {\r\n var isRolePresent = this.msalService.instance.getActiveAccount().idTokenClaims.roles.includes(this.expectedRoles[i]);\r\n if (isRolePresent) {\r\n isAuthenticatedWithRolesValid = true;\r\n break;\r\n }\r\n }\r\n }\r\n else {\r\n isAuthenticatedWithRolesValid = false;\r\n }\r\n }\r\n\r\n return isAuthenticatedWithRolesValid;\r\n }\r\n}\r\n","export class Constants {\r\n public static SortOrderDescending = 'DESC';\r\n public static SortOrderAscending = 'ASC';\r\n public static DefaultPageSize = 10;\r\n public static ShipmentModeSync = 'SYNC';\r\n public static ShipmentModeLoad = 'LOAD';\r\n public static LoadPlanModeSync = 'SYNC';\r\n public static LoadPlanModeLoad = 'LOAD';\r\n public static DOEntityType = 'deliveryOrder';\r\n public static POEntityType = 'purchaseOrder';\r\n public static EnvironmentCI = 'CI';\r\n public static EnvironmentUAT = 'UAT';\r\n public static EnvironmentProd = 'Production';\r\n public static RoleOMTestSuiteTester = 'OMTestSuiteTester';\r\n public static RoleOMTestSuiteAdmin = 'OMTestSuiteAdmin';\r\n public static RoleOMTestSuiteRead = 'OMTestSuiteRead';\r\n}\r\n","import { Component, OnInit } from '@angular/core';\r\n\r\n@Component({\r\n // selector: 'app-testrunoverview',\r\n templateUrl: './testrunoverview.component.html',\r\n styleUrls: ['./testrunoverview.component.css']\r\n})\r\nexport class TestRunOverviewComponent implements OnInit {\r\n\r\n constructor() { }\r\n\r\n ngOnInit() {\r\n window.sessionStorage.setItem(\"orgSelected\", \"1\");\r\n }\r\n\r\n}\r\n","
\r\n
\r\n

Test Run Overview

\r\n
 
\r\n
\r\n
\r\n \r\n\r\n
\r\n\r\n\r\n \r\n\r\n
\r\n
\r\n\r\n","import { UATAvailability } from '../model/uatAvailability.model';\r\nimport { HttpClient } from '@angular/common/http';\r\nimport { Injectable } from '@angular/core';\r\nimport { ConfigService } from './config.service';\r\n\r\n@Injectable()\r\nexport class TestDataService {\r\n\r\n constructor(private httpClient: HttpClient, private configService: ConfigService) {\r\n }\r\n\r\n //getTestRuns(testRunRequest: any) {\r\n // const baseUrlWithVersion = this.configService.omtestSuiteAPI.baseUrl + '/api/' + this.configService.omtestSuiteAPI.apiVersion;\r\n // return this.httpClient.post(baseUrlWithVersion + '/TestRun/list', testRunRequest);\r\n //}\r\n\r\n //createNewTestRun(newTestRunRequest: any) {\r\n // const baseUrlWithVersion = this.configService.omtestSuiteAPI.baseUrl + '/api/' + this.configService.omtestSuiteAPI.apiVersion;\r\n // return this.httpClient.post(baseUrlWithVersion + '/TestRun', newTestRunRequest);\r\n //}\r\n\r\n}\r\n","import { Component, Input, Output, EventEmitter, OnInit, ViewChild, ViewContainerRef, TemplateRef, AfterViewInit, OnDestroy } from '@angular/core';\r\nimport { PartNumberDetail, ChildPartDetail } from '../model/part-number-detail';\r\nimport { MasterDataService } from '../service/masterdata.service';\r\nimport { NgbActiveModal, NgbModal, ModalDismissReasons, NgbModalRef } from '@ng-bootstrap/ng-bootstrap';\r\nimport { Subscription } from 'rxjs';\r\n\r\n@Component({\r\n selector: 'app-hardware-partnumber-lookup',\r\n templateUrl: './hardware-partnumber-lookup.component.html',\r\n styleUrls: ['./hardware-partnumber-lookup.component.css']\r\n})\r\n\r\nexport class HardwarePartnumberLookupComponent implements AfterViewInit, OnDestroy {\r\n public static readonly className: string = 'HardwarePartnumberLookupComponent';\r\n // Component, constructor names are uglified in production so we cannot simply call component.name\r\n // We must hard-code this part...\r\n // Should the component be renamed, this field must be updated, and the formly config must also be updated as well\r\n\r\n @Input() partNumber: string;\r\n @Output() hardwarePartNumber = new EventEmitter();\r\n\r\n // Modal References\r\n @ViewChild('hwpnLookupModal', { static: true, read: TemplateRef })\r\n hwpnLookupModal: TemplateRef;\r\n @ViewChild('hwpnLookupFailureModal', { static: true, read: TemplateRef })\r\n failureModal: TemplateRef;\r\n\r\n partNumberDetail: PartNumberDetail;\r\n hwpnLookupInvalidSku: string;\r\n hideSkuFormatAlert = true;\r\n modal: NgbModalRef;\r\n selectedHwpn: string;\r\n masterDataSubscription: Subscription;\r\n httpErrorCode: number = null;\r\n httpErrorMessage: string;\r\n\r\n constructor(\r\n private masterDataService: MasterDataService,\r\n private modalService: NgbModal) { }\r\n\r\n ngAfterViewInit() { }\r\n\r\n ngOnDestroy() { }\r\n\r\n /**\r\n * Attempts to retrieve Child Part Numbers for a given Part Number (SKU) and enable the corresponding modal\r\n * (success or failure)\r\n * @param successContent Success Modal\r\n * @param failureContent Failure Modal\r\n */\r\n public lookup(partNumber?: string) {\r\n this.httpErrorCode = null;\r\n this.httpErrorMessage = null;\r\n\r\n if (this.partNumber == null || this.partNumber == '') { // There are 2 places where the component can look for a partNumber\r\n if (partNumber) {\r\n this.partNumber = partNumber;\r\n } else {\r\n return;\r\n }\r\n }\r\n\r\n this.hwpnLookupInvalidSku = '';\r\n this.masterDataSubscription = this.masterDataService.getChildPartNumbers(this.partNumber).subscribe(\r\n (response: PartNumberDetail) => {\r\n this.partNumberDetail = response;\r\n },\r\n error => {\r\n this.httpErrorCode = error.status;\r\n console.log(\"error\", error)\r\n this.httpErrorMessage = \"\";\r\n\r\n let errorMessage1 = \"\", errorMessage2 = \"\";\r\n try {\r\n errorMessage1 = (error.error || \"\").trim();\r\n }\r\n catch (err) {\r\n }\r\n\r\n try {\r\n errorMessage2 = (error.error.errors[0].message || \"\").trim();\r\n }\r\n catch (err) {\r\n }\r\n\r\n this.httpErrorMessage = errorMessage1.length > 0 ? errorMessage1 : errorMessage2;\r\n \r\n this.hardwarePartNumber.emit('');\r\n this.modal = this.modalService.open(\r\n this.failureModal,\r\n {\r\n size: 'sml',\r\n centered: true,\r\n ariaLabelledBy: 'modal-basic-title'\r\n });\r\n this.modal.result.then(\r\n () => { },\r\n () => {\r\n this.hardwarePartNumber.emit('');\r\n this.partNumber = null;\r\n });\r\n },\r\n () => {\r\n this.partNumberDetail.childPartDetails = this.extractSubstituteParts(this.partNumberDetail.childPartDetails);\r\n if (this.partNumberDetail != null &&\r\n this.partNumberDetail.childPartDetails != null &&\r\n this.partNumberDetail.childPartDetails.length > 0) {\r\n this.modal = this.modalService.open(\r\n this.hwpnLookupModal,\r\n {\r\n size: 'xl',\r\n centered: true,\r\n ariaLabelledBy: 'modal-basic-title'\r\n });\r\n this.modal.result.then(\r\n () => { },\r\n () => {\r\n this.hardwarePartNumber.emit('');\r\n this.partNumber = null;\r\n });\r\n } else {\r\n this.httpErrorCode = 404; // Manually set error code as Resource Not Found\r\n this.modal = this.modalService.open(\r\n this.failureModal,\r\n {\r\n size: 'sm',\r\n centered: true,\r\n ariaLabelledBy: 'modal-basic-title'\r\n });\r\n this.modal.result.then(\r\n () => { },\r\n () => {\r\n this.hardwarePartNumber.emit('');\r\n this.partNumber = null;\r\n });\r\n }\r\n });\r\n }\r\n\r\n /**\r\n * Extracts Substitute Parts from Child Parts and add metadata (*) to Part Type\r\n * @param childParts Array of ChildPartDetail\r\n * @returns Array of ChildPartDetail with Substitute Parts inserted\r\n */\r\n extractSubstituteParts(childParts: ChildPartDetail[]): ChildPartDetail[] {\r\n for (let i = 0; i < childParts.length; i++) {\r\n if (childParts[i] == null || childParts[i].substitutePart == null) {\r\n continue;\r\n }\r\n\r\n // For denoting part as a \"Substitute Part\" in Table\r\n childParts[i].substitutePart.properties.partType = '*'.concat(childParts[i].substitutePart.properties.partType);\r\n\r\n childParts.splice(i + 1, 0, childParts[i].substitutePart);\r\n }\r\n\r\n return childParts;\r\n }\r\n\r\n /**\r\n * Given an hardwarePartNumber, sets hardwarePartNumber in serialNumberRequest and close currently opened modal\r\n * @param selectedHWPN\r\n */\r\n onSelect(selectedHWPN: string) {\r\n if (selectedHWPN != null && selectedHWPN != '') {\r\n this.hardwarePartNumber.emit(selectedHWPN); // Emit the HWPN determined in view (user-selected)\r\n this.modal.close();\r\n this.partNumber = null;\r\n }\r\n }\r\n\r\n /**\r\n * While table row is selected, invokes onSelectHwpn() with corresponding hardwarePartNumber if user pressed 'Enter'\r\n * @param event\r\n * @param selectedHWPN\r\n */\r\n onKeyup(event, selectedHWPN: string) {\r\n if (event.key == \"Enter\") {\r\n this.onSelect(selectedHWPN);\r\n }\r\n }\r\n\r\n /**\r\n * Dismiss modal and emit empty string from this.hardwarePartNumber\r\n * @param event\r\n * @param selectedHWPN\r\n */\r\n dismissModal() {\r\n this.modal.result.then(() => {\r\n this.hardwarePartNumber.emit('');\r\n this.partNumber = null;\r\n });\r\n this.modal.close();\r\n }\r\n\r\n /**\r\n * Given an HTTP error code, return the correct error message to be displayed to user\r\n * @param errorCode HTTP Error Code\r\n */\r\n getErrorMsg(errorCode: number) {\r\n switch (errorCode) {\r\n case 400:\r\n return 'Could not connect to Test Platform API!';\r\n case 404:\r\n return 'The following SKU does not exist in OnePDM Part Service.';\r\n case 500:\r\n return 'An internal server error has occurred!';\r\n case 502:\r\n return 'OnePDM Part Service API is currently not available at the moment, ' +\r\n 'please try again later! (in a few minutes or so)';\r\n default:\r\n return 'An error has occurred.';\r\n }\r\n }\r\n}\r\n","\r\n
\r\n
\r\n
\r\n Select a Hardware Part Number for {{this.partNumber}}\r\n \r\n
\r\n
SKU Description:\r\n {{this.partNumberDetail.properties.partDescription}}
\r\n
\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
Hardware Part NumberPart TypeDescription
{{part.properties.partNumber}}\r\n {{part.properties.partType}}\r\n \r\n {{part.properties.partType.substr(0, 1)}} {{part.properties.partType.substr(1)}}\r\n \r\n {{part.properties.partDescription}}
\r\n
\r\n \r\n
\r\n
\r\n\r\n
\r\n
\r\n
\r\n \r\n \r\n Oops!\r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n

\r\n An error has occurred, kindly reach out to OnePDMSupport@microsoft.com\r\n for help.\r\n

\r\n

Error Details below:

\r\n
\r\n \r\n {{this.httpErrorMessage}}\r\n \r\n
\r\n
\r\n SKU: {{this.partNumber}}\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n","export class OrderSummaryTimeline {\r\n public customerPurchaseOrder: string;\r\n public salesOrderNumber: string;\r\n public orderTimelineItems: OrderSummaryTimelineItem[];\r\n}\r\n\r\nexport class OrderSummaryTimelineItem {\r\n public constructor(init?: Partial) {\r\n Object.assign(this, init);\r\n }\r\n public message: string;\r\n public messageType: string;\r\n public entityId: string;\r\n public correlationId: string;\r\n public timestamp: Date;\r\n}\r\n","export class OutboundDeliveryMockerRequest{\r\n public MessageType:string;\r\n public Parameters:ParameterOBD;\r\n}\r\nexport class ParameterOBD{\r\n \r\n public MessageBusinessChannel:string;\r\n public MessageSubBusinessChannel:string;\r\n public MessageAction:string;\r\n public MessagePartyId:string;\r\n public OrderCID:string;\r\n public LoadPlanId:string;\r\n\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { OutboundDC, ShipmentMockRequest, ShipmentMockRequestType, ShipmentParams } from '../model/shipment.model';\r\nimport * as log from '../AppInsightsLogger';\r\nimport { Constants } from './constant.service';\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class ShipmentmockerService {\r\n private logger: log.AppInsightsLogger;\r\n partnerProfile: OutboundDC;\r\n batchSize: number;\r\n doNumbers: string;\r\n poNumbers: string;\r\n mode: string;\r\n showLoader: boolean;\r\n logMessage: string = '';\r\n constructor() { }\r\n createShipmentMockRequest(numberArray: string[], isLoadMode: boolean,model:any){\r\n if (model.shipmentMocker.shippingType === ShipmentMockRequestType[ShipmentMockRequestType.DC]) {\r\n return this.createDCShipmentMockRequest(numberArray, isLoadMode,model);\r\n } \r\n else if (model.shipmentMocker.shippingType === ShipmentMockRequestType[ShipmentMockRequestType.CM]) {\r\n return this.createCMShipmentMockRequest(numberArray, isLoadMode,model);\r\n }\r\n else if (model.shipmentMocker.shippingType === ShipmentMockRequestType[ShipmentMockRequestType.ARD]) {\r\n return this.createInboundShipmentMockRequest(numberArray, isLoadMode,model);\r\n }\r\n return null;\r\n }\r\n createCMShipmentMockRequest(numberArray: string[], isLoadMode: boolean,model:any){\r\n const shipmentRequest = new ShipmentMockRequest();\r\n shipmentRequest.mode = isLoadMode ? Constants.ShipmentModeLoad : Constants.ShipmentModeSync;\r\n shipmentRequest.shipmentType = 'CMShipment';\r\n shipmentRequest.Entities = [];\r\n let _entityType = 'PurchaseOrder';\r\n if (model.shipmentMocker.warehouseProcessType == 'DirectShip') {\r\n _entityType = 'CustomerPurchaseOrder';\r\n }\r\n\r\n numberArray.forEach(poNumber => {\r\n shipmentRequest.Entities.push(\r\n {\r\n EntityNumber: poNumber,\r\n EntityType: _entityType,\r\n LoadId: model.shipmentMocker.loadId,\r\n LineItems: null // for now support mixed COO in only Sync mode\r\n });\r\n });\r\n const params = new ShipmentParams();\r\n params.IsConsolidated = false;\r\n let sender = model.shipmentMocker.cmpartner\r\n let senderName=sender.split('-')\r\n params.Sender=senderName[0];\r\n params.SenderId = senderName[1];\r\n let receiver = model.shipmentMocker.dcpartner\r\n let receiverName=receiver.split('-')\r\n params.Receiver = receiverName[0];\r\n params.ReceiverId = receiverName[1];\r\n params.IsConsolidated = model.shipmentMocker.consolidateOrder;\r\n params.ItemsPerCarton = model.shipmentMocker.cartonItems;\r\n params.ScacCode = model.shipmentMocker.scacCode;\r\n params.ProcessType = model.shipmentMocker.cmProcessType?model.shipmentMocker.cmProcessType:'';\r\n params.PackageScenario = model.shipmentMocker.shipmentFlavourType;\r\n params.PartnerId=model.shipmentMocker.partnerId?model.shipmentMocker.partnerId:'';\r\n params.ReceiverPartnerId=model.shipmentMocker.receiverPartnerId?model.shipmentMocker.receiverPartnerId:'';\r\n params.skipPostShipment = !model.shipmentMocker.postToShipment;\r\n if (model.shipmentMocker.cartonItems < 1) {\r\n params.ItemsPerCarton = 1;\r\n }\r\n shipmentRequest.shipmentParams = params;\r\n return shipmentRequest;\r\n }\r\n createInboundShipmentMockRequest(numberArray: string[], isLoadMode: boolean,model:any){\r\n const shipmentRequest = new ShipmentMockRequest();\r\n shipmentRequest.mode = isLoadMode ? Constants.ShipmentModeLoad : Constants.ShipmentModeSync;\r\n shipmentRequest.shipmentType = 'InboundShipment';\r\n shipmentRequest.Entities = [];\r\n numberArray.forEach(poNumber => {\r\n shipmentRequest.Entities.push(\r\n {\r\n EntityNumber: poNumber,\r\n EntityType: 'PurchaseOrder', \r\n LoadId: model.shipmentMocker.loadId,\r\n LineItems: null\r\n });\r\n });\r\n const params = new ShipmentParams();\r\n // Enable Shipment Consolidation only for DC Outbound (Shipment by Delivery Order) & SYNC mode\r\n params.IsConsolidated = false;\r\n params.ProcessType = model.shipmentMocker.ardProcessType;\r\n params.SubProcessType = model.shipmentMocker.subProcessType;\r\n let sender = model.shipmentMocker.cmpartner\r\n let senderName=sender.split('-')\r\n params.SenderId = senderName[1];\r\n params.ScacCode = model.shipmentMocker.scacCode;\r\n let receiver = model.shipmentMocker.dcpartner\r\n let receiverName=receiver.split('-')\r\n params.ReceiverId = receiverName[1];\r\n params.skipPostShipment = !model.shipmentMocker.postToShipment;\r\n shipmentRequest.shipmentParams = params;\r\n return shipmentRequest;\r\n }\r\n createDCShipmentMockRequest(numberArray: string[], isLoadMode: boolean,model:any){\r\n const shipmentRequest = new ShipmentMockRequest();\r\n const params = new ShipmentParams();\r\n shipmentRequest.mode = isLoadMode ? Constants.ShipmentModeLoad : Constants.ShipmentModeSync;\r\n shipmentRequest.shipmentType = 'DCShipment';\r\n if(model.shipmentMocker.warehouseProcessType == 'asn_fsl_to_dc'){\r\n params.ProcessType = model.shipmentMocker.warehouseProcessType;\r\n params.PartnerId = model.shipmentMocker.partnerId;\r\n \r\n shipmentRequest.Entities = [];\r\n shipmentRequest.Entities.push(\r\n {\r\n EntityNumber: \"\",\r\n EntityType: 'DeliveryOrder',\r\n LoadId: model.shipmentMocker.loadId,\r\n LineItems: null\r\n });\r\n }\r\n else{\r\n shipmentRequest.tenantId = model.shipmentMocker.partner.TenantId;\r\n shipmentRequest.Entities = [];\r\n if(numberArray.length>0){\r\n numberArray.forEach(doNumber => {\r\n shipmentRequest.Entities.push(\r\n {\r\n EntityNumber: doNumber,\r\n EntityType: 'DeliveryOrder',\r\n LoadId: model.shipmentMocker.loadId,\r\n LineItems: null\r\n });\r\n });\r\n }\r\n \r\n params.IsConsolidated = isLoadMode ? false :model.shipmentMocker.consolidateOrder;\r\n params.IsSerializedScenario = isLoadMode ? false : true;\r\n params.FlavorType = model.shipmentMocker.shipmentFlavourType;\r\n params.Sender = model.shipmentMocker.partner.PartnerId;\r\n params.ScacCode = model.shipmentMocker.scacCode;\r\n params.PartnerId = model.shipmentMocker.partnerId;\r\n params.SerialNumber = model.shipmentMocker.serialNumber?model.shipmentMocker.serialNumber:'';\r\n if (params.Sender == \"3040568\" || params.Sender == \"3057945\") {\r\n params.ReceiverId = \"3040568\";\r\n params.ReceiverPartnerId = \"4412\";\r\n }\r\n if (model.shipmentMocker.warehouseProcessType.toUpperCase() == \"STANDARD\") {\r\n delete params.ProcessType;\r\n }\r\n else {\r\n params.ProcessType = model.shipmentMocker.warehouseProcessType;\r\n }\r\n }\r\n params.skipPostShipment = !model.shipmentMocker.postToShipment;\r\n shipmentRequest.shipmentParams = params;\r\n return shipmentRequest;\r\n }\r\n\r\n getBatchedArrays(array: string[], batchSize: number) {\r\n const batchedArrays = [];\r\n\r\n while (array.length > 0) {\r\n batchedArrays.push(array.splice(0, batchSize));\r\n }\r\n\r\n return batchedArrays;\r\n }\r\n getNumberArray(numInput: string,model:any) {\r\n let numberArrayUntrimmed: string[];\r\n let numberArrayTrimmed: string[];\r\n\r\n if (model.shipmentMocker.shippingMode === Constants.ShipmentModeSync && numInput!==undefined) {\r\n numberArrayUntrimmed = numInput.split(',');\r\n } else if (model.shipmentMocker.shippingMode === Constants.ShipmentModeLoad && numInput!==undefined) {\r\n numberArrayUntrimmed = numInput.replace(/\\r/g, '').split('\\n');\r\n }\r\n\r\n numberArrayTrimmed = [];\r\n if(numInput!=undefined){\r\n numberArrayUntrimmed.forEach(num => {\r\n if (num != null) {\r\n numberArrayTrimmed.push(num.trim());\r\n }\r\n });\r\n }\r\n return numberArrayTrimmed;\r\n }\r\n}\r\n","import { HttpClient } from '@angular/common/http';\r\nimport { Injectable } from '@angular/core';\r\nimport { ConfigService } from './config.service';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class OutboundMockerService {\r\n\r\n constructor(private httpClient: HttpClient, private configService: ConfigService) { }\r\n obdMockShipmentRequest(outboundMockRequest:any) {\r\n const baseUrlWithVersion = this.configService.omtestSuiteAPI.baseUrl + '/api/' + this.configService.omtestSuiteAPI.apiVersion; \r\n return this.httpClient.post(baseUrlWithVersion + '/scgmockers/mockoutbounddelivery', outboundMockRequest);\r\n }\r\n}\r\n","export class BrCreateMockerRequest {\r\n MessageType: string = \"BOOKINGREQUESTCREATE\"\r\n Parameters: BookingRequestParameters\r\n}\r\n\r\nexport class BookingRequestParameters {\r\n MessageBusinessChannel: string\r\n MessageSenderPartyId: string\r\n MessageReceiverPartyId: string\r\n ShipmentsDeclaredShipmentValueAmount: number\r\n ShipmentsIsoCurrencyCode: string\r\n ShipmentsPlannedShipmentDate: string\r\n ShipmentsPartyShipToId: string\r\n ShipmentsPartyShipFromId: string\r\n ShipFromPartyContact: string\r\n ShipFromLocationId: string\r\n ShipToLocationId: string\r\n LocationCountryCode: string\r\n Shipmentlines: BookingRequestShipmentline[]\r\n}\r\n\r\nexport class BookingRequestShipmentline {\r\n Orders: BookingRequestOrder[]\r\n ShipmentLinesPalletOrCarton: string\r\n ShipmentLinesPalletId: string\r\n WeightUnitOfMeasureName: string\r\n PalletOrCartonQuantity: number\r\n ShipmentLinesCartonId: string\r\n}\r\n\r\nexport class BookingRequestOrder {\r\n OrderId: string\r\n OrderLineNumber: string\r\n ReturnPolicyId: string\r\n POQuantity: number\r\n VendorItemSku: string\r\n ComponentPartIdentifier: string\r\n ItemSku: string\r\n HazardousMaterialIndicator: boolean\r\n ItemsStackableIndicator: boolean\r\n HazardSeverityCategoryName: string\r\n}\r\n","import { Component, OnInit, Inject } from '@angular/core';\r\nimport { MatDialog, MatDialogConfig } from '@angular/material/dialog';\r\nimport { MAT_DIALOG_DATA, MatDialogRef } from \"@angular/material/dialog\";\r\nimport { stepSummary } from '../model/loadtesting.model';\r\n\r\n@Component({\r\n selector: 'app-verifyRetryLoadTest',\r\n templateUrl: './verifyretry-loadtest.component.html',\r\n styleUrls: ['./verifyretry-loadtest.component.css'],\r\n})\r\nexport class VerifyRetryLoadTestComponent implements OnInit {\r\n\r\n //description: string;\r\n\r\n //constructor(public modalDialog: MatDialogRef, @Inject(MAT_DIALOG_DATA) data) {\r\n // this.description = data.description;\r\n //}\r\n\r\n id: string; // test run id\r\n stepIdentifier: string; // step identifier of the test run\r\n lastModifiedAt: string; // time when the step was last modified\r\n friendlyTimeDiffDays: number; // friendly version of time difference\r\n friendlyTimeDiffHours: number; // friendly version of time difference\r\n friendlyTimeDiffMinutes: number; // friendly version of time difference\r\n remainingEntities: number; // remaining entities\r\n stepTitle: string;\r\n hasUpdate: boolean; // true if there is an update for this step.\r\n\r\n constructor(public modalDialog: MatDialogRef\r\n , @Inject(MAT_DIALOG_DATA) data\r\n ) {\r\n console.log(data);\r\n let step: stepSummary = data.stepSummary;\r\n let testRunId: string = data.id;\r\n\r\n let lastModifiedInstant = (step.eventLastModifiedAt || step.eventStartedAt) as unknown;\r\n\r\n if (lastModifiedInstant != null) {\r\n let now = new Date();\r\n let diff = now.getTime() - Date.parse(lastModifiedInstant as string);\r\n\r\n let minutesDiff = parseInt((diff / (1000 * 60)).toString());\r\n let hoursDiff = parseInt((minutesDiff / 60).toString());\r\n let daysDiff = parseInt((hoursDiff / 24).toString());\r\n\r\n this.friendlyTimeDiffMinutes = minutesDiff % 60;\r\n this.friendlyTimeDiffHours = hoursDiff % 24;\r\n this.friendlyTimeDiffDays = daysDiff;\r\n\r\n this.hasUpdate = true;\r\n }\r\n else\r\n {\r\n this.hasUpdate = false;\r\n }\r\n\r\n this.remainingEntities = Math.max(step.remaining, 0);\r\n\r\n switch(step.stepIdentifier){\r\n case \"CREATE_LOAD_PLAN\" : this.stepTitle = \"Load Plan\"; break;\r\n case \"CREATE_SHIPMENT\" : this.stepTitle = \"Shipment\"; break;\r\n default : this.stepTitle = \"the Step\"; break;\r\n }\r\n }\r\n\r\n ngOnInit() {\r\n }\r\n\r\n onConfirm(){\r\n this.modalDialog.close(\"CONFIRM\");\r\n }\r\n}\r\n","
\r\n \r\n
\r\n
\r\n

Retry {{stepTitle}} ?

\r\n
\r\n
\r\n
\r\n
\r\nYou are about to retry this step for {{remainingEntities}} remaining Order(s).\r\nThis step was last updated {{friendlyTimeDiffDays}} days, {{friendlyTimeDiffHours}} hours and {{friendlyTimeDiffMinutes}} minutes ago.\r\n\r\nAre you sure you want to retry this step?\r\n    
\r\n
\r\nYou are about to retry this step for {{remainingEntities}} remaining Order(s).\r\nThis step has not been updated yet.\r\n \r\nAre you sure you want to retry this step?\r\n    
\r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n
","import { Injectable } from '@angular/core'\r\n\r\n@Injectable ()\r\n\r\nexport class jsonValidator{\r\n isValidJson(inputString: string): boolean {\r\n try {\r\n JSON.parse(inputString);\r\n return true;\r\n } catch (e) {\r\n return false;\r\n }\r\n }\r\n }","// This file can be replaced during build by using the `fileReplacements` array.\r\n// `ng build ---prod` replaces `environment.ts` with `environment.prod.ts`.\r\n// The list of file replacements can be found in `angular.json`.\r\n\r\nexport const environment = {\r\n production: false,\r\n auth: {\r\n tenant: \"microsoft.onmicrosoft.com\",\r\n clientId: \"69db971e-c3ee-41e5-829d-2d577f4b2c5f\" \r\n },\r\n CI: {\r\n omTestSuiteAPI: {\r\n baseUrl: \"https://omtestsuiteservice-ci-westus-wa.azurewebsites.net\",\r\n resourceUrl: 'https://microsoft.onmicrosoft.com/OMTestSuite',\r\n apiVersion: \"v1.0\",\r\n },\r\n keyVaultAPI: {\r\n baseUrl: \"https://omtestsuiteciwestuskv.vault.azure.net/\",\r\n apiVersion: \"2016-10-01\",\r\n resourceUrl: \"https://vault.azure.net\",\r\n }\r\n },\r\n UAT: {\r\n omTestSuiteAPI: {\r\n baseUrl: \"https://omtestsuiteservice-uat-westus-wa.azurewebsites.net\",\r\n resourceUrl: 'https://microsoft.onmicrosoft.com/OMTestSuite',\r\n apiVersion: \"v1.0\",\r\n },\r\n keyVaultAPI: {\r\n baseUrl: \"https://omtestsuiteuat-westus-kv.vault.azure.net\",\r\n apiVersion: \"2016-10-01\",\r\n resourceUrl: \"https://vault.azure.net\",\r\n } \r\n },\r\n Prod: {\r\n omTestSuiteAPI: {\r\n baseUrl: \"https://omtestsuiteservice-uat-westus-wa.azurewebsites.net\",\r\n resourceUrl: 'https://supplychainservices.microsoft.com/OMIntegrationTestSuiteAPI',\r\n apiVersion: \"v1.0\",\r\n },\r\n keyVaultAPI: {\r\n baseUrl: \"https://omtestsuiteuat-westus-kv.vault.azure.net\",\r\n apiVersion: \"2016-10-01\",\r\n resourceUrl: \"https://vault.azure.net\",\r\n } \r\n },\r\n supportedEnvironments: [\"CI\", \"UAT\", \"Production\"]\r\n};\r\n\r\n/*\r\n * In development mode, for easier debugging, you can ignore zone related error\r\n * stack frames such as `zone.run`/`zoneDelegate.invokeTask` by importing the\r\n * below file. Don't forget to comment it out in production mode\r\n * because it will have a performance impact when errors are thrown\r\n */\r\n// import 'zone.js/dist/zone-error'; // Included with Angular CLI.\r\n","import { TestRunList } from \"../model/testrunlist.model\";\r\nimport { HttpClient, HttpHeaders } from \"@angular/common/http\";\r\nimport { Injectable } from \"@angular/core\";\r\nimport { ConfigService } from \"./config.service\";\r\nimport { SerialNumberList } from \"../model/serialnumberlist.model\";\r\nimport { ProductCodeListItem, CountryList, LoadPlanPartner, Vendor, Plant, Page } from \"../model/masterdata.model\";\r\n\r\n@Injectable()\r\nexport class DescriptionService {\r\n\r\n constructor(private httpClient: HttpClient, private configService: ConfigService) {\r\n }\r\n\r\n public getGlossary() {\r\n return this.httpClient.get('./assets/configuration/glossary.json');\r\n }\r\n\r\n public pageDetailsMocker() {\r\n return this.httpClient.get('./assets/configuration/pageDescriptionMocker.json');\r\n }\r\n\r\n public pageDetailsTools() {\r\n return this.httpClient.get('./assets/configuration/pageDescriptionTools.json');\r\n }\r\n\r\n public privacyDetailsTools() {\r\n return this.httpClient.get('./assets/configuration/privacyDescription.json');\r\n }\r\n}\r\n","export class NewTestRunRequest {\r\n constructor() {\r\n this.numberOfLines = 1;\r\n this.quantityPerLine = 1;\r\n this.locale = 'en-us';\r\n this.orderCount = 1;\r\n this.orderScenario = 'StandardOnlineUST';\r\n this.productType = '';\r\n this.region = '';\r\n }\r\n public name: string;\r\n public orderScenario: string;\r\n public orderCount: number;\r\n public numberOfLines: number;\r\n public quantityPerLine: number;\r\n public productType: string;\r\n public locale: string;\r\n public region: string;\r\n public poNumbers: string[];\r\n}\r\n","import { HttpClient } from '@angular/common/http';\r\nimport { Injectable } from '@angular/core';\r\nimport { TestRunsFetchInputs, UpdateScenarioStepInput } from '../model/manage-testruns.model';\r\nimport { SharedOutputRequest, SNValidationRequest, TestCaseInstanceRequest, TestPlanInstanceRequest, TestPlanPreStepInstance } from '../model/project-view.model';\r\nimport { ConfigService } from './config.service';\r\n\r\n@Injectable()\r\nexport class TestCaseProjectService {\r\n\r\n constructor(private httpClient: HttpClient, private configService: ConfigService) {\r\n }\r\n\r\n getTestPlanInstance(testPlanInstanceId: any) {\r\n const baseUrlWithVersion = this.configService.omtestSuiteAPI.baseUrl + '/api/' + this.configService.omtestSuiteAPI.apiVersion;\r\n return this.httpClient.get(baseUrlWithVersion + `/TestCaseProjectView/gettestplanInstance?TestPlanInstanceId=${testPlanInstanceId}`);\r\n }\r\n\r\n getTestPlanInstances(testPlanId: any) {\r\n const baseUrlWithVersion = this.configService.omtestSuiteAPI.baseUrl + '/api/' + this.configService.omtestSuiteAPI.apiVersion;\r\n return this.httpClient.get(baseUrlWithVersion + `/TestCaseProjectView/gettestplanInstances?TestPlanId=${testPlanId}`);\r\n }\r\n\r\n getTestPlanPreSteps(testPlanId: any) {\r\n const baseUrlWithVersion = this.configService.omtestSuiteAPI.baseUrl + '/api/' + this.configService.omtestSuiteAPI.apiVersion;\r\n return this.httpClient.post(baseUrlWithVersion + `/TestCaseProjectView/getcustomsteps?TestPlanId=${testPlanId}`, { TestPlanId: testPlanId });\r\n }\r\n\r\n getProjectTestCaseView(projectID: number) {\r\n const baseUrlWithVersion = this.configService.omtestSuiteAPI.baseUrl + '/api/' + this.configService.omtestSuiteAPI.apiVersion;\r\n return this.httpClient.get(baseUrlWithVersion + `/TestCaseProjectView/getprojecttestcaseview?projectID=${projectID}`);\r\n }\r\n\r\n validateSku(skuList: any[]) {\r\n //TODO: add testplanID\r\n var baseUrlWithVersion = this.configService.omtestSuiteAPI.baseUrl + '/api/' + this.configService.omtestSuiteAPI.apiVersion;\r\n return this.httpClient.post(baseUrlWithVersion + '/masterdata/validateproduct', skuList);\r\n }\r\n\r\n\r\n assignSku(testPlanPreStepsInstance:TestPlanPreStepInstance) {\r\n var baseUrlWithVersion = this.configService.omtestSuiteAPI.baseUrl + '/api/' + this.configService.omtestSuiteAPI.apiVersion;\r\n return this.httpClient.post(baseUrlWithVersion + `/TestCaseProjectView/assignsku`, testPlanPreStepsInstance);\r\n }\r\n\r\n getValidatedSkus(testPlanInstanceId: any) {\r\n var baseUrlWithVersion = this.configService.omtestSuiteAPI.baseUrl + '/api/' + this.configService.omtestSuiteAPI.apiVersion;\r\n return this.httpClient.get(baseUrlWithVersion + `/masterdata/validatedSkus?testPlanInstanceId=${testPlanInstanceId}`);\r\n }\r\n\r\n storeTestPlanInstance(input: TestPlanInstanceRequest) {\r\n var baseUrlWithVersion = this.configService.omtestSuiteAPI.baseUrl + '/api/' + this.configService.omtestSuiteAPI.apiVersion;\r\n return this.httpClient.post(baseUrlWithVersion + '/TestCaseProjectView/storetestplaninstance', input);\r\n }\r\n\r\n storeTestCaseInstance(input: TestCaseInstanceRequest) {\r\n var baseUrlWithVersion = this.configService.omtestSuiteAPI.baseUrl + '/api/' + this.configService.omtestSuiteAPI.apiVersion;\r\n return this.httpClient.post(baseUrlWithVersion + '/TestCaseProjectView/storetestcaseinstance', input);\r\n }\r\n\r\n triggerValidation(input: UpdateScenarioStepInput) {\r\n var baseUrlWithVersion = this.configService.omtestSuiteAPI.baseUrl + '/api/' + this.configService.omtestSuiteAPI.apiVersion;\r\n return this.httpClient.post(baseUrlWithVersion + '/TestCaseProjectView/TriggerValidation', input);\r\n\r\n }\r\n\r\n postSNValidation(input: SNValidationRequest) {\r\n var baseUrlWithVersion = this.configService.omtestSuiteAPI.baseUrl + '/api/' + this.configService.omtestSuiteAPI.apiVersion;\r\n return this.httpClient.post(baseUrlWithVersion + '/TestCaseProjectView/PostSNValidation', input);\r\n }\r\n\r\n getDetailLink(detailLink: string) {\r\n var baseUrlWithVersion = this.configService.omtestSuiteAPI.baseUrl + '/api/' + this.configService.omtestSuiteAPI.apiVersion;\r\n return this.httpClient.get(baseUrlWithVersion + detailLink);\r\n }\r\n\r\n getPreReqInstanceSteps(testPlanInstanceId: string) {\r\n var baseUrlWithVersion = this.configService.omtestSuiteAPI.baseUrl + '/api/' + this.configService.omtestSuiteAPI.apiVersion;\r\n return this.httpClient.get(baseUrlWithVersion + `/TestCaseProjectView/getprereqInstancesteps?TestPlanInstanceId=${testPlanInstanceId}`);\r\n }\r\n\r\n storePreReqSteps(request: TestPlanPreStepInstance[]) {\r\n var baseUrlWithVersion = this.configService.omtestSuiteAPI.baseUrl + '/api/' + this.configService.omtestSuiteAPI.apiVersion;\r\n return this.httpClient.post(baseUrlWithVersion + '/TestCaseProjectView/storeprereqsteps', request);\r\n }\r\n\r\n populateExcel(testPlanInstanceId:string){\r\n var baseUrlWithVersion = this.configService.omtestSuiteAPI.baseUrl + '/api/' + this.configService.omtestSuiteAPI.apiVersion;\r\n return this.httpClient.get(baseUrlWithVersion + `/TestCaseProjectView/populateExcelFile?testPlanInstanceId=${testPlanInstanceId}`, {\r\n responseType: \"arraybuffer\",\r\n });\r\n }\r\n\r\n getEmailBody(){\r\n var baseUrlWithVersion = this.configService.omtestSuiteAPI.baseUrl + '/api/' + this.configService.omtestSuiteAPI.apiVersion;\r\n return this.httpClient.get(baseUrlWithVersion + `/TestCaseProjectView/getEmailBody`);\r\n }\r\n\r\n downloadSampleInput(testPlanPreStepCode:string){\r\n var baseUrlWithVersion = this.configService.omtestSuiteAPI.baseUrl + '/api/' + this.configService.omtestSuiteAPI.apiVersion;\r\n return this.httpClient.get(baseUrlWithVersion + `/TestCaseProjectView/downloadSampleFile?testPlanPreStepCode=${testPlanPreStepCode}`, {\r\n responseType: \"arraybuffer\",\r\n });\r\n }\r\n\r\n\r\n downloadExcel(testPlanId:number, testPlanPreStepId:number, testPlanInstanceId:string, testPlanPreStepInstanceId:string){\r\n var baseUrlWithVersion = this.configService.omtestSuiteAPI.baseUrl + '/api/' + this.configService.omtestSuiteAPI.apiVersion;\r\n return this.httpClient.get(baseUrlWithVersion + `/TestCaseProjectView/downloadExcel?testPlanId=${testPlanId}&testPlanPreStepId=${testPlanPreStepId}&testPlanInstanceId=${testPlanInstanceId}&testPlanPreStepInstanceId=${testPlanPreStepInstanceId}`, {\r\n responseType: \"arraybuffer\",\r\n }); \r\n }\r\n\r\n}\r\n","export class ListTestRunsRequest {\r\n public UserEmail: string\r\n}\r\n\r\nexport class ListTestRunsResponse {\r\n public status: string;\r\n public response: Response[]\r\n}\r\n\r\nexport class Response {\r\n public loadTestRunId: string;\r\n public name: string;\r\n public orderCount: number;\r\n public numberOfLines: number;\r\n public userName: string;\r\n public userEmail: string;\r\n public createdAt: string;\r\n public lastModifiedAt: string;\r\n}\r\n\r\nexport class ListUsersDetails {\r\n public userName: string;\r\n public email: string;\r\n}\r\n","import { Component, OnInit } from '@angular/core';\r\nimport { LoadPlanService } from '../service/loadplan.service';\r\nimport { LoadPlanMockConfig, LoadPlanMockRequest, LoadPlanParameters } from '../model/loadplan.model';\r\nimport { Constants } from '../service/constant.service';\r\nimport { FormsModule } from '@angular/forms';\r\nimport { MasterDataService } from '../service/masterdata.service';\r\nimport { SampleFilesService } from '../service/samplefiles.service';\r\nimport { LoadPlanPartner, TransportMethod } from '../model/masterdata.model';\r\nimport { MsalService } from '@azure/msal-angular';\r\nimport { DescriptionService } from '../service/description.service';\r\n\r\nimport { ConfigService } from '../service/config.service';\r\nimport * as log from '../AppInsightsLogger';\r\n\r\nimport { ApplicationInsights } from '@microsoft/applicationinsights-web';\r\nimport { HttpClient } from '@angular/common/http';\r\n\r\n@Component({\r\n selector: 'app-loadplanmocker',\r\n templateUrl: './loadplanmocker.component.html',\r\n styleUrls: ['./loadplanmocker.component.css']\r\n})\r\nexport class LoadPlanMockerComponent implements OnInit {\r\n name: string;\r\n email: string;\r\n alias: string;\r\n loadPlanRequest: LoadPlanMockRequest;\r\n entityNumbers: string;\r\n partnerProfile: string;\r\n partnerLists: LoadPlanPartner[];\r\n transportMethodList: TransportMethod[];\r\n partnerId: string;\r\n mode: string;\r\n batchSize: number;\r\n showLoader: boolean;\r\n logMessage = '';\r\n entityNumbersValid = false;\r\n pageDetails: any[];\r\n pageDescription: string;\r\n\r\n private logger: log.AppInsightsLogger;\r\n\r\n constructor(private loadPlanService: LoadPlanService, \r\n private masterDataService: MasterDataService,\r\n private msalService: MsalService,\r\n private descriptionService: DescriptionService, \r\n private http: HttpClient,\r\n private configService: ConfigService) {\r\n this.name = this.msalService.instance.getActiveAccount().name;\r\n this.logger = new log.AppInsightsLogger(configService, msalService);\r\n }\r\n\r\n\r\n ngOnInit() {\r\n // window.sessionStorage.setItem(\"orgSelected\", \"1\");\r\n this.showLoader = false;\r\n this.logMessage = '';\r\n this.mode = Constants.LoadPlanModeSync;\r\n this.loadPlanRequest = new LoadPlanMockRequest();\r\n this.logger.trackTrace(`Successfully landed to Load Plan Mocker Page`);\r\n this.descriptionService.pageDetailsMocker().subscribe((response: any[]) => {\r\n this.pageDetails = response;\r\n this.pageDetails.forEach(element => {\r\n if (element.mockerName == \"LoadPlan Mocker\") {\r\n this.pageDescription = element.mockerDescription\r\n }\r\n });\r\n });\r\n \r\n this.http.get('./assets/configuration/LoadPlanConfig.json', { responseType: 'text' }).subscribe(\r\n (response: string) => {\r\n let lpConfig: LoadPlanMockConfig = JSON.parse(response);\r\n this.transportMethodList = lpConfig.methodOfTransport;\r\n this.logger.trackTrace(`In LoadPlan mocker, fetched config successfully.`);\r\n },\r\n (error: any) => {\r\n this.logger.trackTrace(`In LoadPlan mocker, could not fetch config, ${error}`);\r\n this.showLoader = false;\r\n }\r\n );\r\n }\r\n\r\n \r\n onSelectionEntityTypeChangeClick() {\r\n if (this.loadPlanRequest.entityType == Constants.POEntityType) {\r\n this.loadPlanRequest.isConsolidated = false;\r\n }\r\n\r\n this.partnerLists = [];\r\n this.masterDataService.getLoadPlanPartnerIds().subscribe((response) => {\r\n for (let i = 0; i < response.length; i++) {\r\n {\r\n if (this.loadPlanRequest.entityType == Constants.POEntityType && response[i].type == \"CM\") {\r\n let p: LoadPlanPartner;\r\n p = response[i];\r\n this.partnerLists.push(p);\r\n }\r\n else if (this.loadPlanRequest.entityType == Constants.DOEntityType && response[i].type == \"DC\") {\r\n let p: LoadPlanPartner;\r\n p = response[i];\r\n this.partnerLists.push(p);\r\n }\r\n }\r\n }\r\n\r\n if (this.mode == 'LOAD' && this.loadPlanRequest.entityType == Constants.DOEntityType) {\r\n // only ARVATO and ARVATOPERF\r\n this.partnerLists = this.partnerLists.filter(p => (p.id || \"\").indexOf('ARVATO') > -1);\r\n }\r\n\r\n this.partnerId = this.partnerLists[0].id;\r\n }, () => {\r\n });\r\n }\r\n\r\n downloadSampleFile() {\r\n SampleFilesService.downloadSampleFile(\r\n this.loadPlanRequest.entityType == 'deliveryOrder' ?\r\n SampleFilesService.DeliveryOrdersLoadModeSample :\r\n SampleFilesService.PurchaseOrdersLoadModeSample);\r\n }\r\n\r\n onModeChange(newMode: any) {\r\n if (newMode == 'LOAD') {\r\n this.loadPlanRequest.isConsolidated = false;\r\n }\r\n\r\n this.entityNumbers = null;\r\n }\r\n\r\n onTransportCodeChanged(newSelectedCode: string){\r\n let currSelectedEnum = this.loadPlanRequest.loadPlanParams.transportMethodEnum;\r\n\r\n if(currSelectedEnum.length == 0) {\r\n this.loadPlanRequest.loadPlanParams.transportMethodCode = \"\";\r\n this.loadPlanRequest.loadPlanParams.transportMethodDescription = \"\";\r\n }\r\n else if(currSelectedEnum != '-') {\r\n this.loadPlanRequest.loadPlanParams.transportMethodCode = this.transportMethodList[currSelectedEnum].code;\r\n this.loadPlanRequest.loadPlanParams.transportMethodDescription = this.transportMethodList[currSelectedEnum].description;\r\n }\r\n }\r\n\r\n onPostLoadPlanClick() {\r\n this.showLoader = true;\r\n let batchCounter = 0;\r\n this.logMessage = '';\r\n\r\n const entityNumberArray = this.getEntityNumberArray(this.entityNumbers);\r\n\r\n\r\n if (this.mode == Constants.LoadPlanModeLoad) {\r\n\r\n const totalNumberOfDos = entityNumberArray.length;\r\n const batchedArrays = this.getBatchedArrays(entityNumberArray, this.batchSize);\r\n\r\n this.addLogLine(`Selected LoadPlan Mode: ${Constants.LoadPlanModeLoad}, Number of Orders in file: ${totalNumberOfDos}`);\r\n this.logger.trackTrace(`Selected LoadPlan Mode: ${Constants.LoadPlanModeLoad}, Number of Orders in file: ${totalNumberOfDos}`);\r\n\r\n batchedArrays.forEach(elements => {\r\n\r\n var loadPlanRequest_Batch = new LoadPlanMockRequest();\r\n loadPlanRequest_Batch.partnerId = this.partnerId;\r\n loadPlanRequest_Batch.entityNumbers = elements;\r\n loadPlanRequest_Batch.mode = Constants.LoadPlanModeLoad;\r\n loadPlanRequest_Batch.entityType = this.loadPlanRequest.entityType;\r\n\r\n this.loadPlanService.postMockLoadPlanRequest(loadPlanRequest_Batch).subscribe(loadPlanResponse => {\r\n this.addLogLine(`Batch ${++batchCounter} submitted. Batch - ${JSON.stringify(elements)}`);\r\n }, () => {\r\n this.addLogLine(`Some error occured for batch : ${batchCounter}\". Batch - ${JSON.stringify(elements)}`);\r\n this.logger.trackTrace(`Loadplan Mocker: Some error occured for batch : ${batchCounter}\". Batch - ${JSON.stringify(elements)}`);\r\n });\r\n });\r\n this.showLoader = false;\r\n }\r\n else if (this.mode == Constants.LoadPlanModeSync) {\r\n var totalNumberOfDos = entityNumberArray.length;\r\n\r\n this.addLogLine(`Selected LoadPlan Mode: ${Constants.LoadPlanModeSync}, Number of Orders: ${totalNumberOfDos}`);\r\n\r\n this.loadPlanRequest.partnerId = this.partnerId;\r\n this.loadPlanRequest.entityNumbers = entityNumberArray;\r\n this.loadPlanRequest.mode = Constants.LoadPlanModeSync;\r\n this.loadPlanService.postMockLoadPlanRequest(this.loadPlanRequest).subscribe(loadPlanResponse => {\r\n if (loadPlanResponse != null && loadPlanResponse.length > 0) {\r\n loadPlanResponse.forEach(element => {\r\n this.addLogLine(`LoadPlan submitted. Order: ${element.doNumber}, LoadPlan Correlation Id: ${element.correlationId}, Message: ${element.message}`);\r\n this.logger.trackTrace(`LoadPlan submitted. Order: ${element.doNumber}, LoadPlan Correlation Id: ${element.correlationId}, Message: ${element.message}`);\r\n });\r\n this.showLoader = false;\r\n } else {\r\n this.addLogLine(`Some error occured: ${loadPlanResponse}`);\r\n this.logger.trackTrace(`Loadplan Mocker ${this.addLogLine}`);\r\n this.showLoader = false;\r\n }\r\n }, (error) => {\r\n this.addLogLine(`Some error occured: ${JSON.stringify(error)}`);\r\n this.logger.trackTrace(`Loadplan Mocker ${this.addLogLine}`);\r\n this.showLoader = false;\r\n });\r\n }\r\n }\r\n\r\n getBatchedArrays(array: string[], batchSize: number) {\r\n let batchedArrays = [];\r\n while (array.length > 0) {\r\n batchedArrays.push(array.splice(0, batchSize));\r\n }\r\n\r\n return batchedArrays;\r\n }\r\n\r\n\r\n openFile(event: any) {\r\n const input = event.target;\r\n for (let index = 0; index < input.files.length; index++) {\r\n const reader = new FileReader();\r\n reader.onload = () => {\r\n this.entityNumbers = reader.result as string;\r\n };\r\n reader.readAsText(input.files[index]);\r\n }\r\n }\r\n\r\n addLogLine(line: string) {\r\n const currentDateTime = new Date();\r\n this.logMessage += '[' + currentDateTime.toLocaleString() + ']' + ' ' + line + '\\n';\r\n }\r\n\r\n getEntityNumberArray(entityNumbers: string): string[] {\r\n let entityNumberArrayUntrimmed: string[];\r\n let entityNumberArrayTrimmed: string[];\r\n\r\n if (this.mode == Constants.LoadPlanModeSync) {\r\n entityNumberArrayUntrimmed = entityNumbers.split(',');\r\n\r\n } else if (this.mode == Constants.LoadPlanModeLoad) {\r\n entityNumberArrayUntrimmed = entityNumbers.replace(/\\r/g, '').split('\\n');\r\n }\r\n\r\n entityNumberArrayTrimmed = [];\r\n entityNumberArrayUntrimmed.forEach(element => {\r\n if (element != null) {\r\n entityNumberArrayTrimmed.push(element.trim());\r\n }\r\n });\r\n\r\n return entityNumberArrayTrimmed;\r\n }\r\n\r\n handleEntityNumbersChange(formControl: any) {\r\n if (this.loadPlanRequest.entityType == 'deliveryOrder' &&\r\n this.getEntityNumberArray(this.entityNumbers).length > 10) {\r\n formControl.control.setErrors({ 'maxCountExceeded': true });\r\n this.entityNumbersValid = false;\r\n } else {\r\n delete formControl.control.errors.maxCountExceeded;\r\n if (Object.keys(formControl.control.errors).length === 0) {\r\n formControl.control.setErrors(null);\r\n // Because formControl can still be invalid if errors obj exists,\r\n // we must manually nullify the errors object\r\n }\r\n this.entityNumbersValid = true;\r\n }\r\n }\r\n\r\n clearLogs() {\r\n this.logMessage = '';\r\n }\r\n}\r\n","
\r\n

Load Plan Mocker

\r\n
\r\n
\r\n Description:\r\n

{{this.pageDescription}}

\r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n
Mode is required
\r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n Entity Type is required\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n \r\n
\r\n \r\n \r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n Purchase Order Numbers field is required\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n
(e.g. 'UPSN')
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n
(e.g. '00')
\r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n
(e.g. 'PP')
\r\n
\r\n
\r\n\r\n
\r\n \r\n
\r\n \r\n
\r\n Batch Size is required\r\n
\r\n
\r\n
\r\n\r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n\r\n
\r\n
\r\n
\r\n Clear\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n","import { Injectable } from \"@angular/core\";\r\n@Injectable()\r\nexport class ModalService {\r\n private modals: any[] = [];\r\n\r\n add(modal: any) {\r\n // add modal to array of active modals\r\n this.modals.push(modal);\r\n }\r\n\r\n remove(id: string) {\r\n // remove modal from array of active modals\r\n this.modals = this.modals.filter(x => x.id !== id);\r\n }\r\n\r\n open(id: string) {\r\n // open modal specified by id\r\n let modal: any = this.modals.filter(x => x.id === id)[0];\r\n modal.open();\r\n }\r\n\r\n close(id: string) {\r\n // close modal specified by id\r\n let modal: any = this.modals.filter(x => x.id === id)[0];\r\n modal.close();\r\n }\r\n}","import { Component, OnInit, Input } from '@angular/core';\r\nimport { Router } from '@angular/router';\r\nimport { GlobalErrorHandler } from '../common/error.handler';\r\n@Component({\r\n selector: 'app-error',\r\n templateUrl: './error.component.html',\r\n styleUrls: ['./error.component.css']\r\n})\r\nexport class ErrorComponent {\r\n\r\n @Input() navigationPath: string;\r\n constructor(private router: Router) {\r\n // this.router.routeReuseStrategy.shouldReuseRoute = function() {\r\n // return false;\r\n // };\r\n }\r\n onRefreshClicked() {\r\n window.location.reload();\r\n // console.log(this.navigationPath);\r\n // this.router.navigate(['/', this.navigationPath], {skipLocationChange:false}); \r\n }\r\n}","
\r\n
\r\n

There was a problem loading this page.

\r\n\r\n
\r\n
Test Platform Team is working on the issue to solve it.
\r\n \r\n Please reach out to Test Platform Support alias for help.\r\n
\r\n
\r\n \r\n
\r\n
\r\n\r\n
\r\n","import { Injectable } from '@angular/core';\r\nimport { HttpClient, HttpHeaders } from \"@angular/common/http\";\r\nimport { ConfigService } from './config.service';\r\nimport { LandingPageResponse, WarningBoxDetail} from '../model/landingpage.model';\r\nimport { NgxUiLoaderConfig, NgxUiLoaderService } from 'ngx-ui-loader';\r\n\r\n@Injectable()\r\nexport class LandingPageService {\r\n ngxLoaderConfig: NgxUiLoaderConfig;\r\n\r\n constructor(private ngxUiLoaderService: NgxUiLoaderService, private httpClient: HttpClient, private configService: ConfigService) {\r\n this.ngxLoaderConfig = this.ngxUiLoaderService.getDefaultConfig();\r\n }\r\n \r\n public getLandingPageExecution() {\r\n const baseUrlWithVersion = this.configService.omtestSuiteAPI.baseUrl + '/api/' + this.configService.omtestSuiteAPI.apiVersion;\r\n return this.httpClient.get(baseUrlWithVersion + '/WarningBox/GetWarningDetails');\r\n }\r\n\r\n}\r\n","import { Component, OnInit } from '@angular/core';\r\nimport { MasterDataService } from '../service/masterdata.service';\r\nimport { SampleFilesService } from '../service/samplefiles.service';\r\nimport * as XLSX from 'xlsx';\r\nimport { NgbModal } from '@ng-bootstrap/ng-bootstrap';\r\nimport { ProductRequestList } from '../model/productrequest.model';\r\nimport { ConfigService } from '../service/config.service';\r\nimport * as log from '../AppInsightsLogger';\r\nimport { ApplicationInsights } from '@microsoft/applicationinsights-web';\r\nimport { DescriptionService } from '../service/description.service';\r\nimport { MsalService } from '@azure/msal-angular';\r\n\r\n@Component({\r\n selector: 'app-skuvalidation',\r\n templateUrl: './skuvalidation.component.html',\r\n styleUrls: ['./skuvalidation.component.css']\r\n})\r\nexport class SkuValidationComponent implements OnInit {\r\n\r\n skuNumbers: string;\r\n partnerProfile: string;\r\n mode: string;\r\n batchSize: number;\r\n showLoader: boolean;\r\n logMessage: string = '';\r\n excelJsonData: any;\r\n name: string;\r\n private logger: log.AppInsightsLogger;\r\n pageDetails: any[];\r\n pageDescription: string;\r\n\r\n ngOnInit() {\r\n window.sessionStorage.setItem(\"orgSelected\", \"1\");\r\n this.showLoader = false;\r\n this.logMessage = '';\r\n this.logger.trackTrace(`Successfully logged to SKU Validation`);\r\n\r\n this.descriptionService.pageDetailsTools().subscribe((response: any[]) => {\r\n this.pageDetails = response;\r\n this.pageDetails.forEach(element => {\r\n if (element.toolName == \"SKU Validation\") {\r\n this.pageDescription = element.toolDescription\r\n }\r\n });\r\n });\r\n }\r\n\r\n \r\n\r\n constructor(private descriptionService: DescriptionService, private masterDataService: MasterDataService, private msalService: MsalService, private configService: ConfigService) {\r\n this.name = this.msalService.instance.getActiveAccount().name;\r\n this.logger = new log.AppInsightsLogger(configService, msalService);\r\n }\r\n\r\n downloadSampleFile() {\r\n SampleFilesService.downloadSampleFile(SampleFilesService.SkuListSample);\r\n }\r\n\r\n onPostSkuClick() {\r\n this.showLoader = true;\r\n this.logMessage = '';\r\n let jsonObjSource = JSON.parse(this.excelJsonData);\r\n this.masterDataService.validateSku(jsonObjSource).subscribe((response: string[]) => {\r\n if (response != null && response.length > 0) {\r\n response.forEach(element => {\r\n this.addLogLine(element);\r\n this.logger.trackTrace(`SKU Validation Successfully`);\r\n });\r\n } else {\r\n this.addLogLine('Some error occured, sku list submitted for validation');\r\n this.logger.trackTrace(`SKU Validation Some error occured, sku list submitted for validation`);\r\n }\r\n this.showLoader = false;\r\n }, (error) => {\r\n this.addLogLine('Some error occured, sku list submitted for validation');\r\n this.logger.trackTrace(`SKU Validation Some error occured, sku list submitted for validation`);\r\n this.logger.trackException(error)\r\n this.showLoader = false;\r\n });\r\n }\r\n\r\n getBatchedArrays(array: string[], batchSize: number) {\r\n var batchedArrays = [];\r\n while (array.length > 0) {\r\n batchedArrays.push(array.splice(0, batchSize));\r\n }\r\n\r\n return batchedArrays;\r\n }\r\n\r\n openFile(event: any) {\r\n let input = event.target;\r\n for (var index = 0; index < input.files.length; index++) {\r\n let reader = new FileReader();\r\n reader.onload = () => {\r\n this.skuNumbers = reader.result as string;\r\n }\r\n reader.readAsText(input.files[index]);\r\n };\r\n }\r\n\r\n validateFileType(event: any) {\r\n const parent = this;\r\n if (event.target.files.length > 0 && event.target.files[0].name.toLowerCase().indexOf('xls') > 0) {\r\n const uploadedFile = event.target.files[0];\r\n let readFile = new FileReader();\r\n readFile.onload = () => {\r\n let storeData: any;\r\n storeData = readFile.result;\r\n const exceldata = new Uint8Array(storeData);\r\n let arr = new Array();\r\n for (var i = 0; i != exceldata.length; ++i) {\r\n arr[i] = String.fromCharCode(exceldata[i]);\r\n }\r\n const workbook = XLSX.read(arr.join(''), { type: 'binary' });\r\n parent.excelJsonData = JSON.stringify(XLSX.utils.sheet_to_json(workbook.Sheets['Input'], { raw: false }));\r\n }\r\n readFile.readAsArrayBuffer(uploadedFile);\r\n }\r\n else {\r\n //parent.headerText = 'Invalid File!';\r\n //parent.bodyText = 'You have selected an Invalid File! Please select a valid file and try again!';\r\n //parent.modalService.open(responseModal, { ariaLabelledBy: 'modal-basic-title', backdrop: 'static' }).result.then((result: any) => {\r\n //});\r\n }\r\n }\r\n\r\n addLogLine(line: string) {\r\n var currentDateTime = new Date();\r\n this.logMessage += '[' + currentDateTime.toLocaleString() + ']' + ' ' + line + '\\n';\r\n }\r\n\r\n getSKUNumberArray() {\r\n var skuNumberArrayUntrimmed: string[];\r\n var skuNumberArrayTrimmed: string[];\r\n skuNumberArrayUntrimmed = this.skuNumbers.replace(/\\r/g, '').split('\\n');\r\n skuNumberArrayTrimmed = [];\r\n skuNumberArrayUntrimmed.forEach(element => {\r\n if (element != null) {\r\n skuNumberArrayTrimmed.push(element.trim());\r\n }\r\n });\r\n\r\n return skuNumberArrayTrimmed;\r\n }\r\n\r\n clearLogs() {\r\n this.logMessage = '';\r\n }\r\n}\r\n","
\r\n

SKU Validation

\r\n
\r\n
\r\n Description:\r\n

{{this.pageDescription}}

\r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n Clear\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n","import { Component, OnInit, EventEmitter, Output } from '@angular/core';\r\nimport { Location } from '@angular/common';\r\nimport {MsalService} from '@azure/msal-angular'\r\nimport { environment } from '../../environments/environment.prod';\r\nimport { Constants } from '../service/constant.service';\r\nimport { ConfigService } from '../service/config.service';\r\nimport { Router } from '@angular/router';\r\nimport { AuthService } from '../service/auth.service';\r\nimport { FeedbackComponent } from '../feedback/feedback.component';\r\nimport { OrgViewService } from '../service/org-view.service';\r\nimport { Organization } from '../model/org-view.model';\r\nimport { MsalBroadcastService } from '@azure/msal-angular';\r\nimport { AuthenticationResult, EventMessage, EventType, InteractionStatus } from '@azure/msal-browser';\r\nimport { filter } from 'rxjs/operators';\r\n\r\n@Component({\r\n selector: 'app-navmenu',\r\n templateUrl: './navmenu.component.html',\r\n styleUrls: ['./navmenu.component.css'],\r\n providers: [ FeedbackComponent ]\r\n})\r\n\r\nexport class NavmenuComponent implements OnInit {\r\n\r\n username: string;\r\n swaggerUrl: string;\r\n environments = environment.supportedEnvironments;\r\n selectedEnvironment = Constants.EnvironmentCI;\r\n isShipmentMockEnabled: boolean\r\n isLoadPlanMockEnabled: boolean\r\n isGoodreceiptMockEnabled: boolean\r\n isManageTestRunEnabled: boolean\r\n isSerialNumberGenerationEnabled: boolean\r\n isSerialNumberSearchEnabled: boolean\r\n isAPIDocEnabled: boolean\r\n isAuthenticatedWithRolesValid: boolean\r\n isOrderViewEnabled: boolean;\r\n isSkuSearchEnabled: boolean;\r\n isSkuValidationEnabled: boolean;\r\n isSAPOutputTriggerEnabled: boolean;\r\n isEnabled: boolean;\r\n sub: any;\r\n isDevMode: boolean;\r\n isCollapsed: boolean;\r\n OCV: any;\r\n currentAppName: string;\r\n currentAppSubOption: string;\r\n isOrgSelected:boolean = false;\r\n\r\n @Output() messageEvent = new EventEmitter();\r\n orgName: string;\r\n orgId: string;\r\n orgMap: Map = new Map();\r\n loginDisplay: boolean = false;\r\n isMockerV2Enabled: boolean;\r\n\r\n constructor(private msalService: MsalService,\r\n private msalBroadcastService: MsalBroadcastService,\r\n public configService: ConfigService,\r\n private router: Router,\r\n public authService: AuthService,\r\n private location: Location,\r\n public feedbackComponent: FeedbackComponent,\r\n private orgService: OrgViewService) {\r\n if (window.location.origin.toLowerCase().indexOf('-test') > 0 || window.location.origin.toLowerCase().indexOf('-dev') > 0 || window.location.origin.toLowerCase().indexOf('-sit') > 0) {\r\n this.isDevMode = true;\r\n }\r\n else {\r\n this.isDevMode = false;\r\n }\r\n this.isCollapsed = false;\r\n this.currentAppName = '';\r\n // this.OCV = new FeedbackComponent();\r\n }\r\n\r\n ngOnInit() {\r\n\r\n this.msalBroadcastService.msalSubject$\r\n .pipe(\r\n filter((msg: EventMessage) => msg.eventType === EventType.LOGIN_SUCCESS),\r\n )\r\n .subscribe((result: EventMessage) => {\r\n const payload = result.payload as AuthenticationResult;\r\n this.msalService.instance.setActiveAccount(payload.account);\r\n });\r\n\r\n this.msalBroadcastService.inProgress$\r\n .pipe(\r\n filter((status: InteractionStatus) => status === InteractionStatus.None)\r\n )\r\n .subscribe(() => {\r\n this.router.navigate['/unauthorized'];\r\n });\r\n\r\n\r\n //this.adalService.handleWindowCallback();\r\n if (!this.authService.isAuthenticatedWithRoles()) {\r\n this.router.navigate['/unauthorized'];\r\n }\r\n\r\n\r\n this.setOrgMap();\r\n this.username = this.msalService.instance.getActiveAccount().name;\r\n\r\n this.isShipmentMockEnabled = this.authService.isShipmentMockEnabled();\r\n this.isLoadPlanMockEnabled = this.authService.isLoadPlanMockEnabled();\r\n this.isGoodreceiptMockEnabled = this.authService.isGoodreceiptMockEnabled();\r\n this.isMockerV2Enabled = this.authService.isMockerV2();\r\n this.isManageTestRunEnabled = this.authService.isManageTestRunEnabled();\r\n this.isSerialNumberGenerationEnabled = this.authService.isSerialNumberGenerationEnabled();\r\n this.isSerialNumberSearchEnabled = this.authService.isSerialNumberSearchEnabled();\r\n this.isSkuSearchEnabled = this.authService.isSkuSearchEnabled();\r\n this.isSkuValidationEnabled = this.authService.isSkuValidationEnabled();\r\n this.isSAPOutputTriggerEnabled = this.authService.isSAPOutputTriggerEnabled();\r\n this.isEnabled = this.authService.isEnabled();\r\n this.isAPIDocEnabled = this.authService.isAPIDocEnabled();\r\n this.isAuthenticatedWithRolesValid = this.authService.isAuthenticatedWithRoles();\r\n this.isOrderViewEnabled = this.authService.isOrderViewEnabled();\r\n this.swaggerUrl = this.configService.omtestSuiteAPI.baseUrl + '/swagger';\r\n if (this.isDevMode) {\r\n this.switchEnvironment('UAT');\r\n }\r\n\r\n \r\n this.SelectedOrgName;\r\n \r\n\r\n }\r\n\r\n async setOrgMap() {\r\n try {\r\n const promise = this.orgService.getOrganizations().toPromise();\r\n const orgs = await promise;\r\n for (const org of orgs) {\r\n this.orgMap.set(org.organizationId, org.organizationName);\r\n }\r\n this.setOrgData();\r\n } catch (error) {\r\n this.setOrgData();\r\n }\r\n }\r\n \r\n \r\n setOrgData() {\r\n this.orgId = window.sessionStorage.getItem(\"orgSelected\");\r\n let orgName = this.orgMap.get(parseInt(this.orgId));\r\n if (orgName != undefined) {\r\n window.sessionStorage.setItem('orgName', orgName);\r\n }\r\n this.orgName = window.sessionStorage.getItem(\"orgName\"); \r\n }\r\n\r\n\r\n\r\n\r\n public get SelectedOrgName() {\r\n this.orgName = window.sessionStorage.getItem(\"orgName\");\r\n this.orgId = window.sessionStorage.getItem(\"orgSelected\");\r\n return this.orgName;\r\n }\r\n\r\n public get IsOrgLanding() {\r\n return window.sessionStorage.getItem(\"inOrgLanding\") != null && this.router.url == \"/org-landing\";\r\n }\r\n\r\n public filterNavMenu(option:string) :boolean {\r\n\r\n var selectedOrg = window.sessionStorage.getItem(\"orgSelected\");\r\n \r\n \r\n \r\n \r\n // navigation constants.\r\n const testRuns = 'Test Runs';\r\n const loadTest = 'Load Test';\r\n const Tools = 'Tools';\r\n const Mockers = 'Mockers';\r\n const Library = 'Library';\r\n const contactUs = 'Contact Us';\r\n const Legacy = 'Legacy';\r\n const privacyNotice = 'Privacy Notice';\r\n const Admin = 'Admin';\r\n const Home = 'Home';\r\n const projectTestRuns = 'ProjectTestRun';\r\n\r\n\r\n switch (option) {\r\n\r\n case privacyNotice: {\r\n return true;\r\n }\r\n\r\n case Home: {\r\n return selectedOrg != null && this.IsOrgLanding == false;\r\n }\r\n\r\n case testRuns: {\r\n return selectedOrg != null && this.IsOrgLanding == false;\r\n }\r\n case contactUs: {\r\n return selectedOrg != null && this.IsOrgLanding == false;\r\n }\r\n\r\n case projectTestRuns: {\r\n return selectedOrg != null && this.IsOrgLanding == false;\r\n }\r\n\r\n //only for supply chain\r\n case loadTest: {\r\n return selectedOrg != null && selectedOrg == \"1\" && this.IsOrgLanding == false;\r\n }\r\n\r\n case Tools: {\r\n return selectedOrg != null && selectedOrg == \"1\" && this.IsOrgLanding == false;\r\n }\r\n\r\n case Mockers: {\r\n return selectedOrg != null && this.IsOrgLanding == false;\r\n }\r\n\r\n case Library: {\r\n return selectedOrg != null && selectedOrg == \"1\" && this.IsOrgLanding == false;\r\n }\r\n\r\n case Legacy: {\r\n return selectedOrg != null && selectedOrg == \"1\" && this.IsOrgLanding == false;\r\n }\r\n\r\n case Admin: {\r\n return selectedOrg != null && selectedOrg == \"1\" && this.IsOrgLanding == false;\r\n }\r\n\r\n default: {\r\n return false;\r\n }\r\n }\r\n }\r\n\r\n login() {\r\n this.msalService.instance.loginRedirect();\r\n }\r\n\r\n logout() {\r\n this.msalService.instance.logoutRedirect();\r\n }\r\n\r\n get authenticated(): boolean {\r\n return this.msalService.instance.getAllAccounts().length>0;\r\n }\r\n\r\n \r\n\r\n switchEnvironment(env: string) {\r\n this.configService.switchEnvironment(env);\r\n this.selectedEnvironment = env;\r\n this.isShipmentMockEnabled = this.authService.isShipmentMockEnabled();\r\n this.isLoadPlanMockEnabled = this.authService.isLoadPlanMockEnabled();\r\n this.isGoodreceiptMockEnabled = this.authService.isGoodreceiptMockEnabled();\r\n this.isMockerV2Enabled = this.authService.isMockerV2();\r\n this.isManageTestRunEnabled = this.authService.isManageTestRunEnabled();\r\n this.isSkuSearchEnabled = this.authService.isSkuSearchEnabled();\r\n this.isSkuValidationEnabled = this.authService.isSkuValidationEnabled();\r\n this.isSAPOutputTriggerEnabled = this.authService.isSAPOutputTriggerEnabled();\r\n this.isEnabled = this.authService.isEnabled();\r\n this.isAPIDocEnabled = this.authService.isAPIDocEnabled();\r\n }\r\n collapseNavbar(): void {\r\n this.isCollapsed = !this.isCollapsed;\r\n this.messageEvent.emit(this.isCollapsed);\r\n }\r\n\r\n\r\n navigateMainApp(newOption: string): void {\r\n // update app name on screen.\r\n this.currentAppName = newOption;\r\n // this.currentAppSubOption = '';\r\n \r\n // navigation constants.\r\n const testRuns = 'Test Runs';\r\n const loadTest = 'Load Test';\r\n const Tools = 'Tools';\r\n const Mockers = 'Mockers';\r\n const Library = 'Library';\r\n const contactUs = 'Contact Us';\r\n const Legacy = 'Legacy';\r\n const privacyNotice = 'Privacy Notice';\r\n const Admin = 'Admin';\r\n const Home = 'Home';\r\n const projectTestRuns = 'ProjectTestRun';\r\n const orgLanding = 'OrgLanding'\r\n \r\n \r\n // navigate to screen based on selected option.\r\n switch (newOption) {\r\n \r\n case orgLanding:{\r\n this.router.navigate(['/org-landing']);\r\n break;\r\n }\r\n case Home: {\r\n this.router.navigate(['/landing-page', this.getUrlParams()]);\r\n break;\r\n } case testRuns: {\r\n //Todo: Once description is provided, change the navigation link to /testrun.\r\n this.router.navigate(['/testscenario', this.getUrlParams()]);\r\n break;\r\n }\r\n case projectTestRuns:{\r\n this.router.navigate(['/org-project-view', this.getUrlParams()]);\r\n break;\r\n }\r\n case Tools: {\r\n this.router.navigate(['/tools']);\r\n break;\r\n }\r\n case Mockers: {\r\n this.router.navigate(['/mockers']);\r\n break;\r\n }\r\n case Library: {\r\n this.router.navigate(['/scenariocatalog']);\r\n break;\r\n } case Admin: {\r\n this.router.navigate(['/testrunoverview']);\r\n break;\r\n }case Legacy: {\r\n this.router.navigate(['/testruns']);\r\n break;\r\n } case privacyNotice: {\r\n this.router.navigate(['/privacynotice']);\r\n break;\r\n } case loadTest: {\r\n this.router.navigate(['/loadtest']);\r\n break;\r\n } case contactUs: {\r\n break;\r\n }\r\n default: {\r\n console.log('Invalid option selected in navigateMainMenu.', newOption);\r\n }\r\n }\r\n }\r\n getUrlParams(): any {\r\n return {\r\n 'org': this.orgId,\r\n \r\n };\r\n }\r\n}\r\n","\r\n\r\n\r\n","import { Component, OnInit } from '@angular/core';\r\nimport { SAPService } from '../service/sap.service';\r\nimport { NgbModal } from '@ng-bootstrap/ng-bootstrap';\r\nimport { OutputTriggerRequest } from '../model/outputtrigger.model';\r\nimport { ConfigService } from '../service/config.service';\r\nimport * as log from '../AppInsightsLogger';\r\nimport { MasterDataService } from '../service/masterdata.service';\r\n\r\nimport { ApplicationInsights } from '@microsoft/applicationinsights-web';\r\nimport { MsalService } from '@azure/msal-angular';\r\nimport { DescriptionService } from '../service/description.service';\r\n\r\n@Component({\r\n selector: 'app-sapoutputtrigger',\r\n templateUrl: './sapoutputtrigger.component.html',\r\n styleUrls: ['./sapoutputtrigger.component.css']\r\n})\r\nexport class SapOutputTriggerComponent implements OnInit {\r\n\r\n outputTriggerRequest: OutputTriggerRequest;\r\n showLoader: boolean;\r\n entityNumbers: string;\r\n sapOutputType: any;\r\n logMessage: string = '';\r\n name: string;\r\n private logger: log.AppInsightsLogger;\r\n pageDetails: any[];\r\n pageDescription: string;\r\n \r\n ngOnInit() {\r\n this.showLoader = false;\r\n this.logMessage = '';\r\n this.outputTriggerRequest = new OutputTriggerRequest();\r\n this.logger.trackTrace(`Successfully landed to sapoutputtrigger`);\r\n\r\n this.descriptionService.pageDetailsTools().subscribe((response: any[]) => {\r\n this.pageDetails = response;\r\n this.pageDetails.forEach(element => {\r\n if (element.toolName == \"SAP Trigger Output\") {\r\n this.pageDescription = element.toolDescription\r\n }\r\n });\r\n });\r\n }\r\n\r\n constructor(private sapDataService: SAPService, private masterDataService: MasterDataService,\r\n private configService: ConfigService,\r\n private descriptionService: DescriptionService,\r\n private msalService: MsalService) {\r\n this.name = this.msalService.instance.getActiveAccount().name;\r\n this.logger = new log.AppInsightsLogger(configService, msalService);\r\n }\r\n\r\n onSubmitClick() {\r\n this.showLoader = true;\r\n this.logMessage = '';\r\n this.outputTriggerRequest.entityNumbers = this.getEntityNumberArray();\r\n this.outputTriggerRequest.outputTriggerFor = this.sapOutputType;\r\n this.sapDataService.postSAPOutPutTrigger(this.outputTriggerRequest).subscribe((response : string[]) => {\r\n if (response != null && response.length > 0) {\r\n response.forEach(element => {\r\n this.addLogLine(element);\r\n });\r\n } else {\r\n this.addLogLine('Some error occured while submitting the output trigger');\r\n this.logger.trackTrace(`Sap Out Put Trigger, Some error occured while submitting the output trigger`);\r\n }\r\n this.showLoader = false;\r\n }, (error) => {\r\n this.addLogLine('Some error occured while submitting the output trigger');\r\n this.logger.trackTrace(`Sap Out Put Trigger, Some error occured while submitting the output trigger`);\r\n this.logger.trackException(error);\r\n this.showLoader = false;\r\n });\r\n }\r\n\r\n\r\n\r\n addLogLine(line: string) {\r\n var currentDateTime = new Date();\r\n this.logMessage += '[' + currentDateTime.toLocaleString() + ']' + ' ' + line + '\\n';\r\n }\r\n\r\n getEntityNumberArray() {\r\n var entityNumberArrayUntrimmed: string[];\r\n var entityNumberArrayTrimmed: string[];\r\n entityNumberArrayUntrimmed = this.entityNumbers.replace(/\\r/g, '').split(',');\r\n entityNumberArrayTrimmed = [];\r\n entityNumberArrayUntrimmed.forEach(element => {\r\n if (element != null) {\r\n entityNumberArrayTrimmed.push(element.trim());\r\n }\r\n });\r\n\r\n return entityNumberArrayTrimmed;\r\n }\r\n\r\n clearLogs() {\r\n this.logMessage = '';\r\n }\r\n}\r\n","
\r\n

SAP Trigger Output

\r\n
\r\n
\r\n Description:\r\n

{{this.pageDescription}}

\r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n
SAP Output Type is required
\r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n DO/PO Number field\r\n is required\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n Clear\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n","import { Component, OnInit, Input, Output, EventEmitter, OnChanges } from '@angular/core';\r\nimport { UatAvailabilityService } from '../../../service/uatavailability.service';\r\nimport { MasterDataService } from '../../../service/masterdata.service';\r\nimport { MsalService } from '@azure/msal-angular'\r\nimport { ConfigService } from '../../../service/config.service';\r\nimport * as log from '../../../AppInsightsLogger';\r\nimport { NgxUiLoaderService } from 'ngx-ui-loader';\r\nimport { ManageScenariosService } from '../../../service/manage-scenarios.service';\r\nimport { BehaviorSubject, Subscription } from 'rxjs';;\r\nimport { Status } from '../../status/status.component';\r\nimport { HttpClient } from '@angular/common/http';\r\nimport { ActivatedRoute, Router } from '@angular/router';\r\n\r\n\r\n// NOTE: this eslint comment allows the exported enum to not trigger the no-shadow eslint error\r\n// eslint-disable-next-line\r\nexport enum Priority {\r\n UNDETERMINED = 'UNDETERMINED',\r\n LOW = 'LOW',\r\n MEDIUM = 'MEDIUM',\r\n HIGH = 'HIGH'\r\n}\r\n\r\nexport const PRIORITY_LABELS: Record = {\r\n [Priority.UNDETERMINED]: 'Not Assigned',\r\n [Priority.LOW]: 'Low',\r\n [Priority.MEDIUM]: 'Medium',\r\n [Priority.HIGH]: 'High'\r\n};\r\n\r\nexport const PRIORITY_LABEL = 'Priority';\r\n\r\n\r\nexport interface RowGroup {\r\n key: string;\r\n label: string;\r\n startRowIndex: number;\r\n rows: Array;\r\n}\r\n\r\nexport interface DiffRowGroup {\r\n key: string;\r\n label: string;\r\n startRowIndex: number;\r\n rows: Array;\r\n}\r\n\r\nexport class Comment {\r\n id: string;\r\n content?: string;\r\n author?: string;\r\n listOfTaggedUsers?: string[];\r\n lastUpdatedOn = new Date();\r\n parentType?: string;\r\n parentId?: string;\r\n}\r\n\r\nexport class ControlRequestStatus {\r\n type: ControlRequestStatusTypes;\r\n message: string;\r\n\r\n constructor(type: ControlRequestStatusTypes, message: string = CONTROL_REQUEST_STATUS_MESSAGES[type]) {\r\n this.type = type;\r\n this.message = message;\r\n }\r\n\r\n get isError(): boolean {\r\n return this.type === ControlRequestStatusTypes.ERROR;\r\n }\r\n\r\n get isLoading(): boolean {\r\n return this.type === ControlRequestStatusTypes.LOADING;\r\n }\r\n\r\n get isSuccess(): boolean {\r\n return this.type === ControlRequestStatusTypes.SUCCESS;\r\n }\r\n\r\n static Error(message: string = CONTROL_REQUEST_STATUS_MESSAGES[ControlRequestStatusTypes.ERROR]): ControlRequestStatus {\r\n return new ControlRequestStatus(ControlRequestStatusTypes.ERROR, message);\r\n }\r\n\r\n static Loading(message: string = CONTROL_REQUEST_STATUS_MESSAGES[ControlRequestStatusTypes.LOADING]): ControlRequestStatus {\r\n return new ControlRequestStatus(ControlRequestStatusTypes.LOADING, message);\r\n }\r\n\r\n static Success(message: string = CONTROL_REQUEST_STATUS_MESSAGES[ControlRequestStatusTypes.SUCCESS]): ControlRequestStatus {\r\n return new ControlRequestStatus(ControlRequestStatusTypes.SUCCESS, message);\r\n }\r\n}\r\n\r\n// NOTE: this eslint comment allows the enum to not trigger the no-shadow eslint error\r\n// eslint-disable-next-line\r\nenum ControlRequestStatusTypes {\r\n ERROR,\r\n SUCCESS,\r\n LOADING\r\n}\r\n\r\nexport const CONTROL_REQUEST_STATUS_CLASSES: Record = {\r\n [ControlRequestStatusTypes.ERROR]: 'alert-danger',\r\n [ControlRequestStatusTypes.SUCCESS]: 'alert-success',\r\n [ControlRequestStatusTypes.LOADING]: 'alert-light'\r\n};\r\n\r\nexport const CONTROL_REQUEST_STATUS_MESSAGES: Record = {\r\n [ControlRequestStatusTypes.ERROR]: 'Error!',\r\n [ControlRequestStatusTypes.SUCCESS]: 'Success!',\r\n [ControlRequestStatusTypes.LOADING]: 'Loading, please wait...'\r\n};\r\n\r\nexport const CONTROL_REQUEST_STATUS_ICONS: Record = {\r\n [ControlRequestStatusTypes.ERROR]: 'ms-Icon--ErrorBadge ms-fontColor-sharedRed20',\r\n [ControlRequestStatusTypes.SUCCESS]: 'ms-Icon--Completed ms-fontColor-sharedGreen20',\r\n [ControlRequestStatusTypes.LOADING]: 'spinner-border'\r\n};\r\n\r\n\r\n// import { Comment } from './comment';\r\n// import { Priority } from './priority';\r\n// import { Status } from './status';\r\n\r\nexport class BaseTask {\r\n id: string;\r\n label?: string;\r\n content?: string;\r\n capabilityType?: string;\r\n taskDefinitionId?: string;\r\n startedOn?: Date;\r\n completeBy?: Date;\r\n assignee?: string;\r\n priority?: Priority;\r\n collaborators?: string[];\r\n status?: Status;\r\n taskGroup?: { id: string };\r\n\r\n constructor(task: BaseTask) {\r\n this.id = task.id;\r\n this.label = task.label;\r\n this.content = task.content;\r\n this.capabilityType = task.capabilityType;\r\n this.taskDefinitionId = task.taskDefinitionId;\r\n this.startedOn = task.startedOn;\r\n this.completeBy = task.completeBy;\r\n this.assignee = task.assignee;\r\n this.priority = task.priority;\r\n this.collaborators = task.collaborators ? [...task.collaborators] : null;\r\n this.status = task.status;\r\n this.taskGroup = task.taskGroup ? { id: task.taskGroup.id } : null;\r\n }\r\n}\r\n\r\nexport class Task extends BaseTask {\r\n comments?: Comment[];\r\n project?: { id: string; label?: string, coordinator?: string, isPractice?: boolean, type?: string };\r\n difference?: string;\r\n reasonForChange?: string;\r\n\r\n constructor(task: Task) {\r\n super(task);\r\n this.difference = task.difference;\r\n this.reasonForChange = task.reasonForChange;\r\n this.comments = task.comments ? [... task.comments] : null;\r\n this.project = task.project ?\r\n {\r\n id: task.project.id,\r\n label: task.project.label,\r\n coordinator: task.project.coordinator,\r\n isPractice: task.project.isPractice\r\n } : null;\r\n }\r\n}\r\n\r\nexport class TaskRequest extends BaseTask {\r\n comments: { id: string }[];\r\n project: { id: string };\r\n\r\n constructor(task: Task) {\r\n super(task);\r\n\r\n this.project = task.project ? { id: task.project.id } : null;\r\n this.comments = task.comments.map(c => ({ id: c.id } as { id: string }));\r\n }\r\n}\r\n\r\n\r\n\r\n// import { Status } from './status';\r\n// import { Task } from './task';\r\n\r\nexport class BaseTaskGroup {\r\n id: string;\r\n label?: string;\r\n status?: Status;\r\n taskGroupDefinitionId?: string;\r\n project?: { id: string };\r\n\r\n constructor(taskGroup: BaseTaskGroup) {\r\n this.id = taskGroup.id;\r\n this.label = taskGroup.label;\r\n this.status = taskGroup.status;\r\n this.taskGroupDefinitionId = taskGroup.taskGroupDefinitionId;\r\n this.project = taskGroup.project ? { id: taskGroup.project.id } : null;\r\n }\r\n}\r\n\r\nexport class TaskGroup extends BaseTaskGroup {\r\n tasks: Task[];\r\n difference?: string;\r\n reasonForChange?: string;\r\n\r\n constructor(taskGroup: TaskGroup) {\r\n super(taskGroup);\r\n this.difference = taskGroup.difference;\r\n this.reasonForChange = taskGroup.reasonForChange;\r\n this.tasks = new Array();\r\n \r\n //if(taskGroup.tasks !)\r\n taskGroup.tasks.forEach(task => { \r\n this.tasks.push(new Task(task))\r\n });\r\n }\r\n}\r\n\r\nexport class TaskGroupRequest extends BaseTaskGroup {\r\n tasks: { id: string }[];\r\n\r\n constructor(taskGroup: TaskGroup) {\r\n super(taskGroup);\r\n\r\n this.tasks = taskGroup.tasks.map(t => ({ id: t.id } as { id: string }));\r\n }\r\n}\r\n\r\ntype CheckableRow = {\r\n isHovered: boolean;\r\n checked: boolean;\r\n};\r\n\r\nclass RowGroupTaskGroup extends TaskGroup implements RowGroup, CheckableRow {\r\n key: string;\r\n label: string;\r\n startRowIndex: number;\r\n rows: (Task & CheckableRow)[];\r\n\r\n isHovered: boolean;\r\n checked: boolean;\r\n}\r\n\r\n@Component({\r\n selector: 'app-simple-grid',\r\n templateUrl: './simple-grid.component.html',\r\n styleUrls: ['./simple-grid.component.css']\r\n})\r\nexport class SimpleGridComponent implements OnInit {\r\n\r\n @Input() testPlanName = \"\";\r\n @Input() organizationId:number;\r\n @Input() column_schema: any = [];\r\n @Input() table_data: any[]= [];\r\n @Input() useLevels: boolean = false;\r\n @Input() useCheckBoxForSelection: boolean = true;\r\n @Input() alwaysShowCheckBox: boolean = false;\r\n @Input() validationStatus:string;\r\n @Input() detailLink: Map;\r\n @Output() onSelectionChanged = new EventEmitter();\r\n @Output() onFileSelected = new EventEmitter();\r\n @Output() onDownloadSku = new EventEmitter();\r\n @Output() onDownloadSampleInput = new EventEmitter();\r\n @Output() onParameterChanged = new EventEmitter();\r\n @Output() onCustomEvent = new EventEmitter();\r\n gridId = 'projectTasksList';\r\n @Output() testCase = new EventEmitter ();\r\n\r\n rowGroups: Array = [];\r\n totalRows = 0;\r\n originalTasks: Array = [];\r\n\r\n getTasksStatus$ = new BehaviorSubject(null);\r\n updateRowStatuses$: Record> = {};\r\n createTaskGroupStatus$ = new BehaviorSubject(null);\r\n taskChangeSubscription: Subscription;\r\n isGroupCollapsedMap: Record = {};\r\n isCollapsedAll = false;\r\n isFocusedOnTaskGroupLabel = false;\r\n\r\n allSelected = false; // whether all rows are selected\r\n isGridHeaderHovered = false; // is mouse hovered over the grid header\r\n isMultiSelectMode = false; // true if any task is selected\r\n selectedTasks: Map = new Map();\r\n\r\n\r\n\r\n uatDetails: any[];\r\n businessProcess: any[];\r\n showMessage: boolean;\r\n showPreloader: boolean;\r\n msgTxt: string;\r\n pageDescription: string;\r\n pageDetails: any[];\r\n tooltipUAT: any[];\r\n uatDetailsRows: any[];\r\n businessProcessNamesDetails: any;\r\n uatRowNames: any;\r\n private logger: log.AppInsightsLogger;\r\n selectedBusinessProcessName;\r\n \r\n\r\n constructor(private ngxLoader: NgxUiLoaderService,\r\n private msalService: MsalService,\r\n private configService: ConfigService,\r\n private uatDataService: UatAvailabilityService,\r\n private masterDataService: MasterDataService, \r\n private httpClient:HttpClient,\r\n private manageTestRunsService: ManageScenariosService,\r\n private router: Router) {\r\n this.logger = new log.AppInsightsLogger(configService, msalService);\r\n this.gridId = \"grid-\" + Math.floor((Math.random()*6)+1);\r\n }\r\n\r\n updateTaskGroup(group: TaskGroup): void { }\r\n\r\n get displayColumns() {\r\n return this.column_schema.filter(column => column.class.length);\r\n }\r\n\r\n get hasFiltersApplied(): boolean {\r\n return false; //this.filterService.hasFilters(this.gridId);\r\n }\r\n\r\n get fxnRowGroups(): any {\r\n return this.rowGroups;\r\n }\r\n\r\n displayCheckbox(row: CheckableRow) {\r\n return row.checked || row.isHovered || this.alwaysShowCheckBox;\r\n }\r\n\r\n setAllCheckboxes(isChecked: boolean) {\r\n this.allSelected = isChecked;\r\n this.rowGroups.forEach(rowGroup => {\r\n if(rowGroup.status == Status.NOT_STARTED) {\r\n rowGroup.checked = this.allSelected;\r\n rowGroup.rows.forEach(row => {\r\n this.setCheckboxValue(row, this.allSelected);\r\n });\r\n }\r\n \r\n });\r\n\r\n if(this.onSelectionChanged != null){\r\n let checkedRows = [];\r\n\r\n for(let i=0;i {\r\n this.setCheckboxValue(row, taskGroup.checked);\r\n });\r\n\r\n //this.recalcAllCheckboxValue();\r\n }\r\n\r\n toggleTaskCheckbox(taskGroupIndex: number, taskIndex: number) {\r\n const task = this.rowGroups[taskGroupIndex].rows[taskIndex];\r\n\r\n this.setCheckboxValue(task, !task.checked);\r\n\r\n //this.recalcTaskGroupCheckboxValue(taskGroupIndex);\r\n }\r\n\r\n setCheckboxValue(row: (Task & CheckableRow), checked: boolean) {\r\n if (row.checked === checked)\r\n return;\r\n\r\n row.checked = checked;\r\n if (checked) {\r\n this.selectedTasks.set(row.id, row);\r\n }\r\n else {\r\n this.selectedTasks.delete(row.id);\r\n }\r\n\r\n this.isMultiSelectMode = this.selectedTasks.size > 0;\r\n }\r\n\r\n selectFile(event: any){\r\n if (event.target.files.length > 0) {\r\n const uploadedFile: File = event.target.files[0];\r\n this.onFileSelected.emit(uploadedFile);\r\n }\r\n \r\n }\r\n\r\n downloadSkus(stepName:string){\r\n this.onDownloadSku.emit(stepName);\r\n }\r\n\r\n downloadSampleInput(testPlanPreStepId:number){\r\n this.onDownloadSampleInput.emit(testPlanPreStepId);\r\n }\r\n\r\n taskDrop(event: any): void { }\r\n\r\n ngOnInit() {\r\n //setTimeout(() => { this.loadUat(); }, 500);\r\n //this.loadUat();\r\n this.updateDisplay();\r\n // this.project.taskGroups.forEach(taskGroup => {\r\n // if (!this.updateRowStatuses$[taskGroup.id]) {\r\n // this.updateRowStatuses$[taskGroup.id] = new BehaviorSubject(null);\r\n // }\r\n // taskGroup.tasks.forEach(task => {\r\n // if (!this.updateRowStatuses$[task.id]) {\r\n // this.updateRowStatuses$[task.id] = new BehaviorSubject(null);\r\n // }\r\n // });\r\n // });\r\n }\r\n\r\n ngOnChanges(){\r\n this.updateDisplay();\r\n }\r\n\r\n timeOut(){\r\n setTimeout(()=>{\r\n this.timeOut();\r\n },\r\n 5000);\r\n }\r\n\r\n \r\n updateDisplay(): void {\r\n\r\n this.rowGroups = [];\r\n let nextRowIndex = 1;\r\n //this.timeOut();\r\n\r\n for(let i=0; i < this.table_data.length; ++i) {\r\n let taskGroup = this.table_data[i];\r\n\r\n let newGroup = {\r\n // original\r\n id: taskGroup.id,\r\n label: taskGroup.label,\r\n status: taskGroup.status,\r\n project: taskGroup.project,\r\n tasks: taskGroup.tasks || [],\r\n // used for grid rendering\r\n key: taskGroup.id,\r\n startRowIndex: nextRowIndex,\r\n rows: taskGroup.tasks || []\r\n } as RowGroupTaskGroup;\r\n\r\n let newGroup2 = {\r\n ...this.table_data[i],\r\n id: taskGroup.id,\r\n label: taskGroup.label,\r\n status: taskGroup.status,\r\n project: taskGroup.project,\r\n tasks: taskGroup.tasks || [],\r\n // used for grid rendering\r\n key: taskGroup.id,\r\n startRowIndex: nextRowIndex,\r\n rows: taskGroup.tasks || []\r\n }\r\n\r\n this.rowGroups.push(newGroup2);\r\n\r\n const numTasks = !!taskGroup.tasks ? taskGroup.tasks.length : 0;\r\n nextRowIndex = nextRowIndex + numTasks + 1;\r\n }\r\n \r\n }\r\n\r\n isGroupCollapsed(id: string): boolean {\r\n return false;\r\n // if (this.isGroupCollapsedMap[id] === undefined) {\r\n // this.isGroupCollapsedMap[id] = this.isCollapsedAll;\r\n // }\r\n // return this.isGroupCollapsedMap[id];\r\n }\r\n\r\n rowsChanged(event: any): void {\r\n\r\n }\r\n\r\n toggleCollapseAll(): void {\r\n this.isCollapsedAll = !this.isCollapsedAll;\r\n Object.keys(this.isGroupCollapsedMap).forEach(key => {\r\n this.isGroupCollapsedMap[key] = this.isCollapsedAll;\r\n });\r\n }\r\n\r\n multiEdit(){\r\n\r\n }\r\n\r\n deleteTaskGroup(group: any){\r\n\r\n }\r\n\r\n deleteTask(row: any){\r\n\r\n }\r\n\r\n updateTask(row: any, column: string)\r\n {\r\n var index = this.table_data.findIndex(x => x.correlationId == row.correlationId);\r\n this.table_data[index][column] = row[column];\r\n this.testCase.emit(this.table_data);\r\n }\r\n\r\n\r\n\r\n onCustomEventClicked(group:any){\r\n \r\n }\r\n\r\n onParameterChange(event: any, group:any){\r\n const inputParameters:string = event;\r\n this.onParameterChanged.emit([group.correlationId, inputParameters]);\r\n }\r\n\r\n onResponseResultFetched(event:any[], group:any){\r\n const overallStatus = event[0]\r\n\r\n }\r\n\r\n getUrlParams(group){\r\n if(group.correlationId != null && group.correlationId != undefined){\r\n try {\r\n //open link in a new tab it it's a test run \r\n const link = this.router.serializeUrl(this.router.createUrlTree([\r\n \"/\",\r\n \"manage-testruns\",\r\n {\r\n org: this.organizationId.toString(),\r\n searchId: group.correlationId,\r\n },\r\n ]));\r\n\r\n window.open(link, '_blank');\r\n \r\n } catch (e) {\r\n console.log(e);\r\n } \r\n }\r\n else{\r\n this.router.navigate(['/', 'project-view',{\r\n 'org': this.organizationId.toString(),\r\n 'projectId': group.projectID\r\n }]);\r\n }\r\n \r\n }\r\n\r\n}\r\n","\r\n
\r\n \r\n \r\n \r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n \r\n \r\n
\r\n {{ column.label }}\r\n
\r\n
\r\n \r\n \r\n
\r\n \r\n
\r\n
\r\n There are no items to show\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n \r\n \r\n
\r\n \r\n
\r\n {{group[displayColumns[0].key]}}\r\n {{group[displayColumns[0].key]}} \r\n \r\n
\r\n
\r\n \r\n \r\n \r\n
\r\n \r\n
1\" role=\"gridcell\" [ngClass]=\"column.class\">\r\n
\r\n \r\n {{group[column.key]}} \r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n {{validationStatus}}\r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n","import { Injectable, ComponentFactoryResolver, ViewContainerRef, ComponentRef } from '@angular/core';\r\nimport { HardwarePartnumberLookupComponent } from '../hardware-partnumber-lookup/hardware-partnumber-lookup.component';\r\nimport { Subject } from 'rxjs';\r\nimport { DevicecareComponent } from '../devicecare/devicecare.component';\r\n\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\n\r\nexport class FormlyCustomComponentsService {\r\n\r\n constructor(private componentFactoryResolver: ComponentFactoryResolver) {}\r\n\r\n async loadComponent(viewContainerRef: ViewContainerRef, componentName: string) {\r\n let component;\r\n switch (componentName) {\r\n case HardwarePartnumberLookupComponent.className: {\r\n component = HardwarePartnumberLookupComponent;\r\n break;\r\n }\r\n case DevicecareComponent.className: {\r\n component = DevicecareComponent;\r\n break;\r\n }\r\n default: {\r\n console.error(\"component not found\");\r\n break;\r\n }\r\n\r\n // Why we're hardcoding a className instead of using component.name or component.constructor.name...\r\n // TL;DR: The Angular build minifies & uglifies source-code...\r\n // Potential Solution: https://stackoverflow.com/questions/40115072/how-to-load-component-dynamically-using-component-name-in-angular2\r\n }\r\n\r\n const ret = viewContainerRef.createComponent(this.componentFactoryResolver.resolveComponentFactory(component));\r\n return ret;\r\n }\r\n\r\n\r\n}\r\n","export class BrCancelMockerRequest {\r\n MessageType: string = \"BOOKINGREQUESTCANCEL\"\r\n Parameters: BookingCancelParameters\r\n }\r\n\r\nexport class BookingCancelParameters {\r\n MessageBusinessChannel : string\r\n MessageSenderPartyId : string\r\n MessageReceiverPartyId : string\r\n ShipmentsShipmentBookingNumber : string\r\n ShipmentsCancellationReasonStatusCode : string\r\n ShipmentsCancellationReason : string\r\n\r\n}","import { Component, OnInit, Input } from \"@angular/core\";\r\n\r\n@Component({\r\n selector:'app-progress',\r\n templateUrl: './progress.component.html',\r\n styleUrls:['./progress.component.css'],\r\n})\r\n\r\nexport class ProgressComponent implements OnInit{\r\n @Input() completed = 0;\r\n @Input() total = 1;\r\n\r\n\r\n constructor(){\r\n\r\n }\r\n\r\n ngOnInit(): void {\r\n \r\n }\r\n}\r\n\r\n","
\r\n
\r\n
\r\n
\r\n
\r\n {{ completed }}/{{ total }} Steps Completed\r\n
\r\n","import { Component, OnInit } from '@angular/core';\r\nimport { AbstractControl, FormGroup, ValidationErrors } from '@angular/forms';\r\nimport { FormlyFieldConfig, FormlyFormOptions } from '@ngx-formly/core';\r\nimport { MasterDataService } from '../service/masterdata.service';\r\nimport { BehaviorSubject } from 'rxjs';\r\nimport { LineItem, OutboundDC, ShipmentMockRequest, ShipmentMockRequestType, ShipmentParams } from '../model/shipment.model';\r\nimport { Constants } from '../service/constant.service';\r\nimport * as log from '../AppInsightsLogger';\r\nimport { ShipmentService } from '../service/shipment.service';\r\nimport { error } from 'console';\r\nimport { GoodReceiptMockRequest, Orders } from '../model/goodreceiptrequest.model';\r\nimport { GoodReceiptService } from '../service/goodreceipt.service';\r\nimport { GoodReceiptMockResponse } from '../model/goodreceiptresponse.model';\r\nimport { LoadPlanMockRequest } from '../model/loadplan.model';\r\nimport { LoadPlanPartner } from '../model/masterdata.model';\r\nimport { LoadPlanService } from '../service/loadplan.service';\r\nimport { HttpClient } from '@angular/common/http';\r\nimport { ShipmentmockerService } from '../service/shipmentmocker.service';\r\nimport { LoadplanmockerService } from '../service/loadplanmocker.service';\r\nimport { GoodsreceiptmockerService } from '../service/goodsreceiptmocker.service';\r\nimport { InventoryServiceService } from '../service/inventory-service.service';\r\nimport { AdjDetail, InventoryAdjMockRequest, Parameter } from '../model/inventorySCG.model';\r\nimport { AcknowledgeMockerService } from '../service/acknowledge-mocker.service';\r\nimport { AckknowledgementMockerRequest, ParameterAck, Transac } from '../model/ackmocker.model';\r\nimport { OutboundDeliveryMockerRequest, ParameterOBD } from '../model/outboundmocker.model';\r\nimport { ScgService } from '../service/scg.service';\r\nimport { OutboundMockerService } from '../service/outbound-mocker.service';\r\nimport { AsnMockerRequest, ParameterASN } from '../model/ASNmocker.model';\r\nimport { AsnMockerService } from '../service/asn-mocker.service';\r\nimport { TradeProformaMockerRequest, TradeProformaParams } from '../model/tradePorforma.model';\r\nimport { TradeporformaService } from '../service/tradeporforma.service';\r\nimport { BookingRequestParameters, BrCreateMockerRequest, BookingRequestShipmentline } from '../model/brcreatemocker.model';\r\nimport { BrMockersService } from '../service/br-mockers.service';\r\nimport { InventoryAdviceLine, InvSnapshotFSLMockerRequest, Parameters } from '../model/invSnapshotFSLMocker.model';\r\nimport { BrCancelMockerRequest } from '../model/brcancelmocker.model';\r\nimport { ShipmentLabelMockerService } from '../service/shipmentlabel-mocker.service';\r\nimport { InvsnapshotFSLService } from '../service/invsnapshotFSL.service';\r\n\r\n\r\n\r\nexport function ipValidator(control: AbstractControl): ValidationErrors {\r\n return !control.value || /(\\d{1,3}\\.){3}\\d{1,3}/.test(control.value) ? null : { ip: true };\r\n}\r\n\r\nexport function IpValidatorMessage(err, field: FormlyFieldConfig) {\r\n return `\"${field.formControl.value}\" is not a valid IP Address`;\r\n}\r\n@Component({\r\n selector: 'app-mockersformly',\r\n templateUrl: './mockersformly.component.html',\r\n styleUrls: ['./mockersformly.component.css']\r\n})\r\nexport class MockersformlyComponent implements OnInit {\r\n private logger: log.AppInsightsLogger;\r\n partnerProfile: OutboundDC;\r\n batchSize: number;\r\n doNumbers: string;\r\n poNumbers: string;\r\n mode: string;\r\n showLoader: boolean;\r\n logMessage: string = '';\r\n form = new FormGroup({});\r\n model: any = {\r\n };\r\n options: FormlyFormOptions = {};\r\n loadedConfig: {} = {}; // name of list => raw value of list as JSON object\r\n filesAndOptions: any = [{\r\n \"fileName\": \"vendors\",\r\n \"optionsList\": \"vendorList\",\r\n },\r\n {\r\n \"fileName\": \"plantsDC\",\r\n \"optionsList\": \"plantDCList\"\r\n },\r\n {\r\n \"fileName\": \"loadplanpartners\",\r\n \"optionsList\": \"partnerList\"\r\n },\r\n {\r\n \"fileName\": \"LoadPlanConfig\",\r\n \"optionsList\": \"transportCodeList\"\r\n },\r\n\r\n ]\r\n fields: FormlyFieldConfig[] = [{}];\r\n goodReceiptMockRequest: GoodReceiptMockRequest;\r\n goodReceiptMockResponse: GoodReceiptMockResponse;\r\n payload: any[];\r\n correlationId = '';\r\n loadPlanRequest: LoadPlanMockRequest;\r\n partnerLists: any[];\r\n allMockerFields: FormlyFieldConfig[];\r\n\r\n constructor(private masterDataService: MasterDataService, private asnMockerService: AsnMockerService, private tradePorformaService: TradeporformaService,\r\n private obdMockerService: OutboundMockerService, private scgService: ScgService, private invsnapshotFSLService: InvsnapshotFSLService, private loadPlanService: LoadPlanService,\r\n private inventoryService: InventoryServiceService, private http: HttpClient, private shipmentService: ShipmentService,\r\n private goodReceiptService: GoodReceiptService, private shipmentMockerService: ShipmentmockerService,\r\n private loadplanMockerService: LoadplanmockerService, private grMockerService: GoodsreceiptmockerService,\r\n private ackMockerService: AcknowledgeMockerService, private brMockersService: BrMockersService, private shipmentLabelMockerService: ShipmentLabelMockerService) { }\r\n\r\n ngOnInit(): void {\r\n let stringjson = JSON.stringify(this.filesAndOptions);\r\n this.loadPlanRequest = new LoadPlanMockRequest();\r\n this.goodReceiptMockRequest = new GoodReceiptMockRequest()\r\n this.loadOptionsFiles(stringjson);\r\n this.http.get('./assets/configuration/mockersFormly.json', { responseType: 'text' }).subscribe(\r\n (response: string) => {\r\n let fieldGroup: any = JSON.parse(response)\r\n this.allMockerFields = [...fieldGroup];\r\n this.fields = [{\r\n type: 'dropdown',\r\n }];\r\n this.fields[0][\"fieldGroup\"] = [...this.allMockerFields];\r\n })\r\n }\r\n createFields() {\r\n this.fields = [...this.fields];\r\n }\r\n clearLogs() {\r\n this.logMessage = '';\r\n }\r\n addLogLine(line: string) {\r\n const currentDateTime = new Date();\r\n this.logMessage += '[' + currentDateTime.toLocaleString() + '] ' + line + '\\n';\r\n }\r\n onPostGoodReceiptClick() {\r\n this.showLoader = true;\r\n this.logMessage = '';\r\n this.goodReceiptMockRequest = new GoodReceiptMockRequest();\r\n this.addLogLine(`Progress Started....`);\r\n let order = new Orders();\r\n order.OrderNumber = this.model.goodsReceiptMocker.purchaseOrderNumber;\r\n order.PrecedingOrderNumber = this.model.goodsReceiptMocker.preceedingOrderNumber;\r\n this.goodReceiptMockRequest.MessageType = this.model.goodsReceiptMocker.grType;\r\n this.goodReceiptMockRequest.SenderId = this.model.goodsReceiptMocker.sender;\r\n this.goodReceiptMockRequest.LoadId = this.model.goodsReceiptMocker.loadId;\r\n this.goodReceiptMockRequest.CarrierTrackingNumber = this.model.goodsReceiptMocker.carrierTrackingCode;\r\n this.goodReceiptMockRequest.COO = this.model.goodsReceiptMocker.COO;\r\n this.goodReceiptMockRequest.SerializedFlag = this.model.goodsReceiptMocker.serializedFlag;\r\n\r\n this.goodReceiptMockRequest.PlantCode = this.model.goodsReceiptMocker.plantCode ? this.model.goodsReceiptMocker.plantCode : '';\r\n this.goodReceiptMockRequest.Orders = [];\r\n this.goodReceiptMockRequest.Orders.push(order);\r\n this.goodReceiptMockRequest.IsSTOorder = this.model.goodsReceiptMocker.stoOrder;\r\n\r\n this.goodReceiptMockRequest.Posttoapi = (this.model.goodsReceiptMocker.Posttoapi) ? true : false;\r\n\r\n this.goodReceiptService.onPostMockLoadPlanRequest(this.goodReceiptMockRequest).subscribe(goodReceiptResponse => {\r\n if (goodReceiptResponse != null && goodReceiptResponse.length > 0) {\r\n this.payload = goodReceiptResponse;\r\n goodReceiptResponse.forEach(element => {\r\n this.correlationId = element.correlationId;\r\n\r\n\r\n\r\n if (element.correlationId === '') {\r\n this.clearLogs()\r\n this.addLogLine(`Good Receipt failed while posting to GoodsReceipt service`);\r\n // this.goodReceiptMockResponse.message = this.grMockerService.getValidJSONObject(element.message);\r\n this.logger.trackTrace(`Good Receipt failed. correlationId is null`);\r\n } else {\r\n if (element.isSuccessful == true) {\r\n this.clearLogs()\r\n\r\n this.addLogLine(`Message created and posted to GoodsReceipt service successfully.` +\r\n ` Good Receipt Message: ${element.message}`);\r\n //this.goodReceiptMockResponse.message = this.grMockerService.getValidJSONObject(element.message);\r\n\r\n this.logger.trackTrace(`Message created and posted to GoodsReceipt service successfully. ` +\r\n ` Good Receipt Message: ${element.correlationId}`);\r\n }\r\n //Good Receipt Message: ${ this.getValidJSONObject(element.message) },\r\n }\r\n });\r\n this.showLoader = false;\r\n } else {\r\n this.clearLogs()\r\n this.addLogLine(`Some error occured: ${goodReceiptResponse}`);\r\n this.logger.trackTrace(`Good Receipt Mocker, Some error occured`);\r\n this.showLoader = false;\r\n }\r\n }, (error) => {\r\n this.clearLogs()\r\n this.addLogLine(`Some error occured: ${JSON.stringify(error)}`);\r\n this.logger.trackException(error);\r\n this.showLoader = false;\r\n });\r\n }\r\n onPostLoadPlanClick() {\r\n this.showLoader = true;\r\n let batchCounter = 0;\r\n this.logMessage = '';\r\n let entityNumber = '';\r\n this.loadPlanRequest = new LoadPlanMockRequest();\r\n this.addLogLine(`Progress Started....`);\r\n if (this.model.loadplanMocker.deliveryCode) {\r\n entityNumber = this.model.loadplanMocker.deliveryCode;\r\n }\r\n else if (this.model.loadplanMocker.purchaseCode) {\r\n entityNumber = this.model.loadplanMocker.purchaseCode;\r\n }\r\n const entityNumberArray = this.loadplanMockerService.getEntityNumberArray(entityNumber, this.model);\r\n if (this.model.loadplanMocker.loadplanMode == Constants.LoadPlanModeLoad) {\r\n this.loadPlanRequest.entityType = this.model.loadplanMocker.entityType;\r\n const totalNumberOfDos = entityNumberArray.length;\r\n const batchedArrays = this.loadplanMockerService.getBatchedArrays(entityNumberArray, this.model.loadplanMocker.batchSize);\r\n\r\n this.addLogLine(`Selected LoadPlan Mode: ${Constants.LoadPlanModeLoad}, Number of Orders in file: ${totalNumberOfDos}`);\r\n this.logger.trackTrace(`Selected LoadPlan Mode: ${Constants.LoadPlanModeLoad}, Number of Orders in file: ${totalNumberOfDos}`);\r\n\r\n batchedArrays.forEach(elements => {\r\n var loadPlanRequest_Batch = new LoadPlanMockRequest();\r\n loadPlanRequest_Batch.partnerId = this.model.loadplanMocker.partner;\r\n loadPlanRequest_Batch.entityNumbers = elements;\r\n loadPlanRequest_Batch.mode = Constants.LoadPlanModeLoad;\r\n loadPlanRequest_Batch.entityType = this.model.loadplanMocker.entityType;\r\n loadPlanRequest_Batch.isConsolidated = this.model.loadplanMocker.consolidateOrder ? true : false;\r\n this.loadPlanService.postMockLoadPlanRequest(loadPlanRequest_Batch).subscribe(loadPlanResponse => {\r\n this.addLogLine(`Batch ${++batchCounter} submitted. Batch - ${JSON.stringify(elements)}`);\r\n }, () => {\r\n this.addLogLine(`Some error occured for batch : ${batchCounter}\". Batch - ${JSON.stringify(elements)}`);\r\n this.logger.trackTrace(`Loadplan Mocker: Some error occured for batch : ${batchCounter}\". Batch - ${JSON.stringify(elements)}`);\r\n });\r\n });\r\n this.showLoader = false;\r\n }\r\n else if (this.model.loadplanMocker.loadplanMode == Constants.LoadPlanModeSync) {\r\n var totalNumberOfDos = entityNumberArray.length;\r\n\r\n this.addLogLine(`Selected LoadPlan Mode: ${Constants.LoadPlanModeSync}, Number of Orders: ${totalNumberOfDos}`);\r\n this.loadPlanRequest.entityType = this.model.loadplanMocker.entityType;\r\n this.loadPlanRequest.partnerId = this.model.loadplanMocker.partner;\r\n this.loadPlanRequest.entityNumbers = entityNumberArray;\r\n this.loadPlanRequest.mode = Constants.LoadPlanModeSync;\r\n this.loadPlanRequest.isConsolidated = this.model.loadplanMocker.consolidateOrder ? true : false;\r\n this.loadPlanRequest.loadPlanParams.transportMethodDescription = this.model.loadplanMocker.transportMethodCode;\r\n this.loadPlanRequest.loadPlanParams.serviceLevelCode = this.model.loadplanMocker.serviceLevelCode;\r\n this.loadPlanRequest.loadPlanParams.paymentTermsCode = this.model.loadplanMocker.paymentTermsCode;\r\n this.loadPlanRequest.loadPlanParams.supplierId = this.model.loadplanMocker.supplierId;\r\n this.loadPlanRequest.loadPlanParams.BusinessChannel = this.model.loadplanMocker.BusinessChannel;\r\n this.loadPlanRequest.loadPlanParams.ActionCode = this.model.loadplanMocker.ActionCode;\r\n this.loadPlanRequest.loadPlanParams.ProcessType = this.model.loadplanMocker.ProcessType;\r\n this.loadPlanRequest.loadPlanParams.BookingNumber = this.model.loadplanMocker.bookingNumber;\r\n\r\n this.loadPlanService.postMockLoadPlanRequest(this.loadPlanRequest).subscribe((loadPlanResponse: any) => {\r\n if (loadPlanResponse != null && loadPlanResponse.length > 0) {\r\n let lpResponse = loadPlanResponse;\r\n lpResponse.forEach(element => {\r\n this.addLogLine(`LoadPlan submitted. Order: ${element.doNumber}, LoadPlan Correlation Id: ${element.correlationId}, Message: ${element.message}`);\r\n this.logger.trackTrace(`LoadPlan submitted. Order: ${element.doNumber}, LoadPlan Correlation Id: ${element.correlationId}, Message: ${element.message}`);\r\n });\r\n this.showLoader = false;\r\n } else {\r\n this.addLogLine(`Some error occured: ${loadPlanResponse}`);\r\n this.logger.trackTrace(`Loadplan Mocker ${this.addLogLine}`);\r\n this.showLoader = false;\r\n }\r\n }, (error) => {\r\n this.addLogLine(`Some error occured: ${JSON.stringify(error)}`);\r\n this.logger.trackTrace(`Loadplan Mocker ${this.addLogLine}`);\r\n this.showLoader = false;\r\n });\r\n }\r\n }\r\n onPostShipmentClick() {\r\n const byDoNumbers = this.model.shipmentMocker.shippingType === ShipmentMockRequestType[ShipmentMockRequestType.DC];\r\n let batchCounter = 0;\r\n this.showLoader = true;\r\n this.logMessage = '';\r\n this.addLogLine(`Progress Started....`);\r\n const numbersArray = this.shipmentMockerService.getNumberArray(byDoNumbers ? this.model.shipmentMocker.doNumber : this.model.shipmentMocker.poNumber, this.model);\r\n\r\n if (this.model.shipmentMocker.shippingMode === Constants.ShipmentModeLoad) {\r\n const totalNumberOfOrders = numbersArray.length;\r\n const batchedArrays = this.shipmentMockerService.getBatchedArrays(numbersArray, this.model.shipmentMocker.batchSize);\r\n if (batchedArrays.length > 0) {\r\n batchedArrays.forEach(element => {\r\n const shipmentRequest = this.shipmentMockerService.createShipmentMockRequest(element, true, this.model);\r\n this.shipmentService.postMockShipmentRequest(shipmentRequest).subscribe(shipmentResponse => {\r\n this.addLogLine(`Batch ${++batchCounter} submitted. Batch - ${JSON.stringify(element)}`);\r\n }, (error) => {\r\n this.addLogLine(`Some error occured for batch : ${batchCounter}. Batch - ${JSON.stringify(element)}. Error msg - ${JSON.stringify(error)}`);\r\n this.logger.trackTrace(`In Shipment Mocker, Some error occured for batch`);\r\n this.logger.trackException(error)\r\n });\r\n });\r\n this.addLogLine(`Selected Shipment Mode: ${this.model.shipmentMocker.shippingMode}, Type: ${this.model.shipmentMocker.shippingType}` +\r\n `, Number of Delivery Orders in file: ${totalNumberOfOrders}, Total batches: ${batchedArrays.length}`);\r\n this.logger.trackTrace(`In Shipment Mocker, ${this.addLogLine} `);\r\n\r\n }\r\n\r\n this.showLoader = false;\r\n } else if (this.model.shipmentMocker.shippingMode === Constants.ShipmentModeSync) {\r\n const totalNumberOfOrders = numbersArray.length;\r\n\r\n this.addLogLine(`Selected Shipment Mode: ${this.model.shipmentMocker.shippingMode}, Type: ${this.model.shipmentMocker.shippingType}` +\r\n `, Number of Delivery Orders: ${totalNumberOfOrders}`);\r\n\r\n const shipmentRequest = this.shipmentMockerService.createShipmentMockRequest(numbersArray, false, this.model);\r\n\r\n this.shipmentService.postMockShipmentRequest(shipmentRequest).subscribe(shipmentResponse => {\r\n if (shipmentResponse != null && shipmentResponse.length > 0) {\r\n shipmentResponse.forEach(element => {\r\n const logline = `EntityNumber: ${element.entityNumber}, EntityType: ${element.entityType}`;\r\n if (element.correlationId === '') {\r\n this.addLogLine(`Shipment failed. ${logline}, Message: ${element.message}`);\r\n this.logger.trackTrace(`In Shipment Mocker, Shipment failed. ${logline}, Message: ${element.message} `);\r\n } else {\r\n this.addLogLine(`Shipment submitted. ` + logline +\r\n `, Shipment Correlation Id: ${element.correlationId}, Message: ${element.message}`);\r\n this.logger.trackTrace(`In Shipment Mocker, Shipment submitted. ` + logline +\r\n `, Shipment Correlation Id: ${element.correlationId}, Message: ${element.message}`);\r\n }\r\n });\r\n this.showLoader = false;\r\n } else {\r\n this.addLogLine(`Some error occured: ${shipmentResponse}`);\r\n this.logger.trackTrace(`In Shipment Mocker, Some error occured`);\r\n this.showLoader = false;\r\n }\r\n }, (error) => {\r\n this.addLogLine(`Some error occured: ${JSON.stringify(error)}`);\r\n this.logger.trackTrace(`In Shipment Mocker, Some error occured: ${JSON.stringify(error)} `);\r\n this.logger.trackException(error)\r\n this.showLoader = false;\r\n });\r\n }\r\n }\r\n onPostInventoryAdjClick() {\r\n const InventoryAdjRequest = new InventoryAdjMockRequest();\r\n this.addLogLine(`Progress Started....`);\r\n InventoryAdjRequest.MessageType = 'inventoryadjustment';\r\n\r\n const parameter = new Parameter();\r\n const adj = new AdjDetail()\r\n parameter.Action = this.model.InventoryAdjSCG.Action;\r\n parameter.SenderPlant = this.model.InventoryAdjSCG.SenderPlant;\r\n parameter.Sender = this.model.InventoryAdjSCG.Sender;\r\n\r\n if (this.model.InventoryAdjSCG.AdjustmentDetail.length > 0) {\r\n parameter.AdjustmentDetail = [...this.model.InventoryAdjSCG.AdjustmentDetail]\r\n }\r\n InventoryAdjRequest.Parameters = parameter;\r\n\r\n this.inventoryService.inventoryMockShipmentRequest(InventoryAdjRequest).subscribe(inventoryResponse => {\r\n if (inventoryResponse) {\r\n const logline = `Response Payload: ${inventoryResponse}`;\r\n this.addLogLine(`Response Payload: ${inventoryResponse}`);\r\n if (this.model.InventoryAdjSCG.postToScg) {\r\n this.addLogLine(`Submitting to SCG`);\r\n this.scgService.onPostToSCG(inventoryResponse, \"InventoryAdjustments\").subscribe(afterPosToSCGResponse => {\r\n this.addLogLine(`Response Payload: ${afterPosToSCGResponse}`);\r\n },\r\n (error) => {\r\n this.addLogLine(`Some error occured: ${JSON.stringify(error)}`);\r\n }\r\n );\r\n }\r\n }\r\n },\r\n (error) => {\r\n this.addLogLine(`Some error occured: ${JSON.stringify(error)}`);\r\n }\r\n )\r\n }\r\n onPostInventorySnapshotFSLClick() {\r\n const InvSnapshotFSLMocker = new InvSnapshotFSLMockerRequest();\r\n this.addLogLine(`Progress Started....`);\r\n InvSnapshotFSLMocker.MessageType = 'InventoryAdvice';\r\n const parameter = new Parameters();\r\n parameter.Action = this.model.InvSnapshotFSLMocker.messageAction;\r\n parameter.SenderPlant = this.model.InvSnapshotFSLMocker.senderPlant;\r\n if (this.model.InvSnapshotFSLMocker.batchingEnabled == 'Yes') {\r\n parameter.batchSize = this.model.InvSnapshotFSLMocker.batchSize;\r\n }\r\n parameter.MessageSender = this.model.InvSnapshotFSLMocker.messageSender;\r\n parameter.Supplier = this.model.InvSnapshotFSLMocker.supplier;\r\n parameter.SupplierNodelocation = this.model.InvSnapshotFSLMocker.supplierNodelocation;\r\n parameter.ReportingPlant = this.model.InvSnapshotFSLMocker.reportingPlant;\r\n parameter.InventoryAdviceLines = [];\r\n if (this.model.InvSnapshotFSLMocker.inventoryAdviceLines) {\r\n const inventoryAdviceLine = new InventoryAdviceLine();\r\n this.model.InvSnapshotFSLMocker.inventoryAdviceLines.forEach(element => {\r\n inventoryAdviceLine.ItemStatusType = element.itemStatusType;\r\n inventoryAdviceLine.ShipToPlant = element.shipToPlant ? element.shipToPlant : '';\r\n inventoryAdviceLine.ShipFromPlant = element.shipFromPlant ? element.shipFromPlant : '';\r\n inventoryAdviceLine.FromInventoryLocationId = element.fromInventoryLocationId;\r\n inventoryAdviceLine.Quantity = element.quantity;\r\n inventoryAdviceLine.ItemSKU = element.itemSKU;\r\n inventoryAdviceLine.VendorItemSKU = element.vendorItemSKU;\r\n inventoryAdviceLine.SerializedItemIndicator = element.serializedItemIndicator ? true : false;\r\n if (element.itemSerialNumbers) {\r\n let itemSerialNumbers = element.itemSerialNumbers.split(',');\r\n let itemSerialNumbersArray = itemSerialNumbers.map(function (item) {\r\n return item.trim();\r\n });\r\n inventoryAdviceLine.ItemSerialNumbers = itemSerialNumbersArray ? itemSerialNumbersArray : [];\r\n }\r\n else {\r\n inventoryAdviceLine.ItemSerialNumbers = [];\r\n }\r\n parameter.InventoryAdviceLines.push(inventoryAdviceLine);\r\n });\r\n }\r\n\r\n InvSnapshotFSLMocker.Parameters = parameter;\r\n\r\n this.inventoryService.inventorySnapshotFSLMockerRequest(InvSnapshotFSLMocker).subscribe(inventoryResponse => {\r\n if (inventoryResponse) {\r\n const logline = `Response Payload: ${inventoryResponse}`;\r\n this.addLogLine(`Response Payload: ${inventoryResponse}`);\r\n if (this.model.InvSnapshotFSLMocker.postToInvSnaphotFSL) {\r\n this.addLogLine(`Submitting to Inventory Snapshot Service`);\r\n this.invsnapshotFSLService.onPostToInvSnapshot(inventoryResponse).subscribe(afterPosToInvResponse => {\r\n this.addLogLine(`Response Payload: ${afterPosToInvResponse}`);\r\n },\r\n (error) => {\r\n this.addLogLine(`Some error occured: ${JSON.stringify(error)}`);\r\n }\r\n );\r\n }\r\n }\r\n },\r\n (error) => {\r\n this.addLogLine(`Some error occured: ${JSON.stringify(error)}`);\r\n }\r\n\r\n )\r\n }\r\n onPostAcknowledgementClick() {\r\n this.addLogLine(`Progress Started....`);\r\n const ackRequest = new AckknowledgementMockerRequest();\r\n const parameterAck = new ParameterAck();\r\n const transaction = new Transac();\r\n transaction.Reasons = [];\r\n transaction.Identifier = [];\r\n ackRequest.MessageType = \"acknowledgement\";\r\n\r\n parameterAck.Action = this.model.AcknowledgeSCG.Action;\r\n parameterAck.MessageBusinessChannel = this.model.AcknowledgeSCG.MessageBusinessChannel;\r\n parameterAck.MessageSubBusinessChannel = this.model.AcknowledgeSCG.MessageSubBusinessChannel;\r\n parameterAck.Sender = this.model.AcknowledgeSCG.Sender;\r\n\r\n transaction.Identifier = [...this.model.AcknowledgeSCG.Transaction.Identifier];\r\n transaction.Reasons = this.model.AcknowledgeSCG.Transaction.Status !== 'Accepted' ? [...this.model.AcknowledgeSCG.Transaction.Reasons] : [];\r\n transaction.Status = this.model.AcknowledgeSCG.Transaction.Status;\r\n transaction.Type = this.model.AcknowledgeSCG.Transaction.Type;\r\n parameterAck.Transaction = transaction;\r\n ackRequest.Parameters = parameterAck;\r\n this.ackMockerService.ackMockShipmentRequest(ackRequest).subscribe(ackMockerResponse => {\r\n if (ackMockerResponse) {\r\n\r\n const logline = `Response Payload: ${ackMockerResponse}`;\r\n this.addLogLine(`Response Payload: ${ackMockerResponse}`);\r\n if (this.model.AcknowledgeSCG.postToScg) {\r\n this.addLogLine(`Submitting to SCG`);\r\n this.scgService.onPostToSCG(ackMockerResponse, \"Acknowledgements\").subscribe(afterPosToSCGResponse => {\r\n this.addLogLine(`Response Payload: ${afterPosToSCGResponse}`);\r\n },\r\n (error) => {\r\n this.addLogLine(`Some error occured: ${JSON.stringify(error)}`);\r\n }\r\n );\r\n }\r\n }\r\n },\r\n (error) => {\r\n this.addLogLine(`Some error occured: ${JSON.stringify(error)}`);\r\n }\r\n )\r\n }\r\n\r\n onPostOutboundSCGClick() {\r\n const obdRequest = new OutboundDeliveryMockerRequest();\r\n this.addLogLine(`Progress Started....`);\r\n obdRequest.MessageType = \"deliveryorder\";\r\n const parameterObd = new ParameterOBD();\r\n parameterObd.MessageBusinessChannel = this.model.obdSCG.MessageBusinessChannel;\r\n parameterObd.MessageSubBusinessChannel = this.model.obdSCG.MessageSubBusinessChannel;\r\n parameterObd.MessagePartyId = this.model.obdSCG.MessagePartyId;\r\n parameterObd.MessageAction = this.model.obdSCG.MessageAction;\r\n parameterObd.LoadPlanId = this.model.obdSCG.LoadPlanId;\r\n parameterObd.OrderCID = this.model.obdSCG.OrderCID;\r\n\r\n obdRequest.Parameters = parameterObd;\r\n this.obdMockerService.obdMockShipmentRequest(obdRequest).subscribe(obdMockerResponse => {\r\n if (obdMockerResponse) {\r\n\r\n const logline = `Response Payload: ${obdMockerResponse}`;\r\n this.addLogLine(`Response Payload: ${obdMockerResponse}`);\r\n if (this.model.obdSCG.postToScg) {\r\n this.addLogLine(`Submitting to SCG`);\r\n this.scgService.onPostToSCG(obdMockerResponse, \"DeliveryOrders\").subscribe(afterPosToSCGResponse => {\r\n this.addLogLine(`Response Payload: ${afterPosToSCGResponse}`);\r\n },\r\n (error) => {\r\n this.addLogLine(`Some error occured: ${JSON.stringify(error)}`);\r\n }\r\n );\r\n }\r\n }\r\n },\r\n (error) => {\r\n this.addLogLine(`Some error occured: ${JSON.stringify(error)}`);\r\n }\r\n )\r\n }\r\n onPostASNSCGClick() {\r\n const asnRequest = new AsnMockerRequest();\r\n this.addLogLine(`Progress Started....`);\r\n asnRequest.MessageType = \"shipment\";\r\n const parameterASN = new ParameterASN();\r\n parameterASN.MessageBusinessChannel = this.model.AsnMockerScg.MessageBusinessChannel;\r\n parameterASN.MessageSubBusinessChannel = this.model.AsnMockerScg.MessageSubBusinessChannel;\r\n parameterASN.MessagePartyId = this.model.AsnMockerScg.MessagePartyId;\r\n parameterASN.MessageAction = this.model.AsnMockerScg.MessageAction;\r\n parameterASN.DeliveryCID = this.model.AsnMockerScg.DeliveryCID;\r\n\r\n asnRequest.Parameters = parameterASN;\r\n this.asnMockerService.asnMockShipmentRequest(asnRequest).subscribe(asnMockerResponse => {\r\n if (asnMockerResponse) {\r\n\r\n const logline = `Response Payload: ${asnMockerResponse}`;\r\n this.addLogLine(`Response Payload: ${asnMockerResponse}`);\r\n if (this.model.AsnMockerScg.postToScg) {\r\n this.addLogLine(`Submitting to SCG`);\r\n this.scgService.onPostToSCG(asnMockerResponse, \"Shipments\").subscribe(afterPosToSCGResponse => {\r\n this.addLogLine(`Response Payload: ${afterPosToSCGResponse}`);\r\n },\r\n (error) => {\r\n this.addLogLine(`Some error occured: ${JSON.stringify(error)}`);\r\n }\r\n );\r\n }\r\n }\r\n },\r\n (error) => {\r\n this.addLogLine(`Some error occured: ${JSON.stringify(error)}`);\r\n }\r\n )\r\n }\r\n onPostTradePorformaClick() {\r\n const tradePorformaRequest = new TradeProformaMockerRequest();\r\n this.addLogLine(`Progress Started....`);\r\n tradePorformaRequest.DeliveryOrderDetails = [];\r\n tradePorformaRequest.UseDummyDoIfNecessary = this.model.tradeProformaMocker.UseDummyDoIfNecessary;\r\n const parametertrade = new TradeProformaParams();\r\n parametertrade.BillingType = this.model.tradeProformaMocker.billingType;\r\n parametertrade.ConsolidationFlag = this.model.tradeProformaMocker.consolidationFlag ? \"Y\" : \"N\";\r\n parametertrade.CountryofOrigin = this.model.tradeProformaMocker.countryOfOrigin;\r\n parametertrade.RepeatFlag = this.model.tradeProformaMocker.repeatFlag ? \"Y\" : \"N\";\r\n tradePorformaRequest.DeliveryOrderDetails = this.model.tradeProformaMocker.deliveryOrderNumber;\r\n tradePorformaRequest.TradeProformaParams = parametertrade;\r\n this.tradePorformaService.tradePorformaRequest(tradePorformaRequest).subscribe(tradePorformaResponse => {\r\n if (tradePorformaResponse) {\r\n const tradevalue = tradePorformaResponse.value;\r\n tradevalue.forEach(element => {\r\n if (element.correlationId === '') {\r\n this.addLogLine(`Trade Proforma failed. Message: ${element.message}`);\r\n this.logger.trackTrace(`In Shipment Mocker, Shipment failed., Message: ${element.message} `);\r\n } else {\r\n this.addLogLine(`Trade Proforma Completed. ` +\r\n `, Shipment Correlation Id: ${element.correlationId}, Message: ${element.message}`);\r\n this.logger.trackTrace(`In Shipment Mocker, Shipment submitted. ` +\r\n `, Shipment Correlation Id: ${element.correlationId}, Message: ${element.message}`);\r\n }\r\n });\r\n }\r\n },\r\n (error) => {\r\n this.addLogLine(`Some error occured: ${JSON.stringify(error)}`);\r\n }\r\n )\r\n }\r\n\r\n onPostBrCreateSCGClick() {\r\n this.addLogLine(`Mocker Started, the details will be available below shortly`);\r\n\r\n const brCreateMockerRequest = new BrCreateMockerRequest();\r\n\r\n brCreateMockerRequest.Parameters = this.model.BrCreateMockerScg;\r\n if (this.model.BrCreateMockerScg.shipmentLines) {\r\n this.model.BrCreateMockerScg.shipmentLines.forEach(shipmentLine => {\r\n if (shipmentLine.ShipmentLinesPalletOrCarton === 'Pallets') {\r\n shipmentLine.ShipmentLinesCartonId = '';\r\n } else if (shipmentLine.ShipmentLinesPalletOrCarton === 'Cartons') {\r\n shipmentLine.ShipmentLinesPalletId = '';\r\n }\r\n });\r\n }\r\n\r\n this.brMockersService.brCreateMock(brCreateMockerRequest).subscribe(brCreateMockerResponse => {\r\n if (brCreateMockerResponse) {\r\n this.addLogLine(`Mocker Response Fetched`);\r\n if (this.model.BrCreateMockerScg.postToScg) {\r\n this.addLogLine(`Submitting to SCG`);\r\n this.scgService.onPostToSCG(brCreateMockerResponse, \"BookingRequests\").subscribe(afterPosToSCGResponse => {\r\n this.addLogLine(`SCG Response Payload: ${afterPosToSCGResponse}`);\r\n this.addLogLine(`Mocker Response Payload: ${brCreateMockerResponse}`);\r\n },\r\n (error) => {\r\n this.addLogLine(`Some error occured: ${JSON.stringify(error)}`);\r\n this.addLogLine(`Mocker Response Payload: ${brCreateMockerResponse}`)\r\n }\r\n );\r\n }\r\n else {\r\n this.addLogLine(`Mocker Response Payload: ${brCreateMockerResponse}`);\r\n }\r\n }\r\n },\r\n (error) => {\r\n this.addLogLine(`Some error occured: ${JSON.stringify(error)}`);\r\n }\r\n )\r\n }\r\n\r\n onPostBrCancelSCGClick() {\r\n this.addLogLine(`Mocker Started, the details will be available below shortly`);\r\n\r\n const brCancelMockerRequest = new BrCancelMockerRequest();\r\n\r\n brCancelMockerRequest.Parameters = this.model.BrCancelMockerScg;\r\n\r\n this.brMockersService.brCancelMock(brCancelMockerRequest).subscribe(brCancelMockerResponse => {\r\n if (brCancelMockerResponse) {\r\n this.addLogLine(`Mocker Response Fetched`);\r\n if (this.model.BrCancelMockerScg.postToScg) {\r\n this.addLogLine(`Submitting to SCG`);\r\n this.scgService.onPostToSCG(brCancelMockerResponse, \"BookingRequests\").subscribe(afterPosToSCGResponse => {\r\n this.addLogLine(`SCG Response Payload: ${afterPosToSCGResponse}`);\r\n this.addLogLine(`Mocker Response Payload: ${brCancelMockerResponse}`);\r\n },\r\n (error) => {\r\n this.addLogLine(`Some error occured: ${JSON.stringify(error)}`);\r\n this.addLogLine(`Mocker Response Payload: ${brCancelMockerResponse}`)\r\n }\r\n );\r\n }\r\n else {\r\n this.addLogLine(`Mocker Response Payload: ${brCancelMockerResponse}`);\r\n }\r\n }\r\n },\r\n (error) => {\r\n this.addLogLine(`Some error occured: ${JSON.stringify(error)}`);\r\n }\r\n )\r\n }\r\n\r\n onPostShipmentLabelClick() {\r\n this.addLogLine(`Mocker Started, the details will be available below shortly`);\r\n this.shipmentLabelMockerService.shipmentLabelCreateMock(this.model.ShipmentLabelMocker).subscribe(shipmentLabelMockerResponse => {\r\n if (shipmentLabelMockerResponse) {\r\n this.addLogLine(`Mocker Response Fetched`);\r\n this.addLogLine(`Mocker Response Payload: ${shipmentLabelMockerResponse}`);\r\n }\r\n });\r\n }\r\n\r\n submit() {\r\n this.clearLogs();\r\n let selectedMockerValue = localStorage.getItem('selectedMocker');\r\n if (selectedMockerValue == 'shipmentMocker') {\r\n this.onPostShipmentClick();\r\n }\r\n else if (selectedMockerValue == 'loadplanMocker') {\r\n this.onPostLoadPlanClick();\r\n }\r\n else if (selectedMockerValue == 'goodsReceiptMocker') {\r\n this.onPostGoodReceiptClick();\r\n }\r\n else if (selectedMockerValue == 'InventoryAdjSCG') {\r\n this.onPostInventoryAdjClick();\r\n }\r\n else if (selectedMockerValue == 'AcknowledgeSCG') {\r\n this.onPostAcknowledgementClick();\r\n }\r\n else if (selectedMockerValue == 'obdSCG') {\r\n this.onPostOutboundSCGClick();\r\n }\r\n else if (selectedMockerValue == 'AsnMockerScg') {\r\n this.onPostASNSCGClick();\r\n }\r\n else if (selectedMockerValue == 'tradeProformaMocker') {\r\n this.onPostTradePorformaClick();\r\n }\r\n else if (selectedMockerValue == 'InvSnapshotFSLMocker') {\r\n this.onPostInventorySnapshotFSLClick();\r\n }\r\n else if (selectedMockerValue == 'BrCreateMockerScg') {\r\n this.onPostBrCreateSCGClick();\r\n }\r\n else if (selectedMockerValue == 'BrCancelMockerScg') {\r\n this.onPostBrCancelSCGClick();\r\n }\r\n else if (selectedMockerValue == 'ShipmentLabelMocker') {\r\n this.onPostShipmentLabelClick();\r\n }\r\n }\r\n loadOptionsFiles(json: string): void {\r\n var loadFiles = {}; // map of filename => [optionsList], keep track of which all config files are to be under, under which name\r\n let parsedUserInput: any = JSON.parse(json);\r\n parsedUserInput.forEach(ffc => {\r\n if ((ffc as any).hasOwnProperty('fileName')) {\r\n let fn: string = ffc['fileName']; // file name to be loaded\r\n let opt: string = ffc['optionsList']; // option list name, this is the name where from options list within form state in read in formly field config\r\n\r\n loadFiles[fn] = loadFiles[fn] || [];\r\n loadFiles[fn].push(opt);\r\n }\r\n });\r\n\r\n var loadFilesPromises = [];\r\n for (let fn in loadFiles) {\r\n var promise = this.masterDataService.getSelectOptionsFromFiles(fn).toPromise().then((response: any) => {\r\n loadFiles[fn].forEach((optListName: string) => {\r\n this.loadedConfig[optListName] = response;\r\n });\r\n this.options.formState = this.loadedConfig;\r\n },\r\n (error) => {\r\n console.log(\"Can not fetch config file : \" + fn, error);\r\n });\r\n\r\n loadFilesPromises.push(promise);\r\n }\r\n\r\n Promise.all(loadFilesPromises).then(() => {\r\n this.createFields();\r\n });\r\n }\r\n}\r\n","\r\n
\r\n \r\n \r\n \r\n
\r\n\r\n\r\n
\r\n
\r\n Clear\r\n
\r\n
\r\n \r\n
\r\n
\r\n","export enum ShipmentMockRequestType {\r\n DC,\r\n CM,\r\n ARD\r\n}\r\n\r\n/**\r\n * Required for all different types of requests: Mode, Type\r\n * Used if the Type is DC: TenantId\r\n * Used if the Type is CM: CMShipmentCreatePayloadParams\r\n */\r\nexport class ShipmentMockRequest {\r\n public mode: string;\r\n public shipmentType: string;\r\n public Entities: Entity[];\r\n public tenantId: string;\r\n public shipmentParams: ShipmentParams;\r\n}\r\n\r\nexport class Entity {\r\n public EntityNumber: string;\r\n public EntityType: string;\r\n public LoadId: string;\r\n public LineItems: LineItem[];\r\n}\r\n\r\nexport class LineItem {\r\n public SKU: string;\r\n public HardwarePartNumber: string;\r\n public Quantity: string;\r\n public IsSerialized: string;\r\n public COO: COO[]\r\n}\r\n\r\nexport class COO {\r\n public Name: string;\r\n public Quantity: string\r\n}\r\n\r\nexport class ShipmentParams {\r\n public FlavorType: string;\r\n public ProcessType: string;\r\n public SubProcessType: string;\r\n public IsConsolidated: boolean;\r\n public IsSerializedScenario: boolean;\r\n public Sender: string;\r\n public SenderId: string;\r\n public Receiver: string;\r\n public ReceiverId: string;\r\n public LoadForm: string;\r\n public ScacCode: string;\r\n public PackageScenario: string;\r\n public ItemsPerCarton: number;\r\n public ReceiverPartnerId: string;\r\n public PartnerId: string;\r\n public SerialNumber:string;\r\n public skipPostShipment:boolean;\r\n}\r\n\r\nexport class OutboundDC {\r\n public PartnerId: string;\r\n public TenantId: string;\r\n public SupportedModes: string[];\r\n public Platform: string[];\r\n}\r\n\r\n//#region Mixed COO support for Shipment\r\nexport class CooStateItem {\r\n orderNumber: string;\r\n firstCoo: string;\r\n firstQuantity: string;\r\n secondCoo: string;\r\n secondQuantity: string;\r\n sku: string;\r\n firstSplitPercent: number;\r\n secondSplitPercent: number;\r\n}\r\n\r\nexport class ItemDetails {\r\n lineItem: string;\r\n orderNumber: string;\r\n lineNum: string;\r\n material: string;\r\n qty: string;\r\n plant: string;\r\n unitsPerMP: string;\r\n totalMP: string;\r\n isMasterPackLoaded: boolean;\r\n}\r\n\r\nexport class OrderLine {\r\n public orderNumber: string;\r\n public sku: string;\r\n public plant: string;\r\n public quantity: string;\r\n public masterPackQuantity: string;\r\n}\r\n\r\n\r\n//#endregion\r\n","import { Component, OnInit, Input, Output, EventEmitter, OnDestroy, ViewChild, ChangeDetectionStrategy } from '@angular/core';\r\nimport { FormGroup } from '@angular/forms';\r\nimport { Subject } from 'rxjs';\r\nimport { takeUntil, startWith, tap, filter, map } from 'rxjs/operators';\r\nimport { FormlyFieldConfig, FormlyFormOptions, Field } from '@ngx-formly/core';\r\nimport { ScenariosInputsModel } from '../../../model/execute-testruns.model';\r\nimport { MasterDataService } from '../../../service/masterdata.service';\r\n\r\n\r\n@Component({\r\n selector: 'app-testruns-panel',\r\n templateUrl: './testruns-input-panel.component.html'\r\n})\r\n\r\nexport class TestRunsInputsPanelComponent implements OnInit, OnDestroy {\r\n onDestroy$ = new Subject();\r\n form = new FormGroup({});\r\n options: FormlyFormOptions = {};\r\n @Input() isEditMode = false;\r\n @Input() fields: FormlyFieldConfig[] = [];\r\n @Input() model: ScenariosInputsModel;\r\n @Input() formState: any = {};\r\n\r\n @Output() add = new EventEmitter();\r\n @Output() update = new EventEmitter();\r\n @Output() cancel = new EventEmitter();\r\n isLoading = false;\r\n\r\n constructor(private masterDataService: MasterDataService) {\r\n }\r\n\r\n ngOnInit() {\r\n if (this.fields.filter(x => x.type == 'repeat').length > 0) {\r\n const fieldKey = this.fields.filter(x => x.type == 'repeat')[0].parent;\r\n this.fields.filter(x => x.key == fieldKey)[0].hooks = {\r\n onInit: (field) => {\r\n field.formControl.valueChanges.pipe(\r\n takeUntil(this.onDestroy$),\r\n startWith(field.formControl.value),\r\n filter(v => v > 0),\r\n tap(value => {\r\n this.model[this.fields.filter(x => x.type == 'repeat')[0].key.toString()].length = value;\r\n this.model = {\r\n ...this.model\r\n };\r\n this.model[this.fields.filter(x => x.key == fieldKey)[0].key.toString()] = value;\r\n this.options.formState.mainModel = this.model;\r\n }),\r\n ).subscribe();\r\n }\r\n };\r\n }\r\n if (this.fields.filter(x => x['isUpperCase'] == true).length > 0) {\r\n this.fields.filter(x => x['isUpperCase'] == true).forEach((element: FormlyFieldConfig) => {\r\n element.hooks = {\r\n onInit: (field) => {\r\n field.formControl.valueChanges.pipe(\r\n takeUntil(this.onDestroy$),\r\n startWith(field.formControl.value),\r\n tap(value => {\r\n this.model[this.fields.filter(x => x.key == element.key)[0].key.toString()] = value.toUpperCase();\r\n this.model = {\r\n ...this.model\r\n };\r\n })\r\n ).subscribe();\r\n }\r\n }\r\n });\r\n }\r\n this.options.formState = { ...this.formState };\r\n this.options.formState.mainModel = this.model;\r\n this.fields = this.fields.map(f => {\r\n if (f.templateOptions && f.templateOptions.changeExpr) {\r\n f.templateOptions.change = Function('field', f.templateOptions.changeExpr).bind(this);\r\n }\r\n return f;\r\n });\r\n }\r\n\r\n ngOnDestroy(): void {\r\n this.onDestroy$.next();\r\n this.onDestroy$.complete();\r\n }\r\n\r\n resetInputControls() {\r\n this.model = new ScenariosInputsModel();\r\n this.fields = [];\r\n }\r\n\r\n addScenarios(model: any) {\r\n if (this.isEditMode) {\r\n this.update.emit(model);\r\n } else {\r\n this.add.emit(model);\r\n }\r\n }\r\n\r\n cancelScenarioUpdate() {\r\n this.cancel.emit();\r\n }\r\n\r\n //Identify for which scenario ReadMe is enabled.\r\n //TODO: Abel Mengistu (1/19/2022), The logic for maintaining for which scenarios readme is enabled along with readmeLink will be driven by configurations after reviewing. \r\n isReadMeEnabled(scenarioName: any) {\r\n if (scenarioName != null && scenarioName.includes(\"Assemble to Order\")) {\r\n return true;\r\n } else {\r\n return false;\r\n }\r\n }\r\n}\r\n","
\r\n
\r\n
\r\n \r\n
\r\n \r\n \r\n Read Me Doc\r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
{{model|json}}
\r\n
\r\n
\r\n
\r\n
\r\n
{{options.formState.mainModel|json}}
\r\n
\r\n
\r\n","\r\n/// TODO: move the below section to a separate file\r\n\r\n\r\n// panel-wrapper.component.ts\r\nimport { ViewChild, ViewContainerRef, Component} from '@angular/core';\r\nimport { FieldWrapper } from '@ngx-formly/core';\r\n\r\nimport {\r\n ChangeDetectionStrategy,\r\n //ViewChild,\r\n OnInit,\r\n OnDestroy,\r\n Renderer2,\r\n AfterViewInit,\r\n AfterContentChecked,\r\n TemplateRef,\r\n ElementRef,\r\n //ViewContainerRef,\r\n} from '@angular/core';\r\nimport {\r\n ɵdefineHiddenProp as defineHiddenProp,\r\n //ɵobserve as observe,\r\n FormlyFieldConfig,\r\n //FieldWrapper,\r\n} from '@ngx-formly/core';\r\nimport { MatFormField } from '@angular/material/form-field';\r\nimport { FocusMonitor } from '@angular/cdk/a11y';\r\n\r\ninterface MatFormlyFieldConfig extends FormlyFieldConfig {\r\n _matprefix: TemplateRef;\r\n _matsuffix: TemplateRef;\r\n __formField__: InputWithToolTipComponent;\r\n}\r\n\r\n@Component({\r\n selector: 'formly-wrapper-mat-form-field',\r\n template: `\r\n \r\n \r\n \r\n {{ to.label }}\r\n *\r\n \r\n \r\n\r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n {{ to.description }}\r\n \r\n `,\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n})\r\nexport class InputWithToolTipComponent extends FieldWrapper\r\n implements OnInit, OnDestroy, AfterViewInit, AfterContentChecked {\r\n\r\n @ViewChild('fieldComponent', { read: ViewContainerRef, static: true }) fieldComponent!: ViewContainerRef;\r\n @ViewChild(MatFormField, { static: true }) formField!: MatFormField;\r\n field!: MatFormlyFieldConfig;\r\n\r\n private initialGapCalculated = false;\r\n\r\n constructor(private renderer: Renderer2, private elementRef: ElementRef, private focusMonitor: FocusMonitor) {\r\n super();\r\n }\r\n\r\n ngOnInit() {\r\n defineHiddenProp(this.field, '__formField__', this.formField);\r\n\r\n // fix for https://github.com/angular/material2/issues/11437\r\n if (this.field.hide && this.field.templateOptions!.appearance === 'outline') {\r\n this.initialGapCalculated = true;\r\n }\r\n\r\n this.focusMonitor.monitor(this.elementRef, true).subscribe((origin) => {\r\n if (!origin && this.field.focus) {\r\n this.field.focus = false;\r\n }\r\n });\r\n }\r\n\r\n ngAfterContentChecked() {\r\n if (!this.initialGapCalculated || this.field.hide) {\r\n return;\r\n }\r\n\r\n this.formField.updateOutlineGap();\r\n this.initialGapCalculated = true;\r\n }\r\n\r\n ngAfterViewInit() {\r\n // temporary fix for https://github.com/angular/material2/issues/7891\r\n if (this.formField.appearance !== 'outline' && this.to.hideFieldUnderline === true) {\r\n const underlineElement = this.formField._elementRef.nativeElement.querySelector('.mat-form-field-underline');\r\n underlineElement && this.renderer.removeChild(underlineElement.parentNode, underlineElement);\r\n }\r\n }\r\n\r\n ngOnDestroy() {\r\n delete this.field.__formField__;\r\n this.focusMonitor.stopMonitoring(this.elementRef);\r\n }\r\n}\r\n","import { Component, ElementRef, OnInit, ViewChild } from '@angular/core';\r\nimport { HttpClient } from '@angular/common/http';\r\nimport { ActivatedRoute, Router, ParamMap } from '@angular/router';\r\nimport { EntityTrackingService } from '../service/entitytracking.service';\r\nimport { EntityTrackingMap, TrackingEntitiesResponse, Event } from '../model/entitytracking.model';\r\nimport * as XLSX from 'xlsx';\r\nimport { MatDialog, MatDialogConfig, MatDialogRef } from '@angular/material/dialog';\r\nimport { MsalService } from '@azure/msal-angular';\r\nimport { ConfigService } from '../service/config.service';\r\nimport * as log from '../AppInsightsLogger';\r\nimport { ApplicationInsights } from '@microsoft/applicationinsights-web';\r\nimport { MasterDataService } from '../service/masterdata.service';\r\nimport { DescriptionService } from '../service/description.service';\r\n\r\n\r\n@Component({\r\n selector: 'app-entitytracking',\r\n templateUrl: './entitytracking.component.html',\r\n styleUrls: ['./entitytracking.component.css']\r\n})\r\nexport class EntityTrackingComponent implements OnInit {\r\n\r\n @ViewChild('entityTrackingFormSubmitButton') formSubmitButton: ElementRef;\r\n\r\n scenario: string;\r\n entityType: string;\r\n entityNumbers: string;\r\n name: string;\r\n\r\n showLoader: boolean;\r\n partialLoadingMessage: string;\r\n inputMapping: EntityTrackingMap[];\r\n\r\n renderTrackingTable: boolean = false;\r\n rawResponseEventsPayload: TrackingEntitiesResponse = {};\r\n\r\n allTrackingRawEvents: any = null;\r\n\r\n trackingTable: any = null;\r\n\r\n errorMessage: string = '';\r\n\r\n private logger:any;\r\n pageDetails: any[];\r\n pageDescription: string;\r\n\r\n constructor(private entityTrackingService: EntityTrackingService,\r\n private descriptionService: DescriptionService, \r\n private masterDataService: MasterDataService,\r\n private http: HttpClient,\r\n private router: Router,\r\n private activatedRoute: ActivatedRoute,\r\n private msalService: MsalService,\r\n public dialog: MatDialog,\r\n private configService: ConfigService) {\r\n this.name = msalService.instance.getActiveAccount().name;\r\n this.logger = new log.AppInsightsLogger(configService, msalService);\r\n }\r\n\r\n ngOnInit() {\r\n window.sessionStorage.setItem(\"orgSelected\", \"1\");\r\n this.showLoader = false;\r\n this.logger.trackTrace(\"Successfully landed to Order Tracking Page\");\r\n\r\n this.descriptionService.pageDetailsTools().subscribe((response: any[]) => {\r\n this.pageDetails = response;\r\n this.pageDetails.forEach(element => {\r\n if (element.toolName == \"Order Tracking\") {\r\n this.pageDescription = element.toolDescription\r\n }\r\n });\r\n });\r\n }\r\n\r\n ngAfterViewInit() {\r\n this.getInputMappings();\r\n }\r\n\r\n onSubmitClick() {\r\n\r\n this.errorMessage = '';\r\n\r\n let entityType = this.entityType;\r\n let scenario = this.scenario;\r\n let entityIds = this.getEntityNumberArray();\r\n let trackingType = this.getTrackingType(scenario, entityType);\r\n\r\n if ((trackingType || \"\").trim().length <= 0) {\r\n this.errorMessage = \"Tracking Type not mapped. Plese select appropriate Scenario and Order Type.\";\r\n this.logger.trackTrace(`Order ${this.errorMessage}`);\r\n return;\r\n }\r\n\r\n this.router.navigate(['/entitytracking', {\r\n 'scenario': this.scenario,\r\n 'type': this.entityType,\r\n 'ids': this.entityNumbers\r\n }]);\r\n\r\n this.loadEventsCore(trackingType, this.entityNumbers);\r\n }\r\n\r\n processActiveRoute() {\r\n\r\n let entityType = this.activatedRoute.snapshot.params['type'] || \"\";\r\n let scenario = this.activatedRoute.snapshot.params['scenario'] || \"\";\r\n let entityIds = this.activatedRoute.snapshot.params['ids'] || \"\";\r\n let trackingType = this.getTrackingType(scenario, entityType);\r\n\r\n this.scenario = scenario;\r\n this.entityType = entityType;\r\n this.entityNumbers = entityIds;\r\n\r\n if (trackingType.length <= 0) {\r\n return;\r\n }\r\n\r\n this.loadEventsCore(trackingType, entityIds);\r\n }\r\n\r\n loadEventsCore(trackingType: string, entityIds: string) {\r\n\r\n if (this.showLoader) {\r\n return; // means things are already being loaded, so don't do anything more.\r\n }\r\n\r\n if (!this.allTrackingRawEvents) {\r\n this.showLoader = true;\r\n\r\n /// !!!WARNING!!!\r\n /// TODO: We have to load all events (in raw format) for now only. In future, the underlying /TrackEntities API will be fixed\r\n /// to always return all events in correct order. Then we won't need to load this config file.\r\n\r\n this.http.get('./assets/configuration/OrderStatusTrackingConfig.json', { responseType: 'text' })\r\n .subscribe((response: string) => {\r\n this.allTrackingRawEvents = JSON.parse(response);\r\n this.getEventsForEntities(trackingType, entityIds);\r\n this.logger.trackTrace(`In Order Tracking, all Tracking Raw Events`);\r\n },\r\n (error: any) => {\r\n this.errorMessage = 'Tracking Config could not be loaded';\r\n this.logger.trackTrace(`Order Tracking ${this.errorMessage}`);\r\n this.showLoader = false;\r\n });\r\n } else {\r\n this.getEventsForEntities(trackingType, entityIds);\r\n }\r\n }\r\n\r\n getInputMappings() {\r\n this.http.get('./assets/configuration/EntityTrackingMapping.json', { responseType: 'text' })\r\n .subscribe(\r\n (response: string) => {\r\n this.inputMapping = JSON.parse(response);\r\n this.logger.trackTrace(`Order Tracking input Mapping`);\r\n this.setUpInputsFromRoute();\r\n\r\n this.http.get('./assets/configuration/OrderStatusTrackingConfig.json', { responseType: 'text' })\r\n .subscribe((response: string) => {\r\n this.allTrackingRawEvents = JSON.parse(response);\r\n this.logger.trackTrace(`In Order Tracking, all Tracking Raw Events`);\r\n\r\n this.activatedRoute.paramMap.subscribe((params: ParamMap) => {\r\n this.processActiveRoute();\r\n });\r\n },\r\n (error: any) => {\r\n this.errorMessage = 'Tracking Config could not be loaded';\r\n this.logger.trackTrace(`Order Tracking ${this.errorMessage}`);\r\n this.showLoader = false;\r\n });\r\n },\r\n (error: any) => {\r\n this.errorMessage = 'Tracking Map config could not be loaded.';\r\n this.logger.trackTrace(`Order Tracking ${this.errorMessage}`);\r\n });\r\n\r\n\r\n }\r\n\r\n setUpInputsFromRoute() {\r\n\r\n let _entityType = this.activatedRoute.snapshot.params['type'] || \"\";\r\n let _scenario = this.activatedRoute.snapshot.params['scenario'] || \"\";\r\n let _entityNums = this.activatedRoute.snapshot.params['ids'] || \"\";\r\n let simulateSubmit = true; // if true at the end, then the submit button will be programatically clicked\r\n\r\n if (_entityType.length > 0) {\r\n this.entityType = _entityType;\r\n } else {\r\n simulateSubmit = false;\r\n }\r\n\r\n if (_scenario.length > 0) {\r\n this.scenario = _scenario;\r\n } else {\r\n simulateSubmit = false;\r\n }\r\n\r\n if (_entityNums.length > 0) {\r\n this.entityNumbers = _entityNums;\r\n } else {\r\n simulateSubmit = false;\r\n }\r\n\r\n if (simulateSubmit) {\r\n // simulate click on submit button, leading to validation and submission of form\r\n let event = new MouseEvent('click', { bubbles: true });\r\n event.stopPropagation();\r\n setTimeout(() => {\r\n this.formSubmitButton.nativeElement.dispatchEvent(event);\r\n }, 1000);\r\n }\r\n }\r\n\r\n /**\r\n * Gets events by chunks, kindly make sure total number chunks are compatible with backend\r\n * @param trackingType - Tracking Type\r\n * @param cleanedEntities - order ids array\r\n * @param chunkIdx - Index of the chunk to be fetched (0 based)\r\n * @param maxChunkIdx - max index of the chunk that can be fetched (0 based)\r\n */\r\n getEventsByChunks(trackingType: string, cleanedEntities: string[], chunkIdx: number, maxChunkIdx: number){\r\n\r\n if(chunkIdx > maxChunkIdx) {\r\n this.trackingTable = this.computeDisplayTableFromResponse(trackingType, this.rawResponseEventsPayload);\r\n this.showLoader = false;\r\n this.renderTrackingTable = true;\r\n return;\r\n }\r\n\r\n this.partialLoadingMessage = \"Loading \" + (chunkIdx+1) + \" / \" + (maxChunkIdx +1); \r\n this.entityTrackingService.getEntityTrackingInChunks(trackingType, cleanedEntities, chunkIdx)\r\n .subscribe(\r\n (response: TrackingEntitiesResponse) => {\r\n let rawResponse: TrackingEntitiesResponse = this.rawResponseEventsPayload;\r\n\r\n for (let i = 0; i < cleanedEntities.length; ++i) {\r\n let entity = cleanedEntities[i];\r\n rawResponse[entity].events = (rawResponse[entity].events || []).concat(response[entity].events || []);\r\n rawResponse[entity].payload = rawResponse[entity].payload + (response[entity].payload || \"\");\r\n }\r\n\r\n this.rawResponseEventsPayload = rawResponse;\r\n\r\n this.getEventsByChunks(trackingType, cleanedEntities, chunkIdx + 1, maxChunkIdx);\r\n },\r\n (error: any) => {\r\n let errorMessage = `Order Tracking could not load Chunk ${chunkIdx}`\r\n + `, Entities ${cleanedEntities.join(\",\")}, Tracking Type ${trackingType}`\r\n + `, Raw Error message ${this.errorMessage}`;\r\n this.logger.trackTrace(errorMessage);\r\n\r\n for (let i = 0; i < cleanedEntities.length; ++i) {\r\n let entity = cleanedEntities[i];\r\n let genericErrorEvent: Event = {\r\n eventId: 1000,\r\n eventName: \"Errors\",\r\n eventGroup: \"Errors\",\r\n eventStatus: \"Failure\",\r\n eventMessage: \"Some events could not be loaded.\",\r\n correlationId: \"\",\r\n eventDate: \"\",\r\n eventTime: \"\",\r\n trackingId: \"\",\r\n trackingName: \"\"\r\n }\r\n this.rawResponseEventsPayload[entity].events = (this.rawResponseEventsPayload[entity].events || []).concat([genericErrorEvent] || []);\r\n }\r\n\r\n this.getEventsByChunks(trackingType, cleanedEntities, chunkIdx + 1, maxChunkIdx);\r\n }\r\n );\r\n }\r\n\r\n /**\r\n * Gets events by one order at a time\r\n * @param trackingType - Tracking type\r\n * @param cleanedEntities - order ids array\r\n * @param entityIdx - index of the entity in the array to be loaded\r\n */\r\n getEventsByOrder(trackingType: string, cleanedEntities: string[], entityIdx: number) {\r\n let entitiesLength = cleanedEntities.length;\r\n\r\n if (entityIdx >= entitiesLength) {\r\n this.trackingTable = this.computeDisplayTableFromResponse(trackingType, this.rawResponseEventsPayload);\r\n this.showLoader = false;\r\n this.renderTrackingTable = true;\r\n return;\r\n }\r\n\r\n this.partialLoadingMessage = \"Loading \" + (entityIdx + 1) + \" / \" + (entitiesLength);\r\n\r\n this.entityTrackingService.getEntityTracking(trackingType, [cleanedEntities[entityIdx]])\r\n .subscribe(\r\n (response: TrackingEntitiesResponse) => {\r\n let rawResponse: TrackingEntitiesResponse = this.rawResponseEventsPayload;\r\n\r\n for (let i = 0; i < cleanedEntities.length; ++i) {\r\n let entity = cleanedEntities[i];\r\n let entityResponse = response[entity] || { events: [], payload: \"\" };\r\n let events = entityResponse.events || []; \r\n let payload = entityResponse.payload || \"\";\r\n rawResponse[entity].events = (rawResponse[entity].events || []).concat(events);\r\n rawResponse[entity].payload = rawResponse[entity].payload + payload;\r\n }\r\n\r\n this.rawResponseEventsPayload = rawResponse;\r\n\r\n this.getEventsByOrder(trackingType, cleanedEntities, entityIdx + 1);\r\n },\r\n (error: any) => {\r\n let errorMessage = `Order Tracking could not load Chunk ${(entityIdx + 1)}`\r\n + `, Entities ${cleanedEntities[entityIdx]}, Tracking Type ${trackingType}`\r\n + `, Raw Error message ${this.errorMessage}`;\r\n this.logger.trackTrace(errorMessage);\r\n\r\n let entity = cleanedEntities[entityIdx];\r\n let genericErrorEvent: Event = {\r\n eventId: 1000,\r\n eventName: \"Errors\",\r\n eventGroup: \"Errors\",\r\n eventStatus: \"Failure\",\r\n eventMessage: \"Some events could not be loaded.\",\r\n correlationId: \"\",\r\n eventDate: \"\",\r\n eventTime: \"\",\r\n trackingId: \"\",\r\n trackingName: \"\"\r\n }\r\n this.rawResponseEventsPayload[entity].events = (this.rawResponseEventsPayload[entity].events || []).concat([genericErrorEvent] || []);\r\n\r\n this.getEventsByOrder(trackingType, cleanedEntities, entityIdx + 1);\r\n }\r\n );\r\n }\r\n\r\n getEventsForEntities(trackingType: string, entityNumbers: string) {\r\n this.showLoader = true;\r\n this.partialLoadingMessage = \"\";\r\n this.renderTrackingTable = false;\r\n\r\n if ((this.entityNumbers || \"\").trim().length == 0) {\r\n // if no entities present, then show raw table with events, without any data\r\n this.trackingTable = this.computeDisplayTableFromResponse(trackingType, {});\r\n this.rawResponseEventsPayload = {};\r\n this.showLoader = false;\r\n this.renderTrackingTable = true;\r\n\r\n return;\r\n }\r\n\r\n let entities = this.entityNumbers.split(',');\r\n let cleanedEntities = [];\r\n\r\n for (let i = 0; i < entities.length; ++i) {\r\n let element = (entities[i] || \"\").trim();\r\n if (element.length > 0) {\r\n cleanedEntities.push(element);\r\n }\r\n }\r\n\r\n if ([\"3PPPURCHASEORDER\", \"3PP_DROPSHIP\"].indexOf(trackingType) > -1 ) {\r\n // For 3PP - chunk refers to a select set of events.\r\n // Here, all orders are passed to the API at once. Chunk Index controls which few events we want to load.\r\n // This allows us to not overload the API with long running queries.\r\n\r\n this.rawResponseEventsPayload = {};\r\n\r\n for(let i=0; i < cleanedEntities.length; ++i){\r\n this.rawResponseEventsPayload[cleanedEntities[i]] = { events: [], payload: \"\" };\r\n }\r\n\r\n // All orders are loaded at once, chunk index controls set of events to be fetched\r\n this.getEventsByChunks(trackingType, cleanedEntities, 0, 8); // for 3pp 9 chunks are supported\r\n } \r\n else \r\n {\r\n // Load all events at once, but do one order at a time. Here, chunk refers to a single order itself.\r\n // Here, we load all events but for one order at a time. This ensures that in UI, user is free to specify multiple orders.\r\n // However, when calling API, one order at a time ensures that we don't load a API too much.\r\n\r\n this.rawResponseEventsPayload = {};\r\n\r\n for (let i = 0; i < cleanedEntities.length; ++i) {\r\n this.rawResponseEventsPayload[cleanedEntities[i]] = { events: [], payload: \"\" };\r\n }\r\n\r\n this.getEventsByOrder(trackingType, cleanedEntities, 0);\r\n }\r\n }\r\n\r\n downloadResponseTable() {\r\n\r\n let tableJson = [];\r\n\r\n for (let i = 0; i < this.trackingTable.data.length; ++i) {\r\n let row = {};\r\n for (let j = 0; j < this.trackingTable.headers.length; ++j) {\r\n let responseTableCell = this.trackingTable.data[i][j];\r\n let cellText = responseTableCell.displayText || \"\";\r\n if (cellText.length == 0) {\r\n cellText = (responseTableCell.displayTimestamp || \"\") + \",\" + (responseTableCell.displayEntity || \"\");\r\n if (cellText == \",\") {\r\n cellText = \"\";\r\n }\r\n }\r\n\r\n // if no text found so far, then check if the cell is of type array, then process as such\r\n if ((cellText || \"\").trim().length == 0 && Array.isArray(responseTableCell) && responseTableCell.length > 0) {\r\n for (let k = 0; k < responseTableCell.length; ++k) {\r\n let singleCellText = \"\";\r\n let singleCellData = responseTableCell[k];\r\n\r\n singleCellText = singleCellData.displayText || \"\";\r\n if (singleCellText.length == 0) {\r\n singleCellText = (singleCellData.displayTimestamp || \"\") + \",\" + (singleCellData.displayEntity || \"\");\r\n if (singleCellText == \",\") {\r\n singleCellText = \"\";\r\n }\r\n }\r\n\r\n if ((singleCellText || \"\").trim().length > 0) {\r\n\r\n if (cellText.length > 0) {\r\n cellText = cellText + \"\\r\\n\"; // for cells containing multiple events, add line break\r\n }\r\n\r\n cellText = cellText + singleCellText;\r\n }\r\n }\r\n }\r\n\r\n row[this.trackingTable.headers[j]] = cellText;\r\n }\r\n tableJson.push(row);\r\n }\r\n\r\n let ws: XLSX.WorkSheet = XLSX.utils.json_to_sheet(tableJson);\r\n let wb: XLSX.WorkBook = XLSX.utils.book_new();\r\n XLSX.utils.book_append_sheet(wb, ws, 'Order Tracking Table');\r\n XLSX.writeFile(wb, \"OrderTracking.xlsx\");\r\n }\r\n\r\n computeDisplayTableFromResponse(trackingType: string, response: TrackingEntitiesResponse) {\r\n let colNames = []; // array col name \r\n let colNamesDict = {}; // map col names => col index\r\n let colIndexes = {}; // map event Id => col index\r\n\r\n let rawEvents = this.allTrackingRawEvents[trackingType.toLocaleUpperCase()].EventMapping;\r\n\r\n for (var i = 0; i < rawEvents.length; ++i) {\r\n let evtName = rawEvents[i].EventGroup || rawEvents[i].EventName;\r\n let evtId = rawEvents[i].EventId;\r\n let targetIdx = -1;\r\n\r\n if (evtName in colNamesDict) {\r\n targetIdx = colNamesDict[evtName];\r\n }\r\n else {\r\n targetIdx = colNames.length;\r\n colNamesDict[evtName] = targetIdx;\r\n colNames.push(evtName);\r\n }\r\n\r\n colIndexes[evtId] = targetIdx;\r\n }\r\n\r\n\r\n let tableResponse: any = {\r\n headers: [],\r\n data: []\r\n }\r\n\r\n let headersToDisplay: string[] = [\"Lookup Order Id\"];\r\n colNames.map((colName) => {\r\n if (colName !== \"Errors\") {\r\n headersToDisplay.push(colName);\r\n }\r\n });\r\n tableResponse.headers = headersToDisplay;\r\n\r\n for (var entityId in response) {\r\n let data = [];\r\n data.push([{ displayText: entityId, containsData: true }]);\r\n colNames.map(_ => data.push([]));\r\n\r\n let viewHash = {};\r\n // double index which keeps track of which events are shown\r\n // format : viewHash[][] = true\r\n\r\n for (var i = 0; i < response[entityId].events.length; ++i) {\r\n let event = response[entityId].events[i];\r\n if (event.eventName !== \"Errors\") {\r\n\r\n if (colIndexes[event.eventId] == null) continue;\r\n\r\n let idx = 1 + colIndexes[event.eventId];\r\n let entityIdText = this.getEntityIdForView(trackingType, event);\r\n\r\n if ((event.eventId in viewHash) && viewHash[event.eventId][entityIdText]) {\r\n // found the same with older display text, don't show this\r\n continue;\r\n } else {\r\n if (!(event.eventId in viewHash)) {\r\n viewHash[event.eventId] = {};\r\n }\r\n viewHash[event.eventId][entityIdText] = true;\r\n }\r\n\r\n let timeStamp = \"\";\r\n\r\n if (event != null &&\r\n ((event.eventDate || \"\").trim().length > 0 || (event.eventTime || \"\").trim().length > 0)) {\r\n timeStamp = this.getEventTime(event.eventDate, event.eventTime);\r\n }\r\n\r\n let addEvent = {\r\n displayTimestamp: \"Event Time: \" + timeStamp,\r\n isSuccess: (event.eventStatus || \"\").toLocaleUpperCase() == 'SUCCESS',\r\n displayEntity: entityIdText,\r\n containsData: true,\r\n ...event\r\n };\r\n\r\n data[idx].push(addEvent);\r\n\r\n } else {\r\n data[0] = [{\r\n displayText: entityId,\r\n containsData: true,\r\n hasError: true,\r\n ...event\r\n }];\r\n }\r\n }\r\n\r\n tableResponse.data.push(data);\r\n }\r\n\r\n return tableResponse;\r\n }\r\n\r\n getEntityIdForView(trackingType: string, event: Event) {\r\n\r\n let isCreatedEvent = event.eventName.match(/created/i);\r\n\r\n if (isCreatedEvent) {\r\n\r\n if (event.trackingName.length > 0 && event.trackingId.length > 0) {\r\n return event.trackingName + \" : \" + event.trackingId;\r\n }\r\n\r\n if (event.correlationId.length > 0) {\r\n return \"Correlation ID: \" + event.correlationId;\r\n }\r\n\r\n return \"\";\r\n }\r\n else {\r\n\r\n // for non created events, handle exceptions to display\r\n if (event.trackingName.length > 0 && event.trackingId.length > 0) {\r\n if ((trackingType == 'RETURNSERVICEORDER' && [2, 5, 6, 12].indexOf(event.eventId) > -1) ||\r\n (['DCOUTBOUND_SALESORDER', 'OUTBOUNDCUSTPURCHASEORDER', 'DCOUTBOUND_DELIVERYORDER'].indexOf(trackingType) > -1\r\n && [0].indexOf(event.eventId) > -1)) {\r\n return event.trackingName + \" : \" + event.trackingId;\r\n }\r\n\r\n if ((['ATO_DIRECTSHIP_CUSTPURCHASEORDER', 'ATO_DIRECTSHIP_SALESORDER',\r\n 'ATO_DIRECTSHIP_CMPURCHASEORDER', 'MAKEPURCHASEORDER'].indexOf(trackingType) > -1\r\n && [6].indexOf(event.eventId) > -1)\r\n ) {\r\n return \"Correlation ID: \" + event.correlationId + \" (Load ID: \" + event.trackingId + \")\";\r\n }\r\n\r\n if ((['ATO_DIRECTSHIP_CUSTPURCHASEORDER', 'ATO_DIRECTSHIP_SALESORDER',\r\n 'ATO_DIRECTSHIP_CMPURCHASEORDER', 'MAKEPURCHASEORDER'].indexOf(trackingType) > -1\r\n && [3].indexOf(event.eventId) > -1 && (event.eventMessage || \"\").length > 0)\r\n ) {\r\n return \"Correlation ID: \" + event.correlationId + \" (\" + event.eventMessage + \")\";\r\n }\r\n\r\n if ((['ATO_DIRECTSHIP_CUSTPURCHASEORDER', 'ATO_DIRECTSHIP_SALESORDER',\r\n 'ATO_DIRECTSHIP_CMPURCHASEORDER', 'MAKEPURCHASEORDER'].indexOf(trackingType) > -1\r\n && [16, 18].indexOf(event.eventId) > -1)\r\n ) {\r\n return \"Ack IDOC: \" + event.trackingId + ((event.eventMessage || \"\").length > 0 ? \" (\" + event.eventMessage + \")\" : \"\");\r\n }\r\n }\r\n\r\n if (event.correlationId.length > 0) {\r\n return \"Correlation ID: \" + event.correlationId;\r\n }\r\n }\r\n return \"\";\r\n }\r\n\r\n getEntityNumberArray() {\r\n var entityNumberArrayUntrimmed: string[];\r\n var entityNumberArrayTrimmed: string[];\r\n entityNumberArrayUntrimmed = this.entityNumbers.replace(/\\r/g, '').split(',');\r\n entityNumberArrayTrimmed = [];\r\n entityNumberArrayUntrimmed.forEach(element => {\r\n if ((element || \"\").length > 0) {\r\n let cleanElement = element.trim() || \"\";\r\n if (cleanElement.length > 0) {\r\n entityNumberArrayTrimmed.push(element.trim());\r\n }\r\n }\r\n });\r\n\r\n return entityNumberArrayTrimmed;\r\n }\r\n\r\n getEventTime(eventDate: string, eventTime: string) {\r\n let localTime = '';\r\n if (eventTime != undefined && eventTime != null && eventTime != '') {\r\n const time = new Date(eventTime);\r\n localTime = time.toLocaleTimeString([], { hour: '2-digit', minute: '2-digit' });\r\n }\r\n else if (eventDate != undefined && eventDate != null && eventDate != '') {\r\n const time = new Date(eventDate);\r\n localTime = time.toLocaleTimeString([], { hour: '2-digit', minute: '2-digit' });\r\n }\r\n\r\n let dt = new Date(eventDate);\r\n let dateString = dt.toLocaleDateString();\r\n\r\n return dateString + \" \" + localTime;\r\n }\r\n\r\n showErrorInfoDialog(templateRef: any, evtData: any) {\r\n\r\n let dialogRef = this.dialog.open(templateRef, {\r\n width: '700px',\r\n data: {\r\n message: evtData.eventMessage,\r\n correlationId: \"Correlation ID: \" + evtData.correlationId\r\n }\r\n });\r\n }\r\n\r\n get getUniqueScenario() {\r\n let seenScenario: { [key: string]: Boolean } = {};\r\n let response: string[] = [];\r\n\r\n (this.inputMapping || []).map((item: EntityTrackingMap) => {\r\n if (!seenScenario[item.Scenario]) {\r\n seenScenario[item.Scenario] = true;\r\n response.push(item.Scenario);\r\n }\r\n });\r\n\r\n return response;\r\n }\r\n\r\n get getUniqueEntityTypesForCurrentScenario() {\r\n let currScenario: string = (this.scenario || \"\").trim();\r\n\r\n if (currScenario.length <= 0) {\r\n return [\"-\"].concat((this.inputMapping || []).map((item: EntityTrackingMap) => {\r\n return item.EntityType;\r\n }));\r\n } else {\r\n let seenType: { [key: string]: boolean } = {};\r\n let response: string[] = [];\r\n this.inputMapping\r\n .filter((item: EntityTrackingMap) => item.Scenario === currScenario)\r\n .map((item: EntityTrackingMap) => {\r\n if (!seenType[item.EntityType]) {\r\n seenType[item.EntityType] = true;\r\n response.push(item.EntityType);\r\n }\r\n });\r\n return [\"-\"].concat(response);\r\n }\r\n }\r\n\r\n getTrackingType(scenario: string, entityType: string) {\r\n scenario = (scenario || \"\").trim();\r\n entityType = (entityType || \"\").trim();\r\n\r\n if (scenario.length <= 0 || entityType.length <= 0) {\r\n return \"\";\r\n }\r\n\r\n for (let i = 0; i < this.inputMapping.length; ++i) {\r\n if (this.inputMapping[i].Scenario == scenario && this.inputMapping[i].EntityType == entityType) {\r\n return this.inputMapping[i].TrackingType;\r\n }\r\n }\r\n\r\n return \"\";\r\n }\r\n}\r\n","
\r\n

Order Tracking

\r\n
\r\n
\r\n Description:\r\n

{{this.pageDescription}}

\r\n
\r\n\r\n
\r\n
\r\n \r\n
\r\n \r\n
Business Process (L4) is required.
\r\n
\r\n
\r\n\r\n
\r\n \r\n
\r\n \r\n
Entity Type is required.
\r\n
\r\n
\r\n\r\n
\r\n \r\n Order Ids to be tracked.
\r\n
\r\n More Order Ids can be added (separated by ',') to get tracking information for these new orders as well. Please make sure that the new orders are from the same workflow (Order Type and Scenario).\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n \r\n Maximum of 5 Orders recommended.\r\n \r\n
\r\n
\r\n\r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n
0\" style=\"padding: 5px 0 0 40px;\">{{partialLoadingMessage}}
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n\r\n
\r\n
Loading ...
\r\n
0\">\r\n \r\n
\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n

Error Message

\r\n
{{data.message}}
\r\n
{{data.correlationId}}
\r\n
\r\n \r\n \r\n
{{column}}
\r\n {{evtData[0].displayText}}\r\n\r\n \r\n 0\">\r\n \r\n
\r\n {{singleEvent.displayTimestamp}}
\r\n {{singleEvent.displayEntity}}\r\n
\r\n
\r\n {{singleEvent.displayTimestamp}}
\r\n {{singleEvent.displayEntity}}\r\n
\r\n
\r\n
\r\n
\r\n
0\" class=\"alert alert-danger\" role=\"alert\">\r\n {{errorMessage}}\r\n
\r\n
\r\n
\r\n","import { Component, OnInit } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'app-preloader',\r\n templateUrl: './preloader.component.html',\r\n styleUrls: ['./preloader.component.css']\r\n})\r\nexport class PreloaderComponent {\r\n}\r\n","
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n","import { ChangeDetectorRef, Component } from '@angular/core';\r\nimport { FormGroup } from '@angular/forms';\r\nimport { FormlyFieldConfig, FormlyFormOptions } from '@ngx-formly/core';\r\nimport { MasterDataService } from '../service/masterdata.service';\r\nimport {jsonValidator} from '../common/jsonValidator';\r\n@Component({\r\n selector: 'app-dynamic-form',\r\n templateUrl: './formly-playground.component.html',\r\n styleUrls: ['./formly-playground.component.css']\r\n})\r\nexport class FormlyPlaygroundComponent {\r\n form = new FormGroup({});\r\n model: any = {};\r\n stringFields:string; \r\n options: FormlyFormOptions = {};\r\n fields: FormlyFieldConfig[];\r\n loadedConfig: {} = {}; // name of list => raw value of list as JSON object\r\n showModel: boolean=false;\r\n showToggle: boolean=false;\r\n showErrorjson: boolean=false;\r\n constructor(private masterDataService: MasterDataService, private chDet: ChangeDetectorRef,private jsonValid: jsonValidator) {}\r\n updateFields(json:string): void {\r\n this.model={};\r\n this.loadedConfig = {};\r\n this.fields = [];\r\n this.options = {};\r\n try {\r\n if(this.jsonValid.isValidJson(json))\r\n {\r\n this.showErrorjson=false;\r\n this.loadOptionsFiles(json);\r\n }\r\n else{\r\n this.showModel = false;\r\n this.showErrorjson=true;\r\n }\r\n \r\n } catch (e) {\r\n console.error('Invalid JSON', e);\r\n }\r\n }\r\n\r\n loadOptionsFiles(json:string): void {\r\n this.showToggle=true;\r\n var loadFiles = {}; // map of filename => [optionsList], keep track of which all config files are to be under, under which name\r\n let parsedUserInput: FormlyFieldConfig[] = JSON.parse(json);\r\n parsedUserInput.forEach(ffc => {\r\n if ((ffc as any).hasOwnProperty('fileName')) {\r\n let fn: string = ffc['fileName']; // file name to be loaded\r\n let opt: string = ffc['optionsList']; // option list name, this is the name where from options list within form state in read in formly field config\r\n\r\n loadFiles[fn] = loadFiles[fn] || [];\r\n loadFiles[fn].push(opt); \r\n }\r\n });\r\n\r\n var loadFilesPromises = [];\r\n for (let fn in loadFiles) {\r\n var promise = this.masterDataService.getSelectOptionsFromFiles(fn).toPromise().then((response: any) => {\r\n loadFiles[fn].forEach((optListName: string) => {\r\n this.loadedConfig[optListName] = response;\r\n \r\n });\r\n this.options.formState = this.loadedConfig;\r\n },\r\n (error) => {\r\n console.log(\"Can not fetch config file : \" + fn, error);\r\n });\r\n loadFilesPromises.push(promise);\r\n \r\n }\r\n Promise.all(loadFilesPromises).then(() => {\r\n this.fields = JSON.parse(json);\r\n console.log('Fielding Done');\r\n });\r\n }\r\n onChangeToggle(event:any){\r\n console.log(event);\r\n if (event.checked){\r\n this.showModel = true;\r\n }\r\n else{\r\n this.showModel = false;\r\n }\r\n }\r\n}\r\n","
\r\n
\r\n
\r\n

JSON Input

\r\n \r\n
Please Enter the input in JSON format.
\r\n
\r\n \r\n
\r\n \r\n Show Model\r\n \r\n
\r\n
\r\n
{{model|json}}
\r\n
\r\n
\r\n \r\n
\r\n

Formly UI

\r\n
\r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n","import { Component, OnInit } from '@angular/core';\r\nimport { Constants } from '../service/constant.service';\r\nimport { FormsModule } from '@angular/forms';\r\nimport { MasterDataService } from '../service/masterdata.service';\r\nimport { GoodReceiptService } from '../service/goodreceipt.service';\r\nimport { GoodReceiptMockResponse } from '../model/goodreceiptresponse.model'\r\nimport { GoodReceiptMockRequest, Orders, MessageTypeEnum, SerializedFlagEnum } from '../model/goodreceiptrequest.model'\r\nimport { MsalService } from '@azure/msal-angular';\r\nimport { DescriptionService } from '../service/description.service';\r\n\r\nimport { ConfigService } from '../service/config.service';\r\nimport * as log from '../AppInsightsLogger';\r\n\r\nimport { ApplicationInsights } from '@microsoft/applicationinsights-web';\r\n\r\n@Component({\r\n selector: 'app-goodreceiptmocker',\r\n templateUrl: './goodreceiptmocker.component.html',\r\n styleUrls: ['./goodreceiptmocker.component.css']\r\n})\r\n\r\n\r\nexport class GoodReceiptMockerComponent implements OnInit {\r\n name: string;\r\n goodReceiptMockRequest: GoodReceiptMockRequest;\r\n goodReceiptMockResponse: GoodReceiptMockResponse;\r\n showLoader: boolean;\r\n logMessage = '';\r\n entityId: string;\r\n precedingentityId: string;\r\n messageType = MessageTypeEnum;\r\n serializedflag = SerializedFlagEnum.No;\r\n\r\n plant: any[];\r\n payload: any[];\r\n correlationId = '';\r\n \r\n private logger: log.AppInsightsLogger;\r\n pageDetails: any[];\r\n pageDescription: string;\r\n isSTOorder: boolean;\r\n\r\n modalInputs: {\r\n responsePayload: string};\r\n ngOnInit() {\r\n window.sessionStorage.setItem(\"orgSelected\", \"1\");\r\n this.showLoader = false;\r\n this.logMessage = '';\r\n this.goodReceiptMockResponse = new GoodReceiptMockResponse();\r\n this.goodReceiptMockRequest = new GoodReceiptMockRequest();\r\n this.isSTOorder = false;\r\n this.masterDataService.getPlants().subscribe(Response => {\r\n this.plant = Response;\r\n });\r\n this.goodReceiptMockResponse.message = '';\r\n this.logger.trackTrace(`Successfully landed to Good Receipt Mocker Page`);\r\n this.descriptionService.pageDetailsMocker().subscribe((response: any[]) => {\r\n this.pageDetails = response;\r\n this.pageDetails.forEach(element => {\r\n if (element.mockerName == \"Goods Receipt Mocker\") {\r\n this.pageDescription = element.mockerDescription\r\n }\r\n });\r\n });\r\n }\r\n\r\n constructor(private masterDataService: MasterDataService,\r\n private descriptionService: DescriptionService, \r\n private goodReceiptService: GoodReceiptService,\r\n private msalService: MsalService,\r\n private configService: ConfigService) {\r\n this.name = this.msalService.instance.getActiveAccount().name;\r\n this.logger = new log.AppInsightsLogger(configService, msalService);\r\n this.pageDescription = '';\r\n }\r\n\r\n addLogLine(line: string) {\r\n const currentDateTime = new Date();\r\n this.logMessage += '[' + currentDateTime.toLocaleString() + '] ' + line + '\\n';\r\n }\r\n\r\n onPostGoodReceiptClick()\r\n {\r\n this.showLoader = true;\r\n this.logMessage = '';\r\n\r\n let order = new Orders();\r\n order.OrderNumber = this.entityId;\r\n order.PrecedingOrderNumber = this.precedingentityId;\r\n \r\n this.goodReceiptMockRequest.Orders = [];\r\n this.goodReceiptMockRequest.Orders.push(order);\r\n this.goodReceiptMockRequest.IsSTOorder = this.isSTOorder;\r\n this.goodReceiptService.onPostMockLoadPlanRequest(this.goodReceiptMockRequest).subscribe(goodReceiptResponse => {\r\n if (goodReceiptResponse != null && goodReceiptResponse.length > 0) {\r\n this.payload = goodReceiptResponse;\r\n goodReceiptResponse.forEach(element => {\r\n this.correlationId = element.correlationId;\r\n console.log(this.getValidJSONObject(element.message))\r\n \r\n //console.log(this.modalInputs.requestPayload)\r\n if (element.correlationId === '') {\r\n this.clearLogs()\r\n this.addLogLine(`Good Receipt failed while posting to GoodsReceipt service`);\r\n this.goodReceiptMockResponse.message = this.getValidJSONObject(element.message);\r\n this.logger.trackTrace(`Good Receipt failed. correlationId is null`);\r\n } else {\r\n if (element.isSuccessful == true) {\r\n this.clearLogs()\r\n this.addLogLine(`Message created and posted to GoodsReceipt service successfully.` + \r\n ` Good Receipt Correlation Id: ${element.correlationId}`);\r\n this.goodReceiptMockResponse.message = this.getValidJSONObject(element.message);\r\n this.logger.trackTrace(`Message created and posted to GoodsReceipt service successfully. ` +\r\n ` Good Receipt Correlation Id: ${element.correlationId}`);\r\n }\r\n //Good Receipt Message: ${ this.getValidJSONObject(element.message) },\r\n }\r\n });\r\n this.showLoader = false;\r\n } else {\r\n this.clearLogs()\r\n this.addLogLine(`Some error occured: ${goodReceiptResponse}`);\r\n this.logger.trackTrace(`Good Receipt Mocker, Some error occured`);\r\n this.showLoader = false;\r\n }\r\n }, (error) => {\r\n this.clearLogs()\r\n this.addLogLine(`Some error occured: ${JSON.stringify(error)}`);\r\n this.logger.trackException(error);\r\n this.showLoader = false;\r\n });\r\n }\r\n\r\n getValidJSONObject(object: string) {\r\n object = object.replace('{\"\"', '{\"').replace(',\"\"', ',\"');\r\n if (object == '') {\r\n return object;\r\n } else {\r\n if (/^[\\],:{}\\s]*$/.test(object.replace(/\\\\[\"\\\\\\/bfnrtu]/g, '@').replace(/\"[^\"\\\\\\n\\r]*\"|true|false|null|-?\\d+(?:\\.\\d*)?(?:[eE][+\\-]?\\d+)?/g, ']').replace(/(?:^|:|,)(?:\\s*\\[)+/g, ''))) {\r\n return JSON.parse(object);\r\n } else if (object.charAt(0).toLowerCase() != '[' && object.charAt(0).toLowerCase() != '{') {\r\n return { object };\r\n } else {\r\n try {\r\n return JSON.parse(object);\r\n } catch {\r\n return { object };\r\n }\r\n }\r\n }\r\n }\r\n\r\n downloadPayloadFile() {\r\n if (this.payload) {\r\n this.downloadTextFile(JSON.stringify(this.payload), this.correlationId + '.json');\r\n }\r\n }\r\n\r\n downloadTextFile(text: any, name: string) {\r\n const a = document.createElement('a');\r\n const type = name.split('.').pop();\r\n a.href = URL.createObjectURL(new Blob([text], { type: `text/${type === 'txt' ? 'plain' : type}` }));\r\n a.download = name;\r\n a.click();\r\n }\r\n\r\n clearLogs() {\r\n this.logMessage = '';\r\n this.goodReceiptMockResponse.message = '';\r\n }\r\n}\r\n","
\r\n

Goods Receipt Mocker

\r\n
\r\n
\r\n Description:\r\n

{{this.pageDescription}}

\r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n\r\n
GR Type is required
\r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n
SenderId is required
\r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n
LoadId is required
\r\n
\r\n
\r\n\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n\r\n\r\n
\r\n \r\n
\r\n \r\n\r\n
\r\n
\r\n\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n\r\n
\r\n \r\n
\r\n \r\n
Purchase Order Number is required
\r\n
\r\n\r\n\r\n
\r\n \r\n
\r\n \r\n
Preceding Order Number is required
\r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n Clear\r\n
\r\n
\r\n\r\n
\r\n
\r\n
\r\n
\r\n
Response Payload Details:
\r\n
\r\n
\r\n \r\n
\r\n
\r\n

{{logMessage}}

\r\n

Good Receipt Message:

\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n","export class CreateLoadTestRequest {\r\n constructor() {\r\n this.Section = 'DC fulfilment';\r\n this.Vertical = 'Deliver';\r\n this.FulfillmentMethod = 'DC Ship';\r\n }\r\n public Section: string \r\n\r\n public Vertical: string\r\n\r\n public TypeOfTest: number\r\n\r\n public ReceiverSystem: string\r\n\r\n public FulfillmentMethod: string\r\n\r\n public SalesOrg: string\r\n\r\n public Country: string\r\n\r\n public Region: string\r\n\r\n public MockFMV: boolean\r\n\r\n public MockDC: boolean \r\n\r\n public NumberOfOrders: number\r\n\r\n public FriendlyName: string\r\n\r\n public Scenario: string \r\n\r\n public UserName: string \r\n\r\n public UserEmail: string \r\n\r\n public NumberOfLinesPerOrder: string\r\n\r\n public QuantityPerLine: number\r\n\r\n public PartnerId: string \r\n\r\n public TenantId: string \r\n}\r\n\r\nexport class OutboundDC {\r\n public TenantId: string;\r\n public Scenario: string;\r\n public PartnerId: string;\r\n}\r\n","import { Component } from '@angular/core';\r\nimport { FieldType, FormlyFieldConfig } from '@ngx-formly/core';\r\n\r\n@Component({\r\n selector: 'formly-field-dropdown',\r\n template: `\r\n \r\n\r\n\r\n Select Mockers\r\n \r\n \r\n {{ mocker.templateOptions.label }}\r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n`,\r\n})\r\nexport class FormlyFieldDropdown extends FieldType {\r\n formValue: any;\r\n enableSubmit: boolean=false;\r\n isValid(field: FormlyFieldConfig) {\r\n if (field.key) {\r\n return field.formControl.valid;\r\n }\r\n\r\n return field.fieldGroup\r\n ? field.fieldGroup.every((f) => this.isValid(f))\r\n : true;\r\n }\r\n onChange(mocker:any){\r\n \r\n localStorage.setItem('selectedMocker',mocker.key);\r\n this.formValue=mocker;\r\n if(this.formValue){\r\n \r\n this.enableSubmit=true;\r\n }\r\n }\r\n}\r\n","import { Directive } from '@angular/core';\r\nimport { NG_VALUE_ACCESSOR, ControlValueAccessor } from '@angular/forms';\r\n\r\n@Directive({\r\n // tslint:disable-next-line\r\n selector: 'input[type=file]',\r\n host: {\r\n '(change)': 'onChange($event.target.files)',\r\n '(blur)': 'onTouched()',\r\n },\r\n providers: [\r\n { provide: NG_VALUE_ACCESSOR, useExisting: FileValueAccessor, multi: true },\r\n ],\r\n})\r\n// https://github.com/angular/angular/issues/7341\r\nexport class FileValueAccessor implements ControlValueAccessor {\r\n value: any;\r\n onChange = (_) => { };\r\n onTouched = () => { };\r\n\r\n writeValue(value) { }\r\n registerOnChange(fn: any) { this.onChange = fn; }\r\n registerOnTouched(fn: any) { this.onTouched = fn; }\r\n}\r\n","import { NumberValueAccessor } from '@angular/forms';\r\nimport { Response } from './response.model';\r\n\r\nexport class Conditions {\r\n constructor() {\r\n this.showAddButton = false;\r\n this.sidebarOpened = false;\r\n this.isBulkUploadMode = false;\r\n this.isEditMode = false;\r\n this.isEditModeLoadComplete = false;\r\n this.validateMode = false;\r\n this.disableSerialNumber = false;\r\n this.allowMultipleTestRuns = false;\r\n }\r\n showAddButton: boolean;\r\n sidebarOpened: boolean;\r\n isBulkUploadMode: boolean;\r\n isEditMode: boolean;\r\n isEditModeLoadComplete: boolean;\r\n validateMode: boolean;\r\n disableSerialNumber: boolean;\r\n allowMultipleTestRuns: boolean;\r\n}\r\n\r\nexport class VerticalsDetails {\r\n public verticalName: string;\r\n public componentsList: ComponentDetails[];\r\n public sectionsList: SectionsDetails[];\r\n}\r\nexport class PartnerDetails{\r\n public id:number;\r\n public partnerOrgName:string;\r\n public businessProcessName:string;\r\n public onboardingName : string;\r\n public scenarioId : number;\r\n public vertical:string;\r\n public section:string\r\n}\r\n\r\n\r\nexport class ComponentDetails {\r\n public componentId: number;\r\n public componentName: string;\r\n public componentDescription: string;\r\n public userInputJson: string;\r\n}\r\n\r\nexport class SectionsDetails {\r\n constructor() {\r\n this.allowMultipleTestRuns = false;\r\n }\r\n public sectionName: string;\r\n public tableColumnsJson: string;\r\n public enableBulkUploadOption: boolean;\r\n public allowMultipleTestRuns: boolean;\r\n public scenariosList: ScenariosDetails[];\r\n}\r\n\r\nexport class ScenariosDetails {\r\n public scenarioId: number;\r\n public scenarioName: string;\r\n public scenarioDescription: string;\r\n public businessProcessName: string;\r\n public businessProcessDefinition: string;\r\n public includeAllOption: boolean;\r\n public userInputJson: string;\r\n public flavoursList: FlavoursDetails[];\r\n}\r\n\r\nexport class FlavoursDetails {\r\n public flavourId: number;\r\n public flavourName: string;\r\n}\r\n\r\nexport class FormInputsModel {\r\n constructor() {\r\n this.id = 0;\r\n this.scenarioId = -1;\r\n this.flavourId = -1;\r\n this.scenarioName = '';\r\n this.flavourName = '';\r\n }\r\n public id: number;\r\n public scenarioId: number;\r\n public flavourId: number;\r\n public scenarioName: string;\r\n public flavourName: string;\r\n}\r\n\r\nexport class ScenariosInputsModel {\r\n constructor() {\r\n this.id = 0;\r\n this.scenarioId = -1;\r\n this.flavourId = -1;\r\n this.scenarioName = '';\r\n this.flavourName = '';\r\n this.inputsModel = {};\r\n }\r\n public id: number;\r\n public scenarioId: number;\r\n public flavourId: number;\r\n public scenarioName: string;\r\n public flavourName: string;\r\n public inputsModel: {};\r\n}\r\n\r\nexport class TestRunInputsDetails {\r\n constructor() {\r\n this.verticalName = '-1';\r\n this.sectionName = '-1';\r\n }\r\n public testRunName: string;\r\n public userName: string;\r\n public userEmail: string;\r\n public verticalName: string;\r\n public sectionName: string;\r\n public partnerOrgName: string;\r\n public businessProcessName: string;\r\n public onboardingName: string;\r\n\r\n public inputsJsonDetails: string;\r\n}\r\n\r\nexport class TestRunBulkUploadInput {\r\n public testRunName: string;\r\n public userName: string;\r\n public userEmail: string;\r\n public sheetJsonData: string;\r\n public testPlanInstanceId?: string;\r\n public testPlanPreStepInstanceId?: string;\r\n public projectId?: string;\r\n}\r\n\r\nexport class TestRunsBulkUploadResponse extends Response {\r\n\r\n}\r\n\r\nexport class TestRunsFetchInputs {\r\n constructor() {\r\n this.pageNumber = 1;\r\n this.pageSet = 5;\r\n this.isExport = false;\r\n }\r\n userEmail: string;\r\n testRunName: string;\r\n testRunId: string;\r\n pageNumber: number;\r\n pageSet: number;\r\n searchId: string;\r\n organizationId: number;\r\n isExport: boolean;\r\n}\r\n\r\nexport class TestRunsDetails {\r\n public totalCount: number;\r\n public testRunsItemDetailsList: TestRunsItemDetails[];\r\n}\r\n\r\nexport class TestRunsItemDetails {\r\n constructor() {\r\n this.isReload = false;\r\n }\r\n testRunId: string;\r\n testRunName: string;\r\n userName: string;\r\n userEmail: string;\r\n isSavedRun: boolean;\r\n executionDate: string;\r\n statusCounts: TestRunStatusCount;\r\n isReload: boolean;\r\n scenariosDetailsList: TestRunScenariosDetails[];\r\n\r\n /** \r\n * Tracking type for this test run.\r\n */\r\n trackingType: string;\r\n\r\n /**\r\n * Order IDs which can be tracked for events in this Test Run\r\n */\r\n trackingIDs: string[];\r\n}\r\n\r\nexport class TestRunStatusCount {\r\n waiting: number;\r\n start: number;\r\n ready: number;\r\n processing: number;\r\n pending: number;\r\n complete: number;\r\n error: number;\r\n}\r\n\r\nexport class TestRunScenariosDetails {\r\n correlationId: string;\r\n verticalName: string;\r\n sectionName: string;\r\n scenarioId: number;\r\n scenarioName: string;\r\n flavourId: number;\r\n flavourName: string;\r\n executionDate: string;\r\n estimatedCompletionDateTime: string;\r\n status: string;\r\n isVisible: boolean;\r\n stepsDetailsList: TestRunStepsDetails[];\r\n}\r\n\r\nexport class TestRunStepsDetails {\r\n componentId: number;\r\n componentName: string;\r\n componentDescription: string;\r\n displayTracking: boolean;\r\n trackingType: string;\r\n customErrorMessages: string;\r\n restartDisplayCondition: string;\r\n enableRefresh: boolean;\r\n enableErrorEmail: boolean;\r\n errorEmaillink: string;\r\n allowProceedOnError: boolean;\r\n downloadSuccessKey: string;\r\n downloadErrorKey: string;\r\n stepRank: number;\r\n userInput: string;\r\n stepStatus: string;\r\n stepResponse: string;\r\n eventsList: Events[];\r\n withPartner: boolean;\r\n isManual: boolean;\r\n componentCreated: string;\r\n componentLastModified: string;\r\n estimatedCompletionDateTime: string;\r\n isChildStep: boolean;\r\n parentCorrelationID: string;\r\n parentStepRank: number;\r\n childScenariosList: TestRunScenariosDetails[];\r\n}\r\n\r\nexport class Events {\r\n eventId: number;\r\n eventName: string;\r\n eventDate: string;\r\n eventTime: string;\r\n trackingId: string;\r\n trackingName: string;\r\n correlationId: string;\r\n eventStatus: string;\r\n eventMessage: any;\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { HttpClient } from '@angular/common/http';\r\nimport { Auth, OmTestSuiteAPI, Organization, UIAppSettings, MsalAngularConfig, Environment } from '../model/appconfig.model';\r\n\r\n@Injectable({\r\n providedIn: 'root',\r\n})\r\nexport class ConfigService {\r\n omtestSuiteAPI: OmTestSuiteAPI;\r\n auth: Auth;\r\n uiAppSettings: UIAppSettings;\r\n selectedEnvironment: string;\r\n organizations: Organization[];\r\n msalAngularConfig: MsalAngularConfig;\r\n\r\n constructor(private httpClient: HttpClient) {\r\n }\r\n\r\n switchEnvironment(env: string) {\r\n const omTestSuiteApiSettings = this.uiAppSettings.Environments.filter((item: Environment) => (item.environmentName == env))[0];\r\n this.omtestSuiteAPI = omTestSuiteApiSettings.omTestSuiteAPI;\r\n this.omtestSuiteAPI.swaggerUrl = this.omtestSuiteAPI.baseUrl + '/swagger';\r\n this.selectedEnvironment = env;\r\n }\r\n\r\n async loadConfigFromService(): Promise {\r\n const url = 'api/Config';\r\n return this.httpClient.get(url).toPromise();\r\n }\r\n\r\n isNotification() {\r\n var isnotification = false;\r\n if (this.uiAppSettings.Notification.notification === true) {\r\n isnotification = true\r\n }\r\n return isnotification\r\n }\r\n\r\n getAppInsightsInstrumentationKey() {\r\n return this.uiAppSettings.Logging.AppInsightsInstrumentationKey;\r\n }\r\n}\r\n","export class ErrorCode {\r\n public static readonly BadArgument = 'BadArgument';\r\n}","import { Component, ViewEncapsulation } from '@angular/core';\r\nimport { FieldType, FormlyFieldConfig } from '@ngx-formly/core';\r\n\r\n@Component({\r\n selector: 'formly-field-description',\r\n styles:[ `table {\r\n font-family: arial, sans-serif;\r\n border-collapse: collapse;\r\n width: 100%;\r\n }\r\n \r\n td, th {\r\n border: 1px solid #dddddd;\r\n text-align: left;\r\n padding: 8px;\r\n }\r\n \r\n tr:nth-child(even) {\r\n background-color: #dddddd;\r\n }`],\r\n template: `\r\n
\r\n`,\r\nencapsulation:ViewEncapsulation.None\r\n\r\n})\r\nexport class FormlyFieldDescription extends FieldType {\r\n \r\n isValid(field: FormlyFieldConfig) {\r\n if (field.key) {\r\n return field.formControl.valid;\r\n }\r\n\r\n return field.fieldGroup\r\n ? field.fieldGroup.every((f) => this.isValid(f))\r\n : true;\r\n }\r\n \r\n}\r\n","import {\r\n Component,\r\n OnInit,\r\n Input,\r\n ViewChild,\r\n TemplateRef,\r\n} from \"@angular/core\";\r\nimport { NgbModal, NgbModalOptions } from \"@ng-bootstrap/ng-bootstrap\";\r\n\r\n@Component({\r\n selector: \"app-error-display\",\r\n templateUrl: \"./error-display.component.html\",\r\n styleUrls: [\"./error-display.component.css\"],\r\n})\r\nexport class ErrorDisplayComponent implements OnInit {\r\n @Input() errorMessage = \"\";\r\n\r\n @ViewChild(\"jsonModal\") jsonModal: TemplateRef;\r\n messageToDisplay: string;\r\n\r\n constructor(private modalService: NgbModal) {}\r\n\r\n ngOnInit(): void {\r\n this.messageToDisplay = this.errorMessage != null && this.errorMessage != \"\" ? this.errorMessage : \"There is no error message for this step.\";\r\n }\r\n\r\n onEditClicked() {\r\n let options: NgbModalOptions = {\r\n size: \"m\",\r\n centered: true,\r\n };\r\n\r\n this.modalService.open(this.jsonModal, options);\r\n }\r\n}\r\n","
\r\n \r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n

\r\n View Error \r\n

\r\n \r\n
\r\n
\r\n
\r\n {{messageToDisplay}}\r\n
\r\n
\r\n
","export class OutputTriggerRequest {\r\n\r\n constructor() {\r\n this.outputTriggerFor = '';\r\n this.entityNumbers = [];\r\n }\r\n\r\n public outputTriggerFor: string;\r\n public entityNumbers: string[];\r\n}\r\n\r\n","export class GoodReceiptMockRequest {\r\n constructor() {\r\n this.PlantCode = '';\r\n this.MessageType = MessageTypeEnum.Forward;\r\n this.SerializedFlag = SerializedFlagEnum.No;\r\n }\r\n public SenderId: string \r\n public LoadId: string\r\n public PlantCode: string\r\n public MessageType: MessageTypeEnum\r\n public SerializedFlag: SerializedFlagEnum\r\n public CarrierTrackingNumber: string\r\n public COO: string\r\n public Orders: Orders[]\r\n public IsSTOorder: boolean;\r\n public Posttoapi: boolean;\r\n}\r\n\r\nexport class Orders {\r\n constructor() {\r\n this.OrderLineNumber = '';\r\n this.Sku = '';\r\n this.ReceiptTransactionId = '';\r\n this.Quantity = 1;\r\n this.StorageLocationValue = '';\r\n this.StockStatus = '';\r\n }\r\n public OrderNumber: string\r\n public OrderLineNumber: string\r\n public Sku: string\r\n public ReceiptTransactionId: string\r\n public Quantity: number\r\n public StorageLocationValue: string\r\n public StockStatus: string\r\n public PrecedingOrderLineNumber: string\r\n public PrecedingOrderNumber: string\r\n}\r\n\r\n\r\nexport enum MessageTypeEnum {\r\n Forward = \"Forward\",\r\n Return = \"Return\",\r\n WTPForwardRSD = \"WTPForwardRSD\",\r\n WTPForwardDC = \"WTPForwardDC\",\r\n WTPReverseDCRSD = \"WTPReverseDCRSD\",\r\n WTPReverseSIRSD = \"WTPReverseSIRSD\",\r\n WTPReverseT2RSD = \"WTPReverseT2RSD\",\r\n WTPDCGOODSISSUE = \"WTPDCGOODSISSUE\"\r\n\r\n\r\n}\r\nexport enum SerializedFlagEnum {\r\n Yes = \"Yes\",\r\n No = \"No\",\r\n\r\n}\r\n\r\n\r\n","export class OrderList {\r\n public totalCount: number;\r\n public orderListItems: OrderListItem[];\r\n}\r\n\r\nexport class OrderListItem {\r\n public customerPurchaseOrderNumber: string;\r\n public createdAt: number;\r\n public lastModifiedAt: number;\r\n}\r\n","import { Component, EventEmitter, Input, OnInit, Output, TemplateRef, ViewChild } from '@angular/core';\r\nimport { DevicecareService } from '../service/devicecare.service';\r\nimport { NgbModal, NgbModalRef } from '@ng-bootstrap/ng-bootstrap';\r\nimport { ModaltableComponent } from '../modaltable/modaltable.component';\r\nimport { TableItem } from '../model/devicecaretable.model';\r\n@Component({\r\n selector: 'app-devicecare',\r\n templateUrl: './devicecare.component.html',\r\n styleUrls: ['./devicecare.component.css']\r\n})\r\nexport class DevicecareComponent implements OnInit {\r\n \r\n @Output() symptomCodeEvent = new EventEmitter();\r\n @Output() offerIdEvent = new EventEmitter();\r\n @Output() shippingOfferEvent = new EventEmitter();\r\n \r\n\r\n @ViewChild('deviceCareLookupModal', { static: true, read: TemplateRef })\r\n deviceCareLookupModal: TemplateRef;\r\n modal: NgbModalRef;\r\n tabledatatomodal: TableItem;\r\n errMessage: any;\r\n errorExist: boolean;\r\n shippingOffersList: any=[];\r\n \r\n \r\n constructor(private deviceCareService:DevicecareService,private modalService: NgbModal) { }\r\n public static readonly className: string = 'DevicecareComponent';\r\n ngOnInit(): void {\r\n }\r\n \r\n setTierValue(tier){\r\n if(tier==null || tier.length==0){\r\n var Tier :string = '';\r\n }\r\n else{\r\n var Tier :string = tier[0];\r\n }\r\n return Tier\r\n }\r\n \r\n getSymptomTableData(data:any){\r\n this.tabledatatomodal=new TableItem();\r\n this.tabledatatomodal.tableHeading=[\"Code\",\"Name\",\"Description\"];\r\n this.tabledatatomodal.tableRows=[];\r\n data.forEach((y:any)=>{\r\n this.tabledatatomodal.tableRows.push([y.symptomCode,y.name,y.description])\r\n })\r\n \r\n }\r\n getOfferTableData(data:any){\r\n this.tabledatatomodal=new TableItem();\r\n this.tabledatatomodal.tableHeading=[\"Code\",\"Name\",\"Description\"];\r\n this.tabledatatomodal.tableRows=[];\r\n data.forEach((y:any)=>{\r\n this.tabledatatomodal.tableRows.push([y.offerId,y.name,y.description])\r\n })\r\n \r\n }\r\n\r\n public onClickClaimEligibilities(serialNumber?:string,tier?:any){\r\n var agentTier = this.setTierValue(tier)\r\n this.deviceCareService.getClaimEligibilities(serialNumber,agentTier).subscribe((data:any)=>{\r\n var symptonCodeList = data.eligibilityOptions;\r\n this.errorExist=false;\r\n this.getSymptomTableData(symptonCodeList);\r\n this.modal = this.modalService.open(\r\n ModaltableComponent,\r\n {\r\n size: 'xl',\r\n centered: true,\r\n ariaLabelledBy: 'modal-basic-title'\r\n }\r\n );\r\n this.modal.componentInstance.tableData = this.tabledatatomodal;\r\n this.modal.componentInstance.selectedEvent.subscribe((receivedEntry:any) => {\r\n var CodeSelected = symptonCodeList[receivedEntry].symptomCode;\r\n this.symptomCodeEvent.emit(CodeSelected);\r\n });\r\n },err => {\r\n this.errorExist=true;\r\n this.errMessage = err.message;\r\n this.symptomCodeEvent.emit('');\r\n });\r\n }\r\n \r\n public onClickRepairOffers(serialNumber:string,tier:any,countryCode:string,symptomCode:string){\r\n var agentTier =this.setTierValue(tier)\r\n this.deviceCareService.getRepairOffers(serialNumber,agentTier,countryCode,symptomCode).subscribe((data:any)=>{\r\n this.errorExist=false;\r\n var offersList = data.offers;\r\n this.getOfferTableData(offersList);\r\n this.modal = this.modalService.open(\r\n ModaltableComponent,\r\n {\r\n size: 'xl',\r\n centered: true,\r\n ariaLabelledBy: 'modal-basic-title'\r\n }\r\n );\r\n this.modal.componentInstance.tableData = this.tabledatatomodal;\r\n this.modal.componentInstance.selectedEvent.subscribe((receivedEntry:any) => {\r\n var CodeSelected = offersList[receivedEntry].offerId;\r\n this.offerIdEvent.emit(CodeSelected)\r\n });\r\n },err => {\r\n this.errorExist=true;\r\n this.errMessage = err.message;\r\n this.offerIdEvent.emit('');\r\n })\r\n}\r\npublic onClickShippingOffers(serialNumber:string,offerCode:string,symptomCode:string,tier :any,countryCode:string){\r\n \r\n var agentTier= this.setTierValue(tier)\r\n var jsonBody= [\r\n {serialNumber: serialNumber,\r\n offerSku: offerCode,\r\n symptomCode: symptomCode\r\n }\r\n]\r\n this.deviceCareService.getShippingOffer(jsonBody,agentTier,countryCode).subscribe((data:any)=>{\r\n data.forEach((x:any)=>{\r\n this.shippingOffersList.push(...x.offers);\r\n })\r\n \r\n this.errorExist=false;\r\n this.getOfferTableData(this.shippingOffersList);\r\n this.modal = this.modalService.open(\r\n ModaltableComponent,\r\n {\r\n size: 'xl',\r\n centered: true,\r\n ariaLabelledBy: 'modal-basic-title'\r\n }\r\n );\r\n this.modal.componentInstance.tableData = this.tabledatatomodal;\r\n this.modal.componentInstance.selectedEvent.subscribe((receivedEntry:any) => {\r\n var CodeSelected = this.shippingOffersList[receivedEntry].offerId;\r\n this.shippingOfferEvent.emit(CodeSelected)\r\n});\r\n},err => {\r\n this.errorExist=true;\r\n this.errMessage = err.message;\r\n this.shippingOfferEvent.emit('');\r\n })\r\n}\r\n\r\n}\r\n","

{{this.errMessage}}

","\r\nimport { Component, OnInit, Input, Output, EventEmitter, OnDestroy } from '@angular/core';\r\nimport { Router } from '@angular/router';\r\nimport { Organization } from 'src/app/model/org-view.model';\r\n\r\n@Component({\r\n selector: 'app-org-card ',\r\n templateUrl: './org-card.component.html',\r\n styleUrls: ['./org-card.component.css']\r\n })\r\n export class OrgCardComponent implements OnInit{\r\n \r\n @Input () organizations = [];\r\n\r\n constructor(private router: Router){\r\n }\r\n\r\n ngOnInit(): void {\r\n this.getInitials();\r\n \r\n }\r\n \r\n setOrg(org){\r\n window.sessionStorage.removeItem(\"inOrgLanding\");\r\n window.sessionStorage.setItem(\"orgSelected\", org.organizationId.toString());\r\n window.sessionStorage.setItem(\"orgName\",org.organizationName);\r\n this.router.navigate(['/landing-page', this.getUrlParams(org)]);\r\n }\r\n\r\n getInitials(){\r\n for(const org of this.organizations) {\r\n let initials:string = \"\";\r\n org.organizationName.split(\" \").forEach(element => {\r\n const initial = element.charAt(0);\r\n if((/[a-zA-Z]/).test(initial)){\r\n initials = initials.concat(element.charAt(0));\r\n } \r\n });\r\n org.initials = initials;\r\n } \r\n }\r\n\r\n getUrlParams(org:Organization){\r\n return {\r\n 'org': org.organizationId\r\n };\r\n }\r\n\r\n}\r\n","\r\n\r\n
\r\n
\r\n
\r\n
\r\n
\r\n {{org.initials}}\r\n
\r\n
\r\n
{{org.organizationName}}
\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n","import { Component, EventEmitter, Input, OnInit, Output, TemplateRef, ViewChild } from '@angular/core';\r\nimport { NgbActiveModal } from '@ng-bootstrap/ng-bootstrap';\r\nimport { TableItem } from '../model/devicecaretable.model';\r\n\r\n@Component({\r\n selector: 'app-modaltable',\r\n templateUrl: './modaltable.component.html',\r\n styleUrls: ['./modaltable.component.css']\r\n})\r\nexport class ModaltableComponent implements OnInit {\r\n \r\n @Output() selectedEvent = new EventEmitter();\r\n @Input() public tableData:TableItem;\r\n @ViewChild('deviceCareLookupModal', { static: true, read: TemplateRef })\r\n deviceCareLookupModal: TemplateRef;\r\n constructor(public activeModal: NgbActiveModal) { }\r\n\r\nngOnInit(): void {\r\n console.log(this.tableData);\r\n}\r\n \r\n onSelect(selectedCode:any,index:String){\r\n console.log(selectedCode)\r\n if (selectedCode != null && selectedCode != '') {\r\n // Emit the HWPN determined in view (user-selected)\r\n this.selectedEvent.emit(index);\r\n this.activeModal.close(index)\r\n \r\n \r\n }\r\n }\r\n dismiss(ms){\r\n this.activeModal.close(ms)\r\n this.selectedEvent.emit('');\r\n }\r\n onKeyup(event, selectedCode: string,index) {\r\n if (event.key == \"Enter\") {\r\n this.onSelect(selectedCode,index);\r\n }\r\n }\r\n}\r\n","
\r\n
\r\n Select a data from the table\r\n \r\n
\r\n
\r\n \r\n \r\n \r\n \r\n \r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n

No Data Available

\r\n \r\n
{{heading}}
{{part}}
\r\n
\r\n
\r\n","import { TestRunList } from \"../model/testrunlist.model\";\r\nimport { HttpClient, HttpHeaders } from \"@angular/common/http\";\r\nimport { Injectable } from \"@angular/core\";\r\nimport { ConfigService } from \"./config.service\";\r\nimport { SerialNumberResponse } from \"../model/serial-number-response.model\";\r\nimport { SerialNumberSearchRequest } from \"../model/serialnumbersearchrequest.model\";\r\nimport { SerialNumberRequest } from \"../model/serial-number-request.model\";\r\nimport { SkuNumberSearchRequest } from \"../model/skunumbersearchrequest.model\";\r\nimport { SerialNumberList } from \"../model/serialnumberlist.model\";\r\nimport { ProductCodeListItem, CountryList, LoadPlanPartner, Vendor, Plant, Page } from \"../model/masterdata.model\";\r\nimport { SKUNumberList } from \"../model/skunumberlist.model\";\r\nimport { PartNumberDetail } from \"../model/part-number-detail\";\r\nimport { UATAvailability } from \"../model/uatAvailability.model\";\r\nimport { CloneSerialNumberResponse } from \"../model/clone-serial-number-response.model\";\r\nimport { ProductRequestList } from \"../model/productrequest.model\";\r\n\r\n\r\n@Injectable()\r\nexport class MasterDataService {\r\n\r\n constructor(private httpClient: HttpClient, private configService: ConfigService) {\r\n }\r\n\r\n generateSerialNumbers(serialNumberRequest: SerialNumberRequest) {\r\n const baseUrlWithVersion = this.configService.omtestSuiteAPI.baseUrl + '/api/' + this.configService.omtestSuiteAPI.apiVersion;\r\n return this.httpClient.post(baseUrlWithVersion + '/masterdata/serialnumber', serialNumberRequest);\r\n }\r\n\r\n getCloneUATSerialNumber(serialNumberRequest: SerialNumberRequest) {\r\n const baseUrlWithVersion = this.configService.omtestSuiteAPI.baseUrl + '/api/' + this.configService.omtestSuiteAPI.apiVersion;\r\n return this.httpClient.get(baseUrlWithVersion + '/masterdata/cloneserialnumber?serialNumber=' + serialNumberRequest.serialNumber + '&environment=' + serialNumberRequest.environment);\r\n\r\n }\r\n\r\n getSerialNumberList(serialNumberSearchRequest: SerialNumberSearchRequest) {\r\n const baseUrlWithVersion = this.configService.omtestSuiteAPI.baseUrl + '/api/' + this.configService.omtestSuiteAPI.apiVersion;\r\n return this.httpClient.post(baseUrlWithVersion + '/masterdata/serialnumberlist', serialNumberSearchRequest);\r\n }\r\n\r\n public getProductCode() {\r\n return this.httpClient.get('./assets/configuration/productcode.json');\r\n }\r\n\r\n public getCountry() {\r\n return this.httpClient.get('./assets/configuration/country.json');\r\n }\r\n\r\n public getVendors() {\r\n return this.httpClient.get('./assets/configuration/vendors.json');\r\n }\r\n\r\n public getPlants() {\r\n return this.httpClient.get('./assets/configuration/plantsDC.json');\r\n }\r\n\r\n validateSku(skuList: any[]) {\r\n var baseUrlWithVersion = this.configService.omtestSuiteAPI.baseUrl + '/api/' + this.configService.omtestSuiteAPI.apiVersion;\r\n return this.httpClient.post(baseUrlWithVersion + '/masterdata/validateproduct', skuList);\r\n }\r\n\r\n getSkuNumberList(skuSearchInput: SkuNumberSearchRequest) {\r\n var baseUrlWithVersion = this.configService.omtestSuiteAPI.baseUrl + '/api/' + this.configService.omtestSuiteAPI.apiVersion;\r\n return this.httpClient.post(baseUrlWithVersion + '/masterdata/skunumberlist', skuSearchInput);\r\n }\r\n\r\n getChildPartNumbers(partNumber: string){\r\n var baseUrlWithVersion = this.configService.omtestSuiteAPI.baseUrl + '/api/' + this.configService.omtestSuiteAPI.apiVersion;\r\n return this.httpClient.get(baseUrlWithVersion + '/masterdata/childpartnumbers?partNumber=' + encodeURIComponent(partNumber));\r\n }\r\n\r\n public getLoadPlanPartnerIds() {\r\n return this.httpClient.get('./assets/configuration/loadplanpartners.json');\r\n }\r\n\r\n getSelectOptionsFromFiles(fileName: string) {\r\n return this.httpClient.get('./assets/configuration/' + fileName + '.json');\r\n }\r\n\r\n}\r\n","export class OrderListRequest {\r\n public testRunId: string;\r\n public customerPurchaseOrder: string;\r\n public startDate: string;\r\n public endDate: string;\r\n public sortOrder: string;\r\n public skip: number;\r\n public take: number;\r\n}","import { Component, OnInit, Input, ViewChild, OnDestroy, TemplateRef, } from '@angular/core';\r\nimport { UatAvailabilityService } from '../../service/uatavailability.service';\r\nimport { MasterDataService } from '../../service/masterdata.service';\r\nimport { MsalService } from '@azure/msal-angular';\r\nimport { ConfigService } from '../../service/config.service';\r\nimport * as log from '../../AppInsightsLogger';\r\nimport { NgxUiLoaderService } from 'ngx-ui-loader';\r\nimport { NgbModal, ModalDismissReasons } from '@ng-bootstrap/ng-bootstrap';\r\nimport { ManageScenariosService } from '../../service/manage-scenarios.service';\r\nimport { TestCaseProjectService } from '../../service/test-case-project.service';\r\nimport { Status } from '../status/status.component';\r\nimport { ActivatedRoute, ParamMap } from '@angular/router';\r\nimport { Router } from '@angular/router';\r\nimport { ProductRequest, ProductRequestList } from 'src/app/model/productrequest.model';\r\nimport { SharedOutputRequest, SNValidationRequest, TestCaseInstance, TestCaseInstanceRequest, TestPlanExcelUploadInput, TestPlanInstance, TestPlanInstanceRequest, TestPlanPreStepInstance } from 'src/app/model/project-view.model';\r\nimport { TestRunRetriggerInput, UpdateScenarioStepInput } from 'src/app/model/manage-testruns.model';\r\nimport { TestCasesDataJson, TestCaseDataArray } from 'src/app/model/testCaseDataJson.model';\r\nimport { HttpClient } from '@angular/common/http';\r\nimport { Subject } from 'rxjs';\r\nimport { SimpleGridComponent } from '../test-grid/simple-grid/simple-grid.component';\r\nimport { saveAs } from 'file-saver';\r\nimport { ExcelFileService } from '../../service/excelFile.service';\r\nimport { OrgViewService } from 'src/app/service/org-view.service';\r\nimport * as XLSX from 'xlsx';\r\nimport { TestRunBulkUploadInput } from 'src/app/model/execute-testruns.model';\r\nimport { DescriptionService } from '../../service/description.service';\r\n\r\n\r\n@Component({\r\n selector: 'app-test-case-view',\r\n templateUrl: './test-case-view.component.html',\r\n styleUrls: ['./test-case-view.component.css']\r\n})\r\nexport class TestCaseViewComponent implements OnInit, OnDestroy {\r\n\r\n @ViewChild(SimpleGridComponent) table_data: SimpleGridComponent;\r\n public simpleGrid: SimpleGridComponent;\r\n @ViewChild('inputFileModal', { static: true, read: TemplateRef })\r\n inputFileModal: TemplateRef;\r\n @ViewChild('saveModal', { static: true, read: TemplateRef })\r\n saveModal: TemplateRef;\r\n \r\n\r\n testPlanStatusDisabled = false;\r\n userName: string;\r\n userEmail: string;\r\n validationStatus: string = \"\";\r\n\r\n private logger: log.AppInsightsLogger;\r\n private testPlanInstance: any;\r\n private testPlanName: string = \"\";\r\n private testPlanStatus: string = \"\";\r\n private testPlanCreatedOn: string = \"\";\r\n private testPlanOwner: string = \"\";\r\n private testPlanProjectName: string = \"\";\r\n private testPlanStartOn: string = \"\";\r\n private testPlanCompletedBy: string = \"\";\r\n private testPlanLastModified: string = \"\";\r\n private testPlanInstanceId: string = \"\";\r\n private testPlanId: number;\r\n country: string = \"\";\r\n partnerName: string = \"\";\r\n stateCode:string = \"\";\r\n isPartnerSet: boolean = false;\r\n isCountrySet: boolean = false;\r\n isStateSet: boolean = false;\r\n //variables for uploading SKUS\r\n selectedFile;\r\n lines: string[] = [];\r\n linesR: [];\r\n\r\n grid_use_levels: boolean = false;\r\n preStepsData: any[] = [];\r\n preStepsSchema: any = [];\r\n testCaseData: any[] = [];\r\n testCaseSchema: any = [];\r\n testCaseGridSchema: any = [];\r\n\r\n\r\n isLoading: boolean = true;\r\n selectedTestCases: any[] = [];\r\n projectID: any;\r\n testPlan: any;\r\n executionResult: any;\r\n excel: Blob;\r\n detailLinkMap = new Map();\r\n destroy$ = new Subject();\r\n buttonText = \"Execute\";\r\n pathReturned: any;\r\n emailBody: string;\r\n assignSkuResponse: any;\r\n saveButtonDisabled: boolean = false;\r\n testCasesDataJson = new TestCasesDataJson();\r\n downloadTestCaseJson: any[] = [];\r\n private dateString: string;\r\n excelData: any;\r\n organizationId: string;\r\n glossaryList: any[];\r\n is500error: boolean = false;\r\n testCaseDescription: string;\r\n testPlanDescription: string;\r\n prerequisitesDescription: string; \r\n\r\n // fields that are determined by UI config.\r\n showCountry: any;\r\n showState: any;\r\n showPartner: any;\r\n showTriggerValidation: any;\r\n showRerun: any;\r\n showTriggerNextStep: any;\r\n currentStepRank: any;\r\n showEmailExcelButton: any;\r\n selectedFileName: string = '';\r\n modal: any;\r\n saveSuccess: boolean=false;\r\n\r\n\r\n\r\n constructor(private excelService: ExcelFileService,\r\n private ngxLoader: NgxUiLoaderService,\r\n private msalService: MsalService,\r\n private configService: ConfigService,\r\n private uatDataService: UatAvailabilityService,\r\n private masterDataService: MasterDataService,\r\n private manageTestRunsService: ManageScenariosService,\r\n private testCaseProjectService: TestCaseProjectService,\r\n private modalService: NgbModal,\r\n private activatedRoute: ActivatedRoute,\r\n private router: Router,\r\n private httpClient: HttpClient,\r\n private orgService: OrgViewService,\r\n private descriptionService: DescriptionService) {\r\n this.logger = new log.AppInsightsLogger(configService, msalService);\r\n this.userName = this.msalService.instance.getActiveAccount().name;\r\n this.userEmail = this.msalService.instance.getActiveAccount().username;\r\n\r\n\r\n }\r\n\r\n ngOnInit() { \r\n this.loadGlossary();\r\n this.activatedRoute.paramMap.subscribe((params: ParamMap) => {\r\n this.processActiveRoute();\r\n });\r\n }\r\n\r\n processActiveRoute() {\r\n this.organizationId = window.sessionStorage.getItem(\"orgSelected\");\r\n let organizationId = this.activatedRoute.snapshot.params['org']|| \"\";\r\n if(organizationId != null && this.organizationId != organizationId){\r\n this.organizationId = organizationId;\r\n window.sessionStorage.setItem(\"orgSelected\", this.organizationId);\r\n }\r\n this.projectID = parseInt(this.activatedRoute.snapshot.params['projectId']);\r\n this.testPlanId = parseInt(this.activatedRoute.snapshot.params['testPlanId']);\r\n this.testPlanInstanceId = this.activatedRoute.snapshot.params['testPlanInstanceId'];\r\n\r\n //add this to configure the ui config fields\r\n this.configureTestPlanLayout();\r\n this.loadDataCore(this.testPlanInstanceId);\r\n }\r\n \r\n configureTestPlanLayout() {\r\n this.httpClient\r\n .get(\"./assets/configuration/testPlanConfig.json\")\r\n .subscribe((response) => {\r\n let layout = response.find(\r\n (config) => config[\"testPlanId\"] == this.testPlanId\r\n );\r\n if (layout != null) {\r\n this.showCountry = layout.topPanel.showCountry;\r\n this.showPartner = layout.topPanel.showPartner;\r\n this.showState = layout.topPanel.showState;\r\n this.showTriggerValidation = layout.buttons.triggerValidation;\r\n this.showRerun = layout.buttons.rerun;\r\n this.showTriggerNextStep = layout.buttons.triggerNextStep;\r\n this.showEmailExcelButton = layout.buttons.emailExcel;\r\n }\r\n });\r\n }\r\n\r\n\r\n loadGlossary() {\r\n this.descriptionService.getGlossary().subscribe((response: any[]) => {\r\n if (response != null) {\r\n this.glossaryList = response;\r\n }\r\n \r\n for (var i = 0; i < this.glossaryList.length; i++) {\r\n if (this.glossaryList[i].name == \"Test Case\") {\r\n this.testCaseDescription = this.glossaryList[i].description;\r\n } else if (this.glossaryList[i].name == \"Test Plan\") {\r\n this.testPlanDescription = this.glossaryList[i].description;\r\n } else if (this.glossaryList[i].name == \"Prerequisites\") {\r\n this.prerequisitesDescription = this.glossaryList[i].description;\r\n }\r\n }\r\n }, (error: any) => {\r\n if (error.status == 500) {\r\n this.is500error = true;\r\n }\r\n this.logger.trackTrace(`In Project, load Glossary Details Error`);\r\n this.logger.trackException(error);\r\n this.ngxLoader.stop();\r\n });\r\n }\r\n\r\n ngOnDestroy(): void {\r\n this.destroy$.next();\r\n this.destroy$.complete();\r\n }\r\n\r\n\r\n loadDataCore(testPlanInstanceId: string) {\r\n //when creating a new test plan instance \r\n if (testPlanInstanceId == \"newTestPlanInstance\") {\r\n this.isLoading = true;\r\n this.saveSuccess= false;\r\n //create new test plan instance request with test case instances//\r\n this.testPlanInstance = {};\r\n\r\n //TODO: <02-02-2022> Test Plan Status Logc status should be defined, e.g. if validation triggered in progress etc. \r\n this.testPlanStatus = Status.NOT_STARTED;\r\n \r\n this.setTestCaseSchema();\r\n this.getTestCasesFromProject();\r\n //TODO:PREREQ STEPS \r\n this.setCustomStepsSchema();\r\n this.createTestPlanPreSteps();\r\n \r\n }\r\n\r\n //if going to a already existing test plan instance\r\n else {\r\n this.isLoading = true;\r\n\r\n this.testCaseProjectService.getTestPlanInstance(this.testPlanInstanceId).subscribe((response: any) => {\r\n this.testPlanInstance = response;\r\n this.testPlanName = response.testPlanName;\r\n //TODO: <02-02-2022> Test Plan Status Logic status should be defined, e.g. if validation triggered in progress etc. \r\n this.testPlanStatus = response.status;\r\n this.testPlanCreatedOn = response.createDate;\r\n this.testPlanOwner = response.owner;\r\n this.testPlanStartOn = response.startDate;\r\n this.testPlanCompletedBy = response.createDate;\r\n this.testPlanLastModified = response.modifiedDate;\r\n //this.testPlanInstanceId = response.testPlanInstanceID;\r\n this.testCaseProjectService\r\n .getProjectTestCaseView(this.projectID)\r\n .subscribe(\r\n (response: any) => {\r\n if (response != null)\r\n this.testPlanProjectName = response[0].projectName;\r\n },\r\n (error: any) => {\r\n this.logger.trackTrace(\r\n `Error in Get Project in Test Plan Instance View: ${error}`\r\n );\r\n this.logger.trackException(error);\r\n }\r\n );\r\n \r\n this.testPlanId = response.testPlanID;\r\n if(response.testCaseInstances.length > 0 && response.testCaseInstances[0].correlationId != \"\"){ \r\n this.testCaseData = response.testCaseInstances;\r\n }\r\n else{\r\n this.testCaseData = [];\r\n }\r\n //this.testCaseData = response.testCaseInstances;\r\n this.excelData = this.testCaseData;\r\n this.createExcelData(this.excelData);\r\n\r\n //TODO: add country and partner\r\n try {\r\n this.country = response.countryCode || \"\";\r\n this.partnerName = response.customerName || \"\";\r\n this.stateCode = response.stateCode || \"\";\r\n\r\n if (this.partnerName != undefined && this.partnerName != \"\") {\r\n this.isPartnerSet = true;\r\n this.updateTestCasePartnerName();\r\n }\r\n if (this.country != undefined && this.country != \"\") {\r\n this.isCountrySet = true;\r\n }\r\n\r\n if (this.stateCode != undefined && this.stateCode != \"\") {\r\n this.isStateSet= true;\r\n }\r\n\r\n if(this.testPlanId != 1){\r\n this.testCaseData = this.testCaseData.filter(x=>x.testPlanPreStepInstanceId == null || x.testPlanPreStepInstanceId == undefined);\r\n for(var i = 0; i {\r\n }).catch((err) => {\r\n this.refreshPreStepsData();\r\n this.isLoading = false; \r\n });\r\n });\r\n\r\n if (testPlanInstanceId == \"newTestPlanInstance\") {\r\n this.saveSuccess = false;\r\n }\r\n else{\r\n this.saveSuccess = true;\r\n }\r\n }\r\n }\r\n\r\n \r\n //extracting data for simpleGrid. \r\n simpleGridData(data: any) {\r\n this.excelData = data;\r\n this.createExcelData(this.excelData);\r\n\r\n }\r\n\r\n private createExcelData(data: any) {\r\n this.downloadTestCaseJson = [];\r\n this.testCasesDataJson.testCaseDataArray = [];\r\n data.forEach(element => {\r\n let testCase = new TestCaseDataArray();\r\n testCase.Id = element.testCaseIdentifier;\r\n testCase.Name = element.testCaseName;\r\n testCase.Status = element.status;\r\n testCase.LastExecuted = element.createDate;\r\n this.testCasesDataJson.testCaseDataArray.push(testCase);\r\n });\r\n\r\n\r\n this.testCasesDataJson.testCaseDataArray.forEach(element => {\r\n var date;\r\n if (!element.LastExecuted.endsWith('Z')) {\r\n date = new Date(element.LastExecuted + 'Z');\r\n } else {\r\n date = new Date(element.LastExecuted);\r\n }\r\n this.dateString = date.toLocaleString([], { year: '2-digit', month: '2-digit', day: '2-digit', hour: '2-digit', minute: '2-digit' });\r\n\r\n element.LastExecuted = this.dateString;\r\n this.downloadTestCaseJson.push(element);\r\n });\r\n }\r\n\r\n /**\r\n * retriggers a clone of the selected run\r\n */\r\n onRerunClicked(){\r\n for (var testCase of this.selectedTestCases) {\r\n let request = new TestRunRetriggerInput();\r\n\r\n request.searchId = testCase.correlationId;\r\n request.userEmail = this.userEmail;\r\n request.userName = this.userName;\r\n request.TestPlanInstanceId = this.testPlanInstanceId;\r\n request.ProjectId = this.projectID;\r\n\r\n this.manageTestRunsService.rerunTestCase(request).subscribe(\r\n (response) => {\r\n if (response != null) {\r\n this.logger.trackTrace(\"Rerun test case successful.\");\r\n this.selectedTestCases = [];\r\n setTimeout(() => {\r\n this.refreshTestCaseData(); \r\n }, 1000);\r\n }\r\n },\r\n (error) => {\r\n this.logger.trackException(error);\r\n this.logger.trackTrace(\"Rerun test case: Some error occured.\");\r\n }\r\n );\r\n }\r\n\r\n \r\n }\r\n\r\n\r\n /**\r\n * Starts the next step of selected test cases\r\n */\r\n onTriggerNextStepClicked(){\r\n this.selectedTestCases.forEach((testCase) => {\r\n let request = new UpdateScenarioStepInput();\r\n request.correlationId = testCase.correlationId;\r\n\r\n //if manual step, mark as complete\r\n if (testCase.status.includes(\"User Action\")) {\r\n request.completeCurrentStep = true;\r\n }\r\n\r\n request.stepRank = testCase.currentStepRank;\r\n this.manageTestRunsService.startScenarioStep(request).subscribe(\r\n (response) => {\r\n if (response != null) {\r\n this.logger.trackTrace(\"Trigger next step successful.\");\r\n }\r\n },\r\n (error) => {\r\n this.logger.trackException(error);\r\n this.logger.trackTrace(\"Trigger next step : Some error occured.\");\r\n }\r\n );\r\n });\r\n\r\n setTimeout(()=>{\r\n this.refreshTestCaseData();\r\n this.selectedTestCases = [];\r\n }, 1000);\r\n\r\n }\r\n //Downloading the gird data to excel\r\n downloadExcel(){\r\n if(this.testPlanId == 1 ){\r\n try {\r\n const testPlanName :string = this.testPlanName.replace(/ /g,\"_\");\r\n let fileName: string = \"SCR_\" + testPlanName + \"_testcases\";\r\n if (this.downloadTestCaseJson != null) {\r\n this.excelService.exportAsExcelFile(4, this.downloadTestCaseJson, fileName);\r\n }\r\n } catch (error) {\r\n this.logger.trackTrace(`Some error occured while exportAsExcelFile.`);\r\n this.logger.trackException(error);\r\n }\r\n }\r\n else{\r\n this.downloadExcelResult(\"\", this.testPlanId);\r\n }\r\n\r\n }\r\n\r\n private async fetchDetailLink() {\r\n const promises = [];\r\n for (const element of this.testCaseData) {\r\n try{\r\n if (element.status != \"Not Started\") {\r\n let detailLink: string = element.detailLink;\r\n let correlationId = element.correlationId;\r\n \r\n // detail link should be a sub path under the Web root. If its empty, or an explicit resource (starts with http: or https:), don't process.\r\n if ((detailLink || \"\").length > 0\r\n && !detailLink.toLocaleLowerCase().startsWith(\"http:\") && !detailLink.toLocaleLowerCase().startsWith(\"https:\")) {\r\n const promise = this.testCaseProjectService.getDetailLink(detailLink).toPromise();\r\n promises.push(promise);\r\n }\r\n }\r\n }catch(Error){\r\n continue; \r\n }\r\n \r\n }\r\n\r\n const bb = await Promise.all(promises);\r\n for (const promise of bb) {\r\n try{\r\n const data = promise[0];\r\n const correlationId = this.testCaseData.find(x => x.testCaseIdentifier == data.testId)['correlationId'];\r\n this.detailLinkMap.set(correlationId, data);\r\n }catch(Error){\r\n continue;\r\n }\r\n \r\n }\r\n }\r\n\r\n private getTestPlanPreSteps() {\r\n var customSteps;\r\n this.testCaseProjectService.getTestPlanPreSteps(this.testPlanId).subscribe((resx: any) => {\r\n customSteps = resx;\r\n this.testCaseProjectService.getPreReqInstanceSteps(this.testPlanInstanceId).subscribe((response: any[]) => {\r\n if(response[0] == undefined){\r\n this.preStepsData = customSteps;\r\n //check of presteps data is not empty\r\n if(this.preStepsData.length != 0) {\r\n this.preStepsData.forEach(step => {\r\n step.status = Status.NOT_STARTED;\r\n step.buttonText = this.buttonText;\r\n step.testPlanInstanceId = this.testPlanInstanceId;\r\n delete step.testPlanId;\r\n this.computeValidationStatus()\r\n });\r\n }\r\n else {\r\n this.isLoading = false;\r\n if (this.testPlanInstanceId == \"newTestPlanInstance\") {\r\n this.saveSuccess = false;\r\n }\r\n else{\r\n this.saveSuccess = true;\r\n }\r\n }\r\n \r\n }\r\n else{\r\n this.preStepsData = response;\r\n this.preStepsData.forEach(step => {\r\n step.buttonText = \"Execute\";\r\n });\r\n this.computeValidationStatus();\r\n }\r\n });\r\n });\r\n }\r\n \r\n\r\n private createTestPlanPreSteps() {\r\n this.testCaseProjectService.getTestPlanPreSteps(this.testPlanId).subscribe((response: any) => {\r\n this.preStepsData = response;\r\n this.preStepsData.forEach(step => {\r\n step.status = Status.NOT_STARTED;\r\n step.buttonText = this.buttonText;\r\n step.createdAt = null;\r\n delete step.testPlanId;\r\n });\r\n this.preStepsData = JSON.parse(JSON.stringify(this.preStepsData));\r\n });\r\n\r\n }\r\n\r\n\r\n setTestCaseSchema() {\r\n //making this to be confgigurable by testPlanId. \r\n this.httpClient\r\n .get(\"./assets/configuration/testPlanGridConfig.json\")\r\n .subscribe((response) => {\r\n let gridSchema = JSON.parse(\r\n response.find(\r\n (config) => config[\"testPlanId\"] == this.testPlanId\r\n )[\"testCaseGridSchema\"]\r\n );\r\n if (gridSchema != null) {\r\n this.testCaseGridSchema = gridSchema;\r\n }\r\n });\r\n }\r\n\r\n //execute functionality for presteps\r\n // \r\n executeStep(row: any) {\r\n this.buttonText = \"Executing\";\r\n this.preStepsData.find(\r\n (step) =>\r\n step.testPlanPreStepInstanceId == row.testPlanPreStepInstanceId\r\n ).buttonText = this.buttonText;\r\n switch (row.testPlanPreStepCode.toUpperCase()) {\r\n case \"CR001\": { \r\n this.executeUploadedFile(\r\n row.testPlanPreStepId,\r\n row.testPlanPreStepInstanceId\r\n );\r\n break;\r\n }\r\n case \"CR002\": {\r\n this.assignSku(row);\r\n this.preStepsData = JSON.parse(JSON.stringify(this.preStepsData));\r\n break;\r\n }\r\n case \"CR003\": {\r\n this.postSNValidation(row);\r\n this.preStepsData = JSON.parse(JSON.stringify(this.preStepsData));\r\n break;\r\n }\r\n case \"XDL001\": {\r\n this.preStepsData = JSON.parse(JSON.stringify(this.preStepsData));\r\n this.executeUploadedFile(\r\n row.testPlanPreStepCode,\r\n row.testPlanPreStepInstanceId\r\n );\r\n break;\r\n }\r\n case \"XDL002\": {\r\n this.preStepsData = JSON.parse(JSON.stringify(this.preStepsData));\r\n this.executeUploadedFile(row.testPlanPreStepCode, null);\r\n break;\r\n }\r\n default:\r\n }\r\n }\r\n\r\n\r\n assignSku(row) {\r\n let request = new TestPlanPreStepInstance(row);\r\n\r\n this.testCaseProjectService.assignSku(request).subscribe((response) => {\r\n if (response != null) {\r\n this.assignSkuResponse = response;\r\n this.refreshPreStepsData();\r\n } else {\r\n this.logger.trackTrace(`Assign SKU Some error occured.`);\r\n }\r\n }, (error) => {\r\n this.logger.trackTrace(`Assign SKU Some error occured.`);\r\n this.logger.trackException(error);\r\n });\r\n }\r\n\r\n\r\n async postSNValidation(row: any) {\r\n const request = new SNValidationRequest();\r\n request.RequesterEmail = this.userEmail;\r\n request.RequesterName = this.userName;\r\n request.TestPlanInstanceId = this.testPlanInstanceId;\r\n request.TestPlanPreStepInstance = new TestPlanPreStepInstance(row);\r\n\r\n this.testCaseProjectService.postSNValidation(request).subscribe((response: any) => {\r\n this.executionResult = response;\r\n this.refreshPreStepsData();\r\n });\r\n }\r\n\r\n setCustomStepsSchema() {\r\n if(this.testPlanId == 1){\r\n this.preStepsSchema = [\r\n {\r\n label: 'Step',\r\n class: 'col-3 col-xl-3',\r\n filterType: 'string',\r\n key: 'stepName',\r\n isEditable: false\r\n },\r\n \r\n \r\n {\r\n label: 'Status',\r\n class: 'col col-xl',\r\n filterType: 'status',\r\n key: 'status',\r\n isEditable: false,\r\n columnParameters: {\r\n }\r\n //filterOptions: \"Status\"\r\n },\r\n {\r\n label: 'ETA',\r\n class: 'col col-xl',\r\n filterType: 'date',\r\n key: 'etaDateTime',\r\n isEditable: false,\r\n //filterOptions: \"Status\"\r\n },\r\n {\r\n label: 'Sample Input',\r\n class: 'col col-xl with-button',\r\n filterType: 'download-link',\r\n key: 'downloadLink',\r\n },\r\n {\r\n label: 'Upload Input',\r\n class: 'col col-xl with-button',\r\n filterType: 'upload-link',\r\n key: 'uploadLink',\r\n },\r\n {\r\n label: 'Action',\r\n class: 'col col-xl with-button',\r\n filterType: 'custom-event',\r\n key: '',\r\n isEditable: false,\r\n columnParameters: {\r\n onCustomEventClicked: (row: any) => { this.executeStep(row); },\r\n }\r\n },\r\n {\r\n label: 'Download Result',\r\n class: 'col col-xl with-button',\r\n filterType: 'string',\r\n key: 'validSKUs'\r\n },\r\n {\r\n label: 'Validation Progress',\r\n class: 'col col-xl with-button',\r\n filterType: 'string',\r\n key: 'validationStatus'\r\n }\r\n ];\r\n } else {\r\n this.preStepsSchema = [\r\n {\r\n label: 'Step',\r\n class: 'col-3 col-xl-3',\r\n filterType: 'string',\r\n key: 'stepName',\r\n isEditable: false\r\n },\r\n {\r\n label: 'Status',\r\n class: 'col col-xl',\r\n filterType: 'status',\r\n key: 'status',\r\n isEditable: false,\r\n columnParameters: {\r\n }\r\n //filterOptions: \"Status\"\r\n },\r\n {\r\n label: 'ETA',\r\n class: 'col col-xl',\r\n filterType: 'date',\r\n key: 'etaDateTime',\r\n isEditable: false,\r\n //filterOptions: \"Status\"\r\n },\r\n {\r\n label: 'Sample Input',\r\n class: 'col col-xl with-button',\r\n filterType: 'download-link',\r\n key: 'downloadLink',\r\n },\r\n {\r\n label: 'Upload Input',\r\n class: 'col col-xl with-button',\r\n filterType: 'upload-link',\r\n key: 'uploadLink',\r\n },\r\n {\r\n label: 'Action',\r\n class: 'col col-xl with-button',\r\n filterType: 'custom-event',\r\n key: '',\r\n isEditable: false,\r\n columnParameters: {\r\n onCustomEventClicked: (row: any) => { this.executeStep(row); },\r\n }\r\n },\r\n {\r\n label: 'Download Result',\r\n class: 'col col-xl with-button',\r\n filterType: 'string',\r\n key: 'validSKUs'\r\n },\r\n ];\r\n }\r\n \r\n }\r\n\r\n\r\n //current validation of serial number\r\n getPreStepStatus(row: any, response: any) {\r\n switch (response.stepStatus) {\r\n case \"Error\":\r\n row.status = Status.FAILED;\r\n break;\r\n\r\n case \"Pending\":\r\n row.status = Status.PENDING;\r\n break;\r\n\r\n case \"In Progress\":\r\n row.status = Status.IN_PROGRESS;\r\n break;\r\n\r\n case \"InProgress\":\r\n row.status = Status.IN_PROGRESS;\r\n break;\r\n\r\n case \"Complete\":\r\n row.status = Status.COMPLETED;\r\n break;\r\n case \"Completed\":\r\n row.status = Status.COMPLETED;\r\n break;\r\n\r\n default:\r\n row[\"status\"] = Status.NOT_STARTED;\r\n\r\n\r\n }\r\n\r\n this.preStepsData = JSON.parse(JSON.stringify(this.preStepsData));\r\n }\r\n\r\n get TestCaseGrid() {\r\n return this.testCaseData;\r\n }\r\n\r\n get TestCaseGridSchema() {\r\n return this.testCaseGridSchema;\r\n }\r\n\r\n get PreStepsGrid() {\r\n return this.preStepsData;\r\n }\r\n\r\n get PreStepsSchema() {\r\n return this.preStepsSchema;\r\n }\r\n\r\n\r\n //this function exists for future configuration, if there are different button labels needed. \r\n getButtonText() {\r\n\r\n return \"Execute\";\r\n\r\n }\r\n\r\n\r\n\r\n onFileSelected(event: File) {\r\n this.selectedFile = event;\r\n this.openModal(this.inputFileModal);\r\n }\r\n\r\n\r\n /**\r\n * Executes the uploaded file in presteps for different types of files. \r\n */\r\n private executeUploadedFile(stepCode:string, testPlanPreStepInstanceId:string) {\r\n const preStepIndex: number = this.preStepsData.findIndex(\r\n (step) => step.testPlanPreStepCode == stepCode\r\n );\r\n if (this.selectedFile == null) {\r\n window.alert(\"No file is selected. Please upload a file first.\");\r\n this.preStepsData[preStepIndex].buttonText = \"Execute\";\r\n this.preStepsData = JSON.parse(JSON.stringify(this.preStepsData));\r\n return;\r\n }\r\n\r\n const fileName = this.selectedFile.name.toLowerCase();\r\n const isXlsFile = fileName.indexOf(\"xls\") > 0;\r\n const isCsvFile = fileName.indexOf(\"csv\") > 0;\r\n\r\n if (isCsvFile) {\r\n this.uploadSKUs();\r\n } else if (isXlsFile) {\r\n this.uploadInputToBulkUpload(testPlanPreStepInstanceId, stepCode, preStepIndex);\r\n }\r\n }\r\n\r\n private uploadInputToBulkUpload(testPlanPreStepInstanceId: string, stepCode: string, preStepIndex: number) {\r\n let reader = new FileReader();\r\n reader.readAsArrayBuffer(this.selectedFile);\r\n reader.onload = (e) => {\r\n let data: ArrayBuffer = reader.result as ArrayBuffer;\r\n const excelData = new Uint8Array(data);\r\n const arr = new Array();\r\n for (let i = 0; i < excelData.length; ++i) {\r\n arr[i] = String.fromCharCode(excelData[i]);\r\n }\r\n\r\n const workbook = XLSX.read(arr.join(\"\"), { type: \"binary\" });\r\n let sheetTabName = \"Input Sheet\";\r\n\r\n let sheetJsonData = XLSX.utils.sheet_to_json(\r\n workbook.Sheets[sheetTabName],\r\n { raw: false }\r\n );\r\n let excelUploadInput = new TestRunBulkUploadInput();\r\n excelUploadInput.sheetJsonData = JSON.stringify(sheetJsonData);\r\n excelUploadInput.testPlanInstanceId = this.testPlanInstanceId;\r\n excelUploadInput.testPlanPreStepInstanceId =\r\n testPlanPreStepInstanceId;\r\n excelUploadInput.projectId = this.projectID;\r\n excelUploadInput.userEmail = this.userEmail;\r\n excelUploadInput.userName = this.userName;\r\n excelUploadInput.testRunName = sheetJsonData[0][\"Scenario Name\"];\r\n this.selectedFile = null;\r\n this.manageTestRunsService\r\n .testRunsBulkUpload(excelUploadInput)\r\n .subscribe(\r\n (response) => {\r\n if (response != null &&\r\n (!response.errors || response.errors.length === 0)) {\r\n if (stepCode.toUpperCase() == \"XDL001\") {\r\n this.preStepsData[preStepIndex].status = Status.PENDING;\r\n } else if (stepCode.toUpperCase() == \"XDL002\") {\r\n this.preStepsData[preStepIndex].status = Status.COMPLETE;\r\n }\r\n if (this.preStepsData[preStepIndex].stepStartDate == null) {\r\n this.preStepsData[preStepIndex].stepStartDate =\r\n new Date().toISOString();\r\n }\r\n \r\n this.preStepsData[preStepIndex].buttonText = \"Execute\";\r\n this.preStepsData = [... this.preStepsData];\r\n this.storePreSteps();\r\n setTimeout(() => {\r\n this.refreshPreStepsData();\r\n this.refreshTestCaseData();\r\n }, 2000);\r\n }\r\n },\r\n (error) => {\r\n this.preStepsData[preStepIndex].buttonText = \"Execute\";\r\n this.preStepsData = JSON.parse(\r\n JSON.stringify(this.preStepsData)\r\n );\r\n this.logger.trackException(error),\r\n this.logger.trackTrace(\r\n \"Some error occured: Bulk Upload Test Plan Execution:\" +\r\n error\r\n );\r\n }\r\n );\r\n };\r\n }\r\n\r\n private uploadSKUs() {\r\n let productRequestList = new ProductRequestList();\r\n productRequestList.ProductRequest = [];\r\n //read skus from file\r\n let reader = new FileReader();\r\n reader.readAsText(this.selectedFile);\r\n reader.onload = (e) => {\r\n let csv: any = reader.result;\r\n let allTextLines = [];\r\n allTextLines = csv.split(/\\r|\\n|\\r/);\r\n\r\n const addOneSku = (sku) => new Promise((resolve) => setTimeout(\r\n () => resolve(\r\n this.addSkuToProductRequestList(sku, productRequestList)\r\n ),\r\n 100\r\n )\r\n );\r\n const addAllSkus = async () => {\r\n for (var line of allTextLines) {\r\n if (line != \"\" && line != null) {\r\n await addOneSku(line);\r\n }\r\n }\r\n this.postSKUsForValidation(productRequestList);\r\n };\r\n\r\n addAllSkus();\r\n };\r\n }\r\n\r\n private postSKUsForValidation(productRequestList: ProductRequestList) {\r\n\r\n this.masterDataService.validateSku(productRequestList.ProductRequest).subscribe(async (response: string[]) => {\r\n if (response != null && response.length > 0) {\r\n await this.computeValidationStatus();\r\n setTimeout(()=> this.refreshPreStepsData(), 3000);\r\n response.forEach(element => {\r\n this.logger.trackTrace(`SKU Validation for SKU:${{element}}completed Successfully`);\r\n });\r\n\r\n\r\n } else {\r\n this.logger.trackTrace(`SKU Validation Some error occured, sku list submitted for validation`);\r\n }\r\n }, (error) => {\r\n this.logger.trackTrace(`SKU Validation Some error occured, sku list submitted for validation`);\r\n this.logger.trackException(error)\r\n });\r\n }\r\n\r\n private addSkuToProductRequestList(line: any, productRequestList: ProductRequestList) {\r\n let productRequest = new ProductRequest();\r\n line = line.trim();\r\n productRequest.sku = line;\r\n productRequest.TestPlanInstanceId = this.testPlanInstanceId;\r\n productRequest.RequestedBy = this.userEmail; \r\n if (this.country != \"\") {\r\n productRequest.country = this.country;\r\n }\r\n productRequestList.ProductRequest.push(productRequest);\r\n return Promise.resolve({});\r\n }\r\n \r\n downloadSampleInput(testPlanPreStepCode:string) {\r\n let fileName: string = \"SampleInputFile\";\r\n this.testCaseProjectService\r\n .downloadSampleInput(testPlanPreStepCode)\r\n .subscribe(\r\n (response) => {\r\n if (response != null) {\r\n if (this.testPlanId == 1) {\r\n let file = new Blob([response], { type: \"text/csv\" });\r\n saveAs(file, fileName);\r\n } else {\r\n let file = new Blob([response], {\r\n type: \"application/vnd.openxmlformats-officedocument.spreadsheetml.sheet\",\r\n });\r\n saveAs(file, fileName);\r\n }\r\n }\r\n },\r\n (error) => {\r\n this.logger.trackTrace(\r\n `Some error occured on excel template download: ${error}`\r\n );\r\n this.logger.trackException(error);\r\n }\r\n );\r\n }\r\n\r\n downloadStepResponse(testPlanPreStepCode:string) {\r\n switch (testPlanPreStepCode.toUpperCase()) {\r\n case \"CR001\":\r\n this.downloadValidatedSkus();\r\n break;\r\n\r\n case \"CR002\":\r\n this.downloadResponseAsJSON(this.preStepsData[1].testCaseValidationResponse);\r\n break;\r\n\r\n case \"CR003\":\r\n this.downloadResponseAsJSON(this.executionResult);\r\n\r\n case \"XDL001\":\r\n this.downloadExcelResult(testPlanPreStepCode, 0);\r\n\r\n default:\r\n break;\r\n }\r\n }\r\n\r\n downloadExcelResult(testPlanPreStepCode:string, testPlanId:number) {\r\n let fileName = \"\";\r\n let testPlanInstanceId = this.testPlanInstanceId;\r\n let testPlanPreStepInstanceId = null;\r\n let testPlanPreStepId = 0;\r\n if(testPlanPreStepCode != \"\") {\r\n fileName = \"OrderCreation_\" + this.testPlanName;\r\n let prestepFound = this.preStepsData.find((x) => x.testPlanPreStepCode == testPlanPreStepCode);\r\n testPlanPreStepInstanceId = prestepFound.testPlanPreStepInstanceId;\r\n testPlanPreStepId = prestepFound.testPlanPreStepId;\r\n } else {\r\n fileName = \"TestRunDetails_\" + this.testPlanName;\r\n }\r\n this.testCaseProjectService\r\n .downloadExcel(\r\n testPlanId,\r\n testPlanPreStepId,\r\n testPlanInstanceId,\r\n testPlanPreStepInstanceId\r\n )\r\n .subscribe(\r\n (response: any) => {\r\n if (response != null) {\r\n let file = new Blob([response], {\r\n type: \"application/vnd.openxmlformats-officedocument.spreadsheetml.sheet\",\r\n });\r\n saveAs(file, fileName);\r\n }\r\n },\r\n (error) => {\r\n this.logger.trackTrace(\r\n `Some error occured on prestep excel result download: ${error}`\r\n );\r\n this.logger.trackException(error);\r\n }\r\n ); \r\n }\r\n\r\n downloadValidatedSkus() {\r\n let skusData = [];\r\n this.testCaseProjectService.getValidatedSkus(this.testPlanInstanceId).subscribe((response: any) => {\r\n skusData = response;\r\n this.computeValidationHelper(skusData);\r\n const a = document.createElement(\"a\");\r\n a.href = URL.createObjectURL(new Blob([JSON.stringify(skusData, null, 2)], {\r\n type: \"text/plain\"\r\n }));\r\n a.setAttribute(\"download\", \"validatedSKUs.txt\");\r\n document.body.appendChild(a);\r\n a.click();\r\n document.body.removeChild(a);\r\n });\r\n }\r\n\r\n downloadResponseAsJSON(response:any){\r\n const a = document.createElement(\"a\");\r\n a.href = URL.createObjectURL(new Blob([JSON.stringify(response, null, 2)], {\r\n type: \"text/plain\"\r\n }));\r\n a.setAttribute(\"download\", \"response.txt\");\r\n document.body.appendChild(a);\r\n a.click();\r\n document.body.removeChild(a);\r\n }\r\n \r\n async computeValidationStatus() {\r\n this.isLoading = false;\r\n if (this.testPlanInstanceId == \"newTestPlanInstance\") {\r\n this.saveSuccess = false;\r\n }\r\n else{\r\n this.saveSuccess = true;\r\n }\r\n this.testCaseProjectService.getValidatedSkus(this.testPlanInstanceId).subscribe(async (response: any) => {\r\n var skusData = response;\r\n const waitForValidation = (skusData)=> new Promise((resolve) => resolve(this.computeValidationHelper(skusData)));\r\n await waitForValidation(skusData);\r\n \r\n });\r\n }\r\n\r\n computeValidationHelper(skusData: any) {\r\n var completed: number = 0;\r\n skusData.forEach(element => {\r\n if (element.validationStatus == \"Completed\") {\r\n completed = completed + 1;\r\n }\r\n });\r\n\r\n this.validationStatus = completed.toString() + \"/\" + skusData.length.toString();\r\n\r\n if (completed == skusData.length && completed != 0 && this.testPlanId == 1) {\r\n this.preStepsData[0].status = Status.COMPLETED;\r\n if(this.preStepsData[0].stepCompleteDate == null) {\r\n this.preStepsData[0].stepCompleteDate = new Date().toISOString();\r\n }\r\n }\r\n else if (skusData.length != 0 && this.testPlanId == 1) {\r\n this.preStepsData[0].status = Status.IN_PROGRESS;\r\n \r\n if(this.preStepsData[0].stepStartDate == null) {\r\n this.preStepsData[0].stepStartDate = new Date().toISOString();\r\n }\r\n }\r\n else if(this.testPlanId == 1){\r\n this.preStepsData[0].status = Status.NOT_STARTED;\r\n }\r\n this.storePreSteps();\r\n this.preStepsData = JSON.parse(JSON.stringify(this.preStepsData));\r\n return Promise.resolve({});\r\n }\r\n\r\n onSaveTestPlanInstance() {\r\n\r\n if (this.testPlanInstance != undefined) {\r\n this.saveTestPlanInstance();\r\n }\r\n\r\n }\r\n\r\n private saveTestPlanInstance() { \r\n this.manageTestRunsService.ngxLoaderConfig.text = 'Test Plan Saving Please Wait.....';\r\n this.ngxLoader.start();\r\n let request = new TestPlanInstanceRequest();\r\n this.saveButtonDisabled = true;\r\n this.testPlanInstance.countryCode = this.country;\r\n this.testPlanInstance.stateCode = this.stateCode;\r\n this.testPlanInstance.status = this.testPlanStatus;\r\n this.testPlanInstance.customerName = this.partnerName;\r\n request.testPlanInstance = this.testPlanInstance;\r\n this.testCaseProjectService.storeTestPlanInstance(request).subscribe((response: any) => {\r\n if (response != null) {\r\n if (response != this.testPlanInstanceId && response != \"\") {\r\n this.preStepsData.forEach(step => {\r\n step.testPlanInstanceId = response;\r\n });\r\n this.storePreSteps();\r\n }\r\n this.saveButtonDisabled = false; \r\n this.ngxLoader.stop();\r\n if (this.testPlanInstanceId == \"newTestPlanInstance\") {\r\n this.saveSuccess = false;\r\n }\r\n else{\r\n this.saveSuccess = true;\r\n }\r\n this.openModal(this.saveModal);\r\n this.logger.trackTrace(`Test Plan Instance stored succesfully!`);\r\n this.router.navigate(['/test-case-view', {'org':this.organizationId, 'projectId': this.projectID, 'testPlanId':this.testPlanId, 'testPlanInstanceId':response}]);\r\n } else {\r\n this.saveButtonDisabled = false;\r\n this.logger.trackTrace(`Store Test Plan Instance Some error occured.`);\r\n }\r\n }, (error) => { \r\n this.saveButtonDisabled = false;\r\n this.logger.trackTrace(`Store Test Plan Instance Some error occured: ${error}`);\r\n this.logger.trackException(error);\r\n });\r\n }\r\n\r\n private updateTestCasePartnerName() {\r\n this.testCaseData.forEach(testCase => {\r\n var inputParameterObject = JSON.parse(testCase.inputParameter);\r\n if (inputParameterObject.partnerName != this.partnerName) {\r\n inputParameterObject.partnerName = this.partnerName;\r\n testCase.inputParameter = JSON.stringify(inputParameterObject);\r\n this.saveTestCaseInstance(testCase);\r\n }\r\n });\r\n\r\n this.testCaseData = JSON.parse(JSON.stringify(this.testCaseData));\r\n\r\n }\r\n\r\n updateInputParameters(event: any[]) {\r\n const correlationId = event[0];\r\n const inputParameters = event[1];\r\n this.testCaseData.forEach(element => {\r\n if (element.correlationId == correlationId) {\r\n element.inputParameter = inputParameters;\r\n this.saveTestCaseInstance(element);\r\n return;\r\n }\r\n });\r\n }\r\n\r\n private openModal(content: any) {\r\n this.modalService.open(content).result.then( (result) => { \r\n console.log(\"Closed with \"+ result); \r\n this.refreshPreStepsData();\r\n },\r\n (reason) =>{\r\n console.log(\"Dismissed\");\r\n this.refreshPreStepsData();\r\n this.selectedFile = null;\r\n });\r\n }\r\n\r\n saveTestCaseInstance(testCaseInstance) {\r\n let inputParameter: string = testCaseInstance.inputParameter;\r\n testCaseInstance.inputParameter = inputParameter.replace(/\\\\/g, '');\r\n let request = new TestCaseInstanceRequest();\r\n request.testCaseInstances = [testCaseInstance];\r\n this.testCaseProjectService.storeTestCaseInstance(request).subscribe((response: any) => {\r\n if (response != null && response.length > 0) {\r\n this.logger.trackTrace(`Test Case Instance stored succesfully!`)\r\n } else {\r\n this.logger.trackTrace(`Store Test Case Instance Some error occured.`);\r\n }\r\n }, (error) => {\r\n this.logger.trackTrace(`Store Test Case Instance Some error occured: ${error}`);\r\n this.logger.trackException(error)\r\n });\r\n\r\n }\r\n \r\n onValidationClicked() {\r\n let request = new UpdateScenarioStepInput();\r\n this.selectedTestCases.forEach(testCase => {\r\n\r\n request.correlationId = testCase.correlationId;\r\n request.stepRank = 1;\r\n this.testCaseProjectService.triggerValidation(request).subscribe((response: any) => {\r\n if (response != null && response == true) {\r\n this.testCaseData.forEach(element => {\r\n if (element.correlationId == testCase.correlationId) {\r\n element.status = Status.START;\r\n }\r\n });\r\n\r\n this.testCaseData = JSON.parse(JSON.stringify(this.testCaseData));\r\n this.logger.trackTrace(`Triggered validation succesfully!`);\r\n } else {\r\n this.logger.trackTrace(`Trigger validation some error occured`);\r\n }\r\n }, (error) => {\r\n this.logger.trackTrace(`Trigger Validaton Some error occured:${error}`);\r\n this.logger.trackException(error);\r\n });\r\n });\r\n this.selectedTestCases = [];\r\n }\r\n\r\n onTestCaseSelectionChanged(rowsSelected: any[]) {\r\n this.selectedTestCases = rowsSelected || [];\r\n }\r\n\r\n //creates new test plan instance \r\n private createNewTestPlanInstance() {\r\n this.testPlanInstance = new TestPlanInstance();\r\n this.testPlanInstance.TestCaseInstances = this.testPlanId == 1 ? this.testCaseData : [];\r\n this.testPlanInstance.testPlanID = this.testPlanId;\r\n this.testPlanCreatedOn = new Date().toISOString();\r\n this.testPlanCompletedBy = new Date().toISOString();\r\n this.testPlanStartOn = new Date().toISOString();\r\n\r\n //TODO <02-02-2022> How these following fields shoud be filled, or if it shoudl be editable from UI needs to be discussed.\r\n\r\n this.testPlanInstance.TestPlanDescription = \"\";\r\n this.testPlanInstance.CustomerName = \"\";\r\n this.testPlanInstance.CustomerType = \"\";\r\n this.testPlanInstance.createDate = new Date().toISOString();\r\n this.testPlanInstance.startDate = new Date().toISOString();\r\n this.testPlanInstance.endDate = new Date().toISOString();\r\n this.testPlanInstance.owner = this.userName.trim();\r\n this.isLoading = false;\r\n if (this.testPlanInstanceId == \"newTestPlanInstance\") {\r\n this.saveSuccess = false;\r\n }\r\n else{\r\n this.saveSuccess = true;\r\n }\r\n }\r\n\r\n //creates 1 new test case intance given a test case template\r\n createNewTestCaseInstance(testCase: any) {\r\n let newTestCaseInstance = new TestCaseInstance();\r\n let keys = Object.keys(testCase);\r\n keys.forEach(key => {\r\n if (newTestCaseInstance.hasOwnProperty(key)) {\r\n newTestCaseInstance[key] = testCase[key];\r\n }\r\n });\r\n\r\n\r\n newTestCaseInstance.testCaseId = testCase.testCaseID;\r\n newTestCaseInstance.userEmail = this.userEmail;\r\n newTestCaseInstance.userName = this.userName.trim();\r\n newTestCaseInstance.projectId = this.projectID;\r\n\r\n //correlationID will be returned after saving. \r\n newTestCaseInstance.correlationId = \"\";\r\n\r\n //TODO: <02-02-2022> The status logic should be discussed, this assignment could be wrong.\r\n newTestCaseInstance.status = Status.NOT_STARTED;\r\n\r\n //TODO: 24 Jan 2022 \r\n\r\n newTestCaseInstance.createDate = new Date().toISOString();\r\n\r\n //TODO: <02-02-2022> endDate and Startdate should be discussed. \r\n newTestCaseInstance.startDate = new Date().toISOString();\r\n newTestCaseInstance.endDate = new Date().toISOString();\r\n newTestCaseInstance.TestCaseDescription = \"\";\r\n this.testCaseData.push(newTestCaseInstance);\r\n }\r\n\r\n //Creates new test case *instances* from the test cases template\r\n createNewTestCaseInstances(testCases: any[]) {\r\n this.isLoading = true;\r\n testCases.forEach(testCase => { (this.createNewTestCaseInstance(testCase)) });\r\n\r\n setTimeout(() => {\r\n this.createNewTestPlanInstance();\r\n\r\n },\r\n 1000);\r\n\r\n }\r\n\r\n\r\n //Gets test cases *template* from project view, for a specific test Plan in that project (unique testPlanID) \r\n getTestCasesFromProject() {\r\n this.testCaseProjectService.getProjectTestCaseView(this.projectID).subscribe((response: any) => {\r\n this.projectID = response[0].projectID;\r\n this.testPlanProjectName = response[0].projectName;\r\n this.testPlan = response[0].testPlans.find(testPlan => testPlan.testPlanID == this.testPlanId);\r\n const testCases: any[] = response[0].testPlans.find(testPlan => testPlan.testPlanID == this.testPlanId).testCases;\r\n this.createNewTestCaseInstances(testCases);\r\n }, (error:any)=>{\r\n this.logger.trackTrace(`Error in Get Test Cases in Test Plan Instance View: ${error}`);\r\n this.logger.trackException(error);\r\n });\r\n }\r\n\r\n refreshTestCaseData() {\r\n //this.isLoading = true;\r\n this.testCaseProjectService.getTestPlanInstance(this.testPlanInstanceId).subscribe((response: any) => {\r\n this.testPlanInstance = response;\r\n this.testPlanName = response.testPlanName;\r\n this.testPlanStatus = response.status;\r\n this.testPlanCreatedOn = response.createDate;\r\n this.testPlanOwner = response.owner;\r\n this.testPlanStartOn = response.startDate;\r\n this.testPlanCompletedBy = response.endDate;\r\n this.testPlanLastModified = response.modifiedDate;\r\n this.testPlanId = response.testPlanID;\r\n if(response.testCaseInstances.length > 0 && response.testCaseInstances[0].correlationId != \"\"){ \r\n this.testCaseData = response.testCaseInstances;\r\n }\r\n else{\r\n this.testCaseData = [];\r\n }\r\n if(this.testPlanId != 1 ){\r\n this.testCaseData = this.testCaseData.filter(x=>x.testPlanPreStepInstanceId == null || x.testPlanPreStepInstanceId == undefined);\r\n for(var i = 0; i x.status != \"\");\r\n var curStep = filteredSteps.pop();\r\n const currentStep = curStep.componentName;\r\n if(currentStep.includes(\"Manual\")){\r\n if(this.testCaseData[i].currentStepStatus == \"Complete\"){\r\n this.testCaseData[i].status = \"Complete\";\r\n }\r\n else{\r\n this.testCaseData[i].status = \"Pending User Action\";\r\n }\r\n }else{\r\n this.testCaseData[i].status = curStep.status;\r\n }\r\n this.testCaseData[i].currentStepRank = curStep.stepRank;\r\n this.testCaseData[i].currentStep = currentStep;\r\n }\r\n }\r\n this.fetchDetailLink();\r\n this.testCaseData = JSON.parse(JSON.stringify(this.testCaseData));\r\n }, (error:any)=>{\r\n this.logger.trackTrace(`Error in Get Test Case Instances in Test Plan Instance View: ${error}`);\r\n this.logger.trackException(error);\r\n });\r\n\r\n }\r\n\r\n refreshPreStepsData() {\r\n this.getTestPlanPreSteps(); \r\n }\r\n\r\n\r\n storePreSteps() {\r\n var request = JSON.parse(JSON.stringify(this.preStepsData));\r\n request.forEach(step => {\r\n delete step.buttonText;\r\n delete step.stepName;\r\n delete step.stepDescription;\r\n });\r\n this.testCaseProjectService.storePreReqSteps(request).subscribe((response: any[]) => {\r\n\r\n },(error)=>{\r\n this.logger.trackTrace(`Some error occured on storing pre-steps. ${error}`)\r\n this.logger.trackException(error);\r\n });\r\n }\r\n\r\n public exportAsExcelFile(): void {\r\n let fileName:string = \"CommercialReporting-\"+this.testPlanInstanceId;\r\n this.testCaseProjectService.populateExcel(this.testPlanInstanceId).subscribe((response)=>{\r\n if(response != null){\r\n let file = new Blob([response], { type: 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet' });\r\n saveAs(file, fileName); \r\n }\r\n \r\n },(error) => {\r\n this.logger.trackTrace(`Some error occured on excel template download: ${error}`)\r\n this.logger.trackException(error);\r\n });\r\n\r\n \r\n this.testCaseProjectService.getEmailBody().subscribe((response) =>{\r\n if(response != null){\r\n var emailBody = response;\r\n this.emailBody = emailBody.replace(\"\", fileName+\".xlsx\");\r\n window.location.href = \"mailto:\"+\"\"+\"?subject=\"+\"Commercial Reporting Excel\"+\"&body=\"+this.emailBody;\r\n }\r\n },(error) => {\r\n this.logger.trackTrace(`Some error occured on email body download: ${error}`)\r\n this.logger.trackException(error);\r\n });\r\n }\r\n\r\n getUrlParamsForProject(){\r\n return {\r\n \"org\": this.organizationId,\r\n \"projectId\":this.projectID,\r\n }\r\n }\r\n}\r\n\r\n","
\r\n
\r\n \r\n
\r\n
\r\n Loading ... Please Wait\r\n
\r\n
\r\n
\r\n \r\n \r\n

\r\n Test Plan\r\n \r\n \r\n \r\n :\r\n

\r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n Save Test Plan \r\n \r\n \r\n
\r\n
\r\n \r\n
\r\n Status: \r\n \r\n
\r\n\r\n
\r\n Owner: {{ testPlanOwner }}\r\n
\r\n
\r\n Test Plan ID:\r\n {{ testPlanInstanceId }}\r\n
\r\n
\r\n
\r\n
\r\n Project Name: \r\n {{ testPlanProjectName }}\r\n
\r\n
\r\n Created On: \r\n \r\n \r\n
\r\n
\r\n Last Modified: \r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n Partner Name: \r\n \r\n \r\n \r\n
\r\n
\r\n Country Code: \r\n \r\n \r\n {{ this.country }}\r\n
\r\n
\r\n State Code: \r\n \r\n \r\n {{ this.stateCode }}\r\n \r\n
\r\n
\r\n
\r\n \r\n\r\n
\r\n
\r\n Prerequisites\r\n \r\n \r\n \r\n
\r\n
\r\n \r\n \r\n \r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n\r\n
\r\n
\r\n Test Cases\r\n \r\n \r\n \r\n
\r\n
\r\n \r\n \r\n \r\n Rerun\r\n {{\r\n (this.selectedTestCases || []).length > 0\r\n ? \"(\" + (this.selectedTestCases || []).length + \")\"\r\n : \"\"\r\n }}\r\n \r\n \r\n \r\n \r\n \r\n \r\n Trigger Validation\r\n {{\r\n (this.selectedTestCases || []).length > 0\r\n ? \"(\" + (this.selectedTestCases || []).length + \")\"\r\n : \"\"\r\n }}\r\n \r\n \r\n \r\n \r\n \r\n \r\n Trigger Next Step{{\r\n (this.selectedTestCases || []).length > 0\r\n ? \"(\" + (this.selectedTestCases || []).length + \")\"\r\n : \"\"\r\n }}\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n\r\n\r\n\r\n
\r\n
\r\n \r\n Test Plan Instance Stored!\r\n \r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n Changes to \"{{ this.testPlanInstance.testPlanName }}\" stored.\r\n
\r\n
\r\n \r\n
\r\n
\r\n\r\n\r\n
\r\n
\r\n \r\n File Selected:{{ selectedFileName }}\r\n \r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n

\r\n Please click \"Execute\" after submitting the file to run the step.\r\n

\r\n
\r\n

Do you wish to submit this file?

\r\n
\r\n
\r\n \r\n
\r\n
\r\n\r\n\r\n
\r\n
Creating a New Test Plan
\r\n \r\n ×\r\n \r\n
\r\n
\r\n Please enter a test plan name:\r\n \r\n
\r\n
\r\n \r\n Cancel\r\n \r\n \r\n Save\r\n \r\n
\r\n\r\n","import { Component, ViewChild, ViewContainerRef, ComponentRef, AfterViewInit } from '@angular/core';\r\nimport { FieldType } from '@ngx-formly/core';\r\nimport { FormlyCustomComponentsService } from '../../../service/formly-custom-components.service';\r\n\r\n/**\r\n * Custom Component for ngx-formly which can fetch an input from another Formly field, process it with a user-passed-in function,\r\n * to.buttonText: Text to be displayed on button\r\n * to.inputWidth: Sets the width of the field\r\n * to.inputText: Field Description & Placeholder-text\r\n * to.userInputEnabled: Enable optional user-input field (disabled by default)\r\n * to.inputFieldBinding: Button function will be input-bound to this formly-config/formControl field key e.g. 'partNumber'\r\n * to.inputFieldBindings: Button function will be input-bound to these formly-config/formControl field keys e.g. ['country', 'tiers']\r\n * to.outputFieldBinding: Button function will be output-bound to this formly-config/formControl field key e.g. 'hardwarePartNumber'\r\n * to.componentBinding: Name of the Angular component to be linked\r\n * (A component can be added to the formly-custom-components.service.ts to be dynamically imported for use by this button component)\r\n * to.componentFunction: A function can be passed to the button to perform a mapping of input value to output value\r\n * to.componentOutputBinding: Binding to a subscribable output field of the component (e.g. EventEmitter<>)\r\n * i.e. form.controls[inputFieldBinding] -> form.controls[outputFieldBinding]\r\n */\r\n@Component({\r\n selector: 'formly-button',\r\n template: `\r\n \r\n
\r\n \r\n {{to.buttonText}}\r\n \r\n \r\n \r\n  — OR — \r\n \r\n \r\n {{this.inputText}}\r\n \r\n This field is required\r\n \r\n
\r\n \r\n `\r\n})\r\n\r\nexport class FormlyButtonComponent extends FieldType implements AfterViewInit {\r\n @ViewChild('dynamicChildComponent', { read: ViewContainerRef, static: true})\r\n public dynamicChildComponent: ViewContainerRef;\r\n\r\n dynamicComponentRef: ComponentRef;\r\n dynamicOutputSubscription: any;\r\n showButtonPreloader = false;\r\n disableButton = true;\r\n inputText: string;\r\n inputWidth: string;\r\n\r\n constructor(\r\n public formlyCustomComponentService: FormlyCustomComponentsService) {\r\n super();\r\n }\r\n\r\n ngAfterViewInit() {\r\n this.inputText = this.to.inputText == null ? '' : this.to.inputText;\r\n this.inputWidth = this.to.inputWidth == null ? '50%' : this.to.inputWidth;\r\n\r\n // Dynamically load components after view init\r\n this.formlyCustomComponentService\r\n .loadComponent(this.dynamicChildComponent, this.to.componentBinding)\r\n .then(x => {\r\n this.dynamicComponentRef = x;\r\n });\r\n this.disableButton = false;\r\n }\r\n\r\n /**\r\n * Executes a function from the dynamic component using references provided by input parameters\r\n * @param outputFieldBinding Output field to which function output is exported to\r\n * @param inputFieldBinding Input field to which function input is bound to\r\n * @param inputFieldBindings Input fields to which function input is bound to\r\n * @param componentFunction Function of the dynamic component to be executed\r\n * @param componentOutputBinding Output field of the dynamic component's function\r\n */\r\n onClick(\r\n inputFieldBinding: string|string[],\r\n outputFieldBinding: string,\r\n componentFunction: string,\r\n componentOutputBinding: string) {\r\n\r\n this.showButtonPreloader = true;\r\n let inputFieldVal = null;\r\n let inputFieldVals = [];\r\n if (typeof(inputFieldBinding)==='string') {\r\n inputFieldVal = this.form.get(inputFieldBinding).value;\r\n }\r\n if (typeof(inputFieldBinding)==='object') {\r\n inputFieldBinding.forEach(inputFieldBinding => {\r\n inputFieldVals.push(this.form.get(inputFieldBinding).value);\r\n });\r\n }\r\n\r\n\r\n let output = '';\r\n if (componentFunction == null) {\r\n output = inputFieldVal; // input maps directly to output, no processing performed\r\n } else if (inputFieldVal) {\r\n this.dynamicComponentRef.instance[componentFunction].call(this.dynamicComponentRef.instance, inputFieldVal);\r\n } else if (inputFieldVals.length > 0) { \r\n this.dynamicComponentRef.instance[componentFunction].apply(this.dynamicComponentRef.instance, inputFieldVals);\r\n } else if (inputFieldVal == null && inputFieldVals.length == 0) {\r\n this.dynamicComponentRef.instance[componentFunction].call(this.dynamicComponentRef);\r\n } else {\r\n throw new Error('Invalid input field binding(s) provided');\r\n }\r\n\r\n this.dynamicOutputSubscription = this.dynamicComponentRef.instance[componentOutputBinding].subscribe(dynamicOutput => {\r\n this.form.get(outputFieldBinding).setValue(dynamicOutput);\r\n this.showButtonPreloader = false;\r\n });\r\n\r\n }\r\n\r\n}\r\n","import { Component, OnInit } from '@angular/core';\r\nimport { OrderService } from '../service/order.service';\r\nimport { OrderList } from '../model/order-list.model';\r\nimport { OrderListRequest } from '../model/order-list-request.model';\r\nimport { Constants } from '../service/constant.service';\r\nimport { ActivatedRoute, Router } from '@angular/router';\r\nimport { AuthService } from '../service/auth.service';\r\nimport { ConfigService } from '../service/config.service';\r\nimport { BaseComponent } from '../base/base.component';\r\nimport { MonitoringService } from '../service/monitoring.service';\r\n\r\n@Component({\r\n selector: 'app-order-list',\r\n templateUrl: './order-list.component.html',\r\n styleUrls: ['./order-list.component.css']\r\n})\r\nexport class OrderListComponent extends BaseComponent implements OnInit {\r\n\r\n testRunName: string;\r\n customerPurchaseOrder: string;\r\n fromDate: any;\r\n toDate: any;\r\n collectionSize: number;\r\n page: number;\r\n orderList: OrderList;\r\n orderListRequest: OrderListRequest;\r\n testRunId: string;\r\n showLoader = true;\r\n name: string;\r\n email: string;\r\n alias: string;\r\n\r\n ngOnInit() {\r\n this.route.queryParams.subscribe(params => {\r\n this.testRunId = params.testRunId;\r\n });\r\n\r\n if (!this.authService.isOrderViewEnabled()) {\r\n this.router.navigate(['/', 'landing-page']);\r\n }\r\n\r\n this.page = 1;\r\n this.orderList = new OrderList();\r\n this.orderList.orderListItems = [];\r\n\r\n this.setDefaultDates();\r\n this.orderListRequest = this.getOrderListRequest();\r\n this.updateOrderList();\r\n }\r\n\r\n constructor(private orderService: OrderService,\r\n private route: ActivatedRoute,\r\n private authService: AuthService,\r\n private router: Router,\r\n private configService: ConfigService,\r\n private monitoringService: MonitoringService) {\r\n super(monitoringService);\r\n }\r\n\r\n onSearchClick() {\r\n if (this.testRunId) {\r\n this.fromDate = null;\r\n this.toDate = null;\r\n } else if (this.customerPurchaseOrder) {\r\n this.fromDate = null;\r\n this.toDate = null;\r\n } else {\r\n if (this.fromDate == null && this.toDate == null) {\r\n this.setDefaultDates();\r\n }\r\n }\r\n\r\n this.orderListRequest = this.getOrderListRequest();\r\n this.updateOrderList();\r\n }\r\n\r\n getOrderListRequest(skip = 0, take = Constants.DefaultPageSize, sortOrder = Constants.SortOrderDescending) {\r\n let orderListRequest = new OrderListRequest();\r\n orderListRequest.testRunId = null;\r\n orderListRequest.customerPurchaseOrder = null;\r\n orderListRequest.startDate = null;\r\n orderListRequest.endDate = null;\r\n\r\n if (this.testRunId) {\r\n orderListRequest.testRunId = this.testRunId;\r\n } else if (this.customerPurchaseOrder) {\r\n orderListRequest.customerPurchaseOrder = this.customerPurchaseOrder;\r\n } else {\r\n let startDate = this.getFormattedDate(this.fromDate);\r\n startDate.setUTCHours(0, 0, 0, 0);\r\n orderListRequest.startDate = startDate.toJSON();\r\n\r\n let endDate = this.getFormattedDate(this.toDate);\r\n endDate.setUTCHours(24, 0, 0, 0);\r\n orderListRequest.endDate = endDate.toJSON();\r\n }\r\n\r\n orderListRequest.skip = skip;\r\n orderListRequest.take = take;\r\n orderListRequest.sortOrder = sortOrder;\r\n\r\n return orderListRequest;\r\n }\r\n\r\n getFormattedDate(inputDate: any) {\r\n let newDate = new Date();\r\n newDate = new Date(inputDate.year, inputDate.month - 1, inputDate.day);\r\n return newDate;\r\n }\r\n\r\n updateOrderList() {\r\n this.showLoader = true;\r\n this.orderList.orderListItems = [];\r\n this.orderService.getOrdersList(this.orderListRequest).subscribe((response) => {\r\n this.orderList = response;\r\n this.collectionSize = this.orderList.totalCount;\r\n this.showLoader = false;\r\n });\r\n }\r\n\r\n onPageChanged() {\r\n this.orderListRequest.skip = (this.page - 1) * 10;\r\n this.orderListRequest.take = 10;\r\n this.updateOrderList();\r\n }\r\n\r\n setDefaultDates() {\r\n let todaysDate = new Date();\r\n let fifteenDaysOldDate = new Date();\r\n fifteenDaysOldDate.setDate(fifteenDaysOldDate.getDate() - 7);\r\n\r\n this.fromDate = { 'year': fifteenDaysOldDate.getUTCFullYear(), 'month': fifteenDaysOldDate.getUTCMonth() + 1, 'day': fifteenDaysOldDate.getUTCDate() };\r\n this.toDate = { 'year': todaysDate.getUTCFullYear(), 'month': todaysDate.getUTCMonth() + 1, 'day': todaysDate.getUTCDate() };\r\n }\r\n}\r\n","
\r\n

Orders

\r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
Customer Purchase OrderTimestamp
\r\n \r\n
{{ order.customerPurchaseOrderNumber }}\r\n {{ order.lastModifiedAt | date:'medium'}}
\r\n\r\n \r\n
\r\n","export class TestRunRequest {\r\n public testRunName: string;\r\n public customerPurchaseOrder: string;\r\n public startDate: string;\r\n public endDate: string;\r\n public sortOrder: string;\r\n public skip: number;\r\n public take: number;\r\n}\r\n","import { UATAvailability } from '../model/uatAvailability.model';\r\nimport { HttpClient } from '@angular/common/http';\r\nimport { Injectable } from '@angular/core';\r\nimport { ConfigService } from './config.service';\r\n\r\n@Injectable()\r\nexport class UatAvailabilityService {\r\n\r\n constructor(private httpClient: HttpClient, private configService: ConfigService) {\r\n }\r\n\r\n getUATAvailability(businessProcessameDetails: string) {\r\n var baseUrlWithVersion = this.configService.omtestSuiteAPI.baseUrl + '/api/' + this.configService.omtestSuiteAPI.apiVersion;\r\n return this.httpClient.get(baseUrlWithVersion + '/uatAvailability/' + businessProcessameDetails);\r\n }\r\n}\r\n","import { HttpClient } from '@angular/common/http';\r\nimport { Injectable } from '@angular/core';\r\nimport { ConfigService } from './config.service';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class ScgService {\r\n\r\n constructor(private httpClient: HttpClient, private configService: ConfigService) { }\r\n onPostToSCG(postSCGRequest:any,transactionType:string) {\r\n let header = {\r\n \"Content-Type\": 'application/json'\r\n }\r\n const baseUrlWithVersion = this.configService.omtestSuiteAPI.baseUrl + '/api/' + this.configService.omtestSuiteAPI.apiVersion; \r\n return this.httpClient.post(baseUrlWithVersion + `/scg?transactionType=${transactionType}`, postSCGRequest,{headers:header});\r\n }\r\n}\r\n","import { Component, OnInit } from '@angular/core';\r\nimport { MasterDataService } from '../service/masterdata.service';\r\nimport { PagerService } from '../service/pager.service';\r\nimport { SKUNumberList } from '../model/skunumberlist.model';\r\nimport { Constants } from '../service/constant.service';\r\nimport { MsalService } from '@azure/msal-angular';\r\nimport { SkuNumberSearchRequest } from '../model/skunumbersearchrequest.model';\r\nimport { DescriptionService } from '../service/description.service';\r\n\r\nimport { ConfigService } from '../service/config.service';\r\nimport * as log from '../AppInsightsLogger';\r\n\r\nimport { ApplicationInsights } from '@microsoft/applicationinsights-web';\r\n\r\n@Component({\r\n selector: 'app-sku-number-list',\r\n templateUrl: './sku-number-list.component.html',\r\n styleUrls: ['./sku-number-list.component.css']\r\n})\r\nexport class SkuNumberListComponent implements OnInit {\r\n\r\n skuNumberList: SKUNumberList;\r\n skuNumberText: string;\r\n skuText: string;\r\n fromDate: any;\r\n toDate: any;\r\n collectionSize: number;\r\n page: number;\r\n showLoader = true;\r\n skuNumberSearchRequest: SkuNumberSearchRequest;\r\n name: string\r\n private logger: log.AppInsightsLogger;\r\n pageDetails: any[];\r\n pageDescription: string;\r\n\r\n constructor(private descriptionService: DescriptionService, private masterDataService: MasterDataService, private pagerService: PagerService, private msalService: MsalService, private configService: ConfigService) {\r\n this.name = this.msalService.instance.getActiveAccount().name;\r\n this.logger = new log.AppInsightsLogger(configService, msalService);\r\n }\r\n\r\n ngOnInit() {\r\n this.setOrgData();\r\n this.page = 1;\r\n this.skuNumberList = new SKUNumberList();\r\n this.skuNumberList.skuNumberListItems = [];\r\n this.setDefaultDates();\r\n this.skuNumberSearchRequest = this.getSkuNumberSearchRequest();\r\n this.updateSkuNumberSearch();\r\n this.logger.trackTrace(`Successfully landed to Sku Number List`);\r\n\r\n this.descriptionService.pageDetailsTools().subscribe((response: any[]) => {\r\n this.pageDetails = response;\r\n this.pageDetails.forEach(element => {\r\n if (element.toolName == \"Search SKU\") {\r\n this.pageDescription = element.toolDescription\r\n }\r\n });\r\n });\r\n }\r\n\r\n\r\n setOrgData() {\r\n window.sessionStorage.setItem(\"orgSelected\", \"1\");\r\n }\r\n \r\n onSearchClick() {\r\n if (this.skuNumberText) {\r\n this.fromDate = null;\r\n this.toDate = null;\r\n }\r\n else if (this.skuText) {\r\n this.fromDate = null;\r\n this.toDate = null;\r\n }\r\n else {\r\n if (this.fromDate == null && this.toDate == null) {\r\n this.setDefaultDates();\r\n }\r\n }\r\n\r\n this.skuNumberList.skuNumberListItems = [];\r\n this.skuNumberSearchRequest = this.getSkuNumberSearchRequest();\r\n this.updateSkuNumberSearch();\r\n }\r\n\r\n getSkuNumberSearchRequest(skip = 0, take = Constants.DefaultPageSize, sortOrder = Constants.SortOrderDescending) {\r\n var skuNumberSearchRequest = new SkuNumberSearchRequest();\r\n if (this.skuNumberText) {\r\n skuNumberSearchRequest.sku = this.skuNumberText;\r\n\r\n }\r\n else if (this.skuText) {\r\n skuNumberSearchRequest.sku = this.skuText;\r\n }\r\n else {\r\n var startDate = this.getFormattedDate(this.fromDate);\r\n startDate.setUTCHours(0, 0, 0, 0);\r\n skuNumberSearchRequest.startDate = startDate.toJSON();\r\n\r\n var endDate = this.getFormattedDate(this.toDate);\r\n endDate.setUTCHours(24, 0, 0, 0);\r\n skuNumberSearchRequest.endDate = endDate.toJSON();\r\n }\r\n\r\n skuNumberSearchRequest.skip = skip;\r\n skuNumberSearchRequest.take = take;\r\n skuNumberSearchRequest.sortOrder = sortOrder;\r\n return skuNumberSearchRequest;\r\n }\r\n\r\n getFormattedDate(inputDate: any): Date {\r\n var newDate = new Date(Date.UTC(inputDate.year, inputDate.month - 1, inputDate.day));\r\n return newDate;\r\n }\r\n\r\n updateSkuNumberSearch() {\r\n this.showLoader = true;\r\n this.skuNumberList.skuNumberListItems = [];\r\n this.masterDataService.getSkuNumberList(this.skuNumberSearchRequest).subscribe((response) => {\r\n this.skuNumberList = response;\r\n this.collectionSize = this.skuNumberList.totalCount;\r\n this.showLoader = false;\r\n });\r\n }\r\n\r\n onPageChanged() {\r\n this.skuNumberSearchRequest.skip = (this.page - 1) * 10;\r\n this.skuNumberSearchRequest.take = 10;\r\n this.updateSkuNumberSearch();\r\n }\r\n\r\n setDefaultDates() {\r\n var todaysDate = new Date();\r\n var fifteenDaysOldDate = new Date();\r\n fifteenDaysOldDate.setDate(fifteenDaysOldDate.getDate() - 7);\r\n this.fromDate = { 'year': fifteenDaysOldDate.getUTCFullYear(), 'month': fifteenDaysOldDate.getUTCMonth() + 1, 'day': fifteenDaysOldDate.getUTCDate() };\r\n this.toDate = { 'year': todaysDate.getUTCFullYear(), 'month': todaysDate.getUTCMonth() + 1, 'day': todaysDate.getUTCDate() };\r\n }\r\n}\r\n","
\r\n

SKU Number Search

\r\n
\r\n
\r\n Description:\r\n

{{this.pageDescription}}

\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
SKUHardWarePartNumberCountry CodeIn OnePDMIn MDSIn OERIn PDSIn ECCNPI Validation Message
{{ skuNumber.sku }}{{ skuNumber.hardwarePartNumber }}{{ skuNumber.countryCode }}{{ skuNumber.inOnePDM }}{{ skuNumber.inMDS }}{{ skuNumber.inOER }}{{ skuNumber.inPDS }}{{ skuNumber.inECC }}{{ skuNumber.npiValidationMessage }}
\r\n
\r\n \r\n
\r\n","import { Component, Directive, forwardRef, Inject, Input, OnInit } from '@angular/core';\r\nimport {MsalCustomNavigationClient, MsalGuardConfiguration, MsalService, MSAL_GUARD_CONFIG} from '@azure/msal-angular';\r\nimport { MsalBroadcastService } from '@azure/msal-angular';\r\nimport { ConfigService } from './service/config.service';\r\nimport { Validator, AbstractControl, NG_VALIDATORS, Validators, ValidatorFn } from '@angular/forms';\r\nimport { Constants } from './service/constant.service';\r\nimport { ActivatedRoute, Router } from '@angular/router';\r\nimport { AuthService } from './service/auth.service';\r\nimport { ManageScenariosService } from './service/manage-scenarios.service';\r\nimport { Location } from \"@angular/common\";\r\nimport { InteractionStatus, RedirectRequest } from '@azure/msal-browser';\r\nimport { Subject } from 'rxjs';\r\nimport { filter, takeUntil } from 'rxjs/operators';\r\n\r\n@Component({\r\n selector: 'app-root',\r\n templateUrl: './app.component.html',\r\n styleUrls: ['./app.component.css']\r\n})\r\nexport class AppComponent implements OnInit {\r\n title = 'SCE Test Platform';\r\n sub: any;\r\n environment: string;\r\n isNavCollapsed: boolean;\r\n isIframe = false;\r\n private readonly _destroying$ = new Subject();\r\n loginDisplay = false;\r\n\r\n ngOnInit() {\r\n this.isIframe = window !== window.parent && !window.opener;\r\n //this.loginRedirect();\r\n\r\n this.msalBroadcastService.inProgress$\r\n .pipe(\r\n filter((status: InteractionStatus) => status === InteractionStatus.None),\r\n takeUntil(this._destroying$)\r\n )\r\n .subscribe(() => {\r\n this.checkAndSetActiveAccount();\r\n })\r\n\r\n this.sub = this.route.queryParams.subscribe(params => {\r\n this.environment = params['env'];\r\n if (this.environment == Constants.EnvironmentProd) {\r\n this.configService.switchEnvironment(Constants.EnvironmentProd)\r\n } else if (this.environment == Constants.EnvironmentUAT) {\r\n this.configService.switchEnvironment(Constants.EnvironmentUAT);\r\n } else if (this.environment == Constants.EnvironmentCI) {\r\n this.configService.switchEnvironment(Constants.EnvironmentCI);\r\n }\r\n });\r\n this.checkAndSetActiveAccount();\r\n this.isNavCollapsed = false;\r\n }\r\n\r\n constructor(\r\n @Inject(MSAL_GUARD_CONFIG) private msalGuardConfig: MsalGuardConfiguration,\r\n private msalService: MsalService,\r\n private msalBroadcastService: MsalBroadcastService,\r\n private configService: ConfigService,\r\n private route: ActivatedRoute,\r\n private authService: AuthService,\r\n public router: Router, \r\n private location: Location,\r\n public manageScenarioService: ManageScenariosService) {\r\n\r\n // custom navigation set for client-side navigation\r\n const customNavigationClient = new MsalCustomNavigationClient(msalService, this.router, this.location);\r\n this.msalService.instance.setNavigationClient(customNavigationClient);\r\n this.configService.switchEnvironment(Constants.EnvironmentUAT);\r\n this.authService.getTokenFromService(this.configService.selectedEnvironment).then((res) => {\r\n this.configService.omtestSuiteAPI.accessToken = res.accessToken;\r\n }, (err) => {\r\n throw err;\r\n });\r\n }\r\n\r\n checkAndSetActiveAccount(){\r\n /**\r\n * If no active account set but there are accounts signed in, sets first account to active account\r\n * To use active account set here, subscribe to inProgress$ first in your component\r\n * Note: Basic usage demonstrated. Your app may require more complicated account selection logic\r\n */\r\n let activeAccount = this.msalService.instance.getActiveAccount();\r\n setTimeout(()=>{},200000000);\r\n if (!activeAccount && this.msalService.instance.getAllAccounts().length > 0) {\r\n let accounts = this.msalService.instance.getAllAccounts();\r\n this.msalService.instance.setActiveAccount(accounts[0]);\r\n }\r\n \r\n }\r\n\r\n receiveNavCollapseMessage($event: boolean) {\r\n this.isNavCollapsed = $event;\r\n }\r\n\r\n\r\n ngOnDestroy(): void {\r\n this._destroying$.next(null);\r\n this._destroying$.complete();\r\n }\r\n\r\n}\r\n@Directive({\r\n selector: '[min][formControlName],[min][formControl],[min][ngModel]',\r\n providers: [\r\n {\r\n provide: NG_VALIDATORS,\r\n useExisting: forwardRef(() => MinDirective),\r\n multi: true\r\n }\r\n ]\r\n})\r\nexport class MinDirective implements Validator {\r\n private _validator: ValidatorFn;\r\n @Input() public set min(value: string) {\r\n this._validator = Validators.min(parseInt(value, 10));\r\n }\r\n\r\n public validate(control: AbstractControl): { [key: string]: any } {\r\n return this._validator(control);\r\n }\r\n}\r\n\r\n@Directive({\r\n selector: '[max][formControlName],[max][formControl],[max][ngModel]',\r\n providers: [\r\n {\r\n provide: NG_VALIDATORS,\r\n useExisting: forwardRef(() => MaxDirective),\r\n multi: true\r\n }\r\n ]\r\n})\r\nexport class MaxDirective implements Validator {\r\n private _validator: ValidatorFn;\r\n @Input() public set max(value: string) {\r\n this._validator = Validators.max(parseInt(value, 10));\r\n }\r\n\r\n public validate(control: AbstractControl): { [key: string]: any } {\r\n return this._validator(control);\r\n }\r\n\r\n\r\n}\r\n","\r\n\r\n\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n
\r\n \r\n
\r\n \r\n \r\n
\r\n","import { OutputTriggerRequest } from \"../model/outputtrigger.model\";\r\nimport { HttpClient, HttpHeaders } from \"@angular/common/http\";\r\nimport { Injectable } from \"@angular/core\";\r\nimport { ConfigService } from \"./config.service\";\r\n\r\n@Injectable()\r\nexport class SAPService {\r\n\r\n constructor(private httpClient: HttpClient, private configService: ConfigService) {\r\n }\r\n\r\n postSAPOutPutTrigger(outputTriggerRequest: OutputTriggerRequest) {\r\n const baseUrlWithVersion = this.configService.omtestSuiteAPI.baseUrl + '/api/' + this.configService.omtestSuiteAPI.apiVersion;\r\n return this.httpClient.post(baseUrlWithVersion + '/SAP/sapoutputtrigger', outputTriggerRequest);\r\n }\r\n}\r\n","import { HttpClient } from '@angular/common/http';\r\nimport { Injectable } from '@angular/core';\r\nimport { ConfigService } from './config.service';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class InventoryServiceService {\r\n\r\n constructor(private httpClient: HttpClient, private configService: ConfigService) { }\r\n \r\n inventoryMockShipmentRequest(inventoryMockRequest:any) {\r\n const baseUrlWithVersion = this.configService.omtestSuiteAPI.baseUrl + '/api/' + this.configService.omtestSuiteAPI.apiVersion;\r\n return this.httpClient.post(baseUrlWithVersion + '/scgmockers/mockinventoryadjustment', inventoryMockRequest);\r\n }\r\n inventorySnapshotFSLMockerRequest(inventorySnapshotFSLMockerRequest:any) {\r\n const baseUrlWithVersion = this.configService.omtestSuiteAPI.baseUrl + '/api/' + this.configService.omtestSuiteAPI.apiVersion;\r\n return this.httpClient.post(baseUrlWithVersion + '/InventorySnapshotMock', inventorySnapshotFSLMockerRequest);\r\n } \r\n}\r\n","import { LoadPlanMockRequest } from '../model/loadplan.model';\r\nimport { HttpClient } from '@angular/common/http';\r\nimport { Injectable } from '@angular/core';\r\nimport { LoadPlanResponse } from '../model/loadplanresponse.model';\r\nimport { ConfigService } from './config.service';\r\n\r\n@Injectable()\r\nexport class LoadPlanService {\r\n\r\n constructor(private httpClient: HttpClient, private configService: ConfigService) {\r\n }\r\n\r\n postMockLoadPlanRequest(loadPlanMockRequest: LoadPlanMockRequest) {\r\n const baseUrlWithVersion = this.configService.omtestSuiteAPI.baseUrl + '/api/' + this.configService.omtestSuiteAPI.apiVersion;\r\n return this.httpClient.post(baseUrlWithVersion + '/loadplanmock', loadPlanMockRequest);\r\n }\r\n}\r\n","import { HttpClient } from '@angular/common/http';\r\nimport { Injectable } from '@angular/core';\r\nimport { Organization } from '../model/org-view.model';\r\nimport { ConfigService } from './config.service';\r\n\r\n@Injectable()\r\nexport class OrgViewService {\r\n\r\n \r\n constructor(private httpClient: HttpClient, private configService: ConfigService) {\r\n }\r\n\r\n getOrganizations() {\r\n const baseUrlWithVersion = this.configService.omtestSuiteAPI.baseUrl + '/api/' + this.configService.omtestSuiteAPI.apiVersion;\r\n return this.httpClient.get(baseUrlWithVersion + '/OrganizationView/getorganizations');\r\n\r\n }\r\n \r\n getOrganizationsFromConfig(){\r\n return this.httpClient.get('./assets/configuration/organizationData.json', { responseType: 'text' });\r\n }\r\n\r\n getprojects(organizationId: number){\r\n const baseUrlWithVersion = this.configService.omtestSuiteAPI.baseUrl + '/api/' + this.configService.omtestSuiteAPI.apiVersion;\r\n return this.httpClient.get(baseUrlWithVersion + `/OrganizationView/getprojects?OrganizationId=${organizationId}`);\r\n\r\n }\r\n\r\n \r\n \r\n}\r\n","export class InventoryAdjMockRequest{\r\n public MessageType:string;\r\n public Parameters:Parameter;\r\n}\r\nexport class Parameter{\r\n public Action:string;\r\n public Sender:string;\r\n public SenderPlant:string;\r\n public AdjustmentDetail:AdjDetail[];\r\n\r\n}\r\n\r\nexport class AdjDetail{\r\n public AdjustmentExplanation:string;\r\n public AdjustmentTypeName :string;\r\n public FromLocation :string;\r\n public ItemSKU :string;\r\n public QuantityAdjusted :string;\r\n public ToLocation :string;\r\n public TypeOfAdjustment :string;\r\n public VendorItemSKU :string;\r\n\r\n}","import { Component, OnInit } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'app-generate-mapper-string',\r\n templateUrl: './generate-mapper-string.component.html',\r\n styleUrls: ['./generate-mapper-string.component.css']\r\n})\r\nexport class GenerateMapperStringComponent implements OnInit {\r\njsonInputValue:any=null;\r\njsonOutputValue:any=null;\r\ninputJson:any = null;\r\noutputJson:any = null;\r\ninputSelection:any = null;\r\noutputSelection:any = null;\r\nmappings = [];\r\nselectedElements = [];\r\ncolorIndex = 0;\r\ncolors = ['yellow', 'lightblue', 'lightgreen', 'lightcoral', 'lightpink', 'lightgray'];\r\ninputItems: any;\r\noutputItems: any;\r\n mappingValue: string;\r\n constructor() { }\r\n\r\n ngOnInit(): void {\r\n }\r\n \r\n loadJson() {\r\n try {\r\n this.inputJson = JSON.parse(this.jsonInputValue);\r\n this.outputJson = JSON.parse(this.jsonOutputValue);\r\n this.displayJson();\r\n } catch (error) {\r\n alert('Invalid JSON. Please check your input and try again.');\r\n }\r\n}\r\ndisplayJson() {\r\n \r\nthis.inputItems=this.renderObj(this.inputJson,[]);\r\n this.outputItems=this.renderObj(this.outputJson,[]);\r\n \r\n}\r\nrenderObj(obj,items, path='', level=0) {\r\n \r\n let html = '';\r\n for (let key in obj) {\r\n let newPath = path ? `${path}.${key}` : key;\r\n if (typeof obj[key] === 'object') {\r\n items.push({ key: key, value: '', path: newPath, level: level });\r\n this.renderObj(obj[key], items,newPath, level + 1);\r\n } else {\r\n items.push({ key: key, value: obj[key], path: newPath, level: level });\r\n }\r\n }\r\n return items;\r\n}\r\n\r\nselectField(event, type) {\r\n let path = event.target.getAttribute('data-path');\r\n if (!path) return; // Ignore clicks that don't correspond to a field\r\n \r\n let element = event.target;\r\n if (type === 'input') {\r\n this.inputSelection = path;\r\n } else {\r\n this.outputSelection = path;\r\n }\r\n\r\n this.selectedElements.push(element);\r\n element.style.backgroundColor = this.colors[this.colorIndex];\r\n\r\n if (this.inputSelection && this.outputSelection) {\r\n this.mappings.push({\r\n input: { type: \"JSON\", key: this.inputSelection },\r\n output: { type: \"JSON\", paths: [`$.${this.outputSelection.replace(/\\.(\\d+)/g, '[$1]')}`] }\r\n });\r\n this.inputSelection = null;\r\n this.outputSelection = null;\r\n this.colorIndex = (this.colorIndex + 1) % this.colors.length; // Move to the next color in the list\r\n this.selectedElements = [];\r\n }\r\n}\r\ngenerateMapping() {\r\n this.mappingValue = JSON.stringify(this.mappings, null, 2);\r\n}\r\n\r\nclearMappings() {\r\n this.mappings = [];\r\n this.mappingValue = JSON.stringify(this.mappings, null, 2);\r\n this.loadJson();\r\n}\r\n}\r\n","\r\n\r\n\r\n
\r\n \r\n
\r\n {{ item.key }}: {{ item.value }}\r\n
\r\n \r\n
\r\n \r\n
\r\n {{ item.key }}: {{ item.value }}\r\n
\r\n
\r\n
\r\n\r\n
{{mappingValue}}
\r\n","import { Injectable } from '@angular/core';\r\nimport { Constants } from './constant.service';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class LoadplanmockerService {\r\n\r\n constructor() { }\r\n getEntityNumberArray(entityNumbers: string,model:any): string[] {\r\n let entityNumberArrayUntrimmed: string[];\r\n let entityNumberArrayTrimmed: string[];\r\n\r\n if (model.loadplanMocker.loadplanMode == Constants.LoadPlanModeSync) {\r\n entityNumberArrayUntrimmed = entityNumbers.split(',');\r\n\r\n } else if (model.loadplanMocker.loadplanMode == Constants.LoadPlanModeLoad) {\r\n entityNumberArrayUntrimmed = entityNumbers.replace(/\\r/g, '').split('\\n');\r\n }\r\n\r\n entityNumberArrayTrimmed = [];\r\n entityNumberArrayUntrimmed.forEach(element => {\r\n if (element != null) {\r\n entityNumberArrayTrimmed.push(element.trim());\r\n }\r\n });\r\n\r\n return entityNumberArrayTrimmed;\r\n }\r\n getBatchedArrays(array: string[], batchSize: number) {\r\n const batchedArrays = [];\r\n\r\n while (array.length > 0) {\r\n batchedArrays.push(array.splice(0, batchSize));\r\n }\r\n\r\n return batchedArrays;\r\n }\r\n}\r\n","import { Component, OnInit, Input, Output, EventEmitter, ViewChild, ElementRef } from '@angular/core';\r\nimport { JsonEditorComponent, JsonEditorOptions} from 'ang-jsoneditor';\r\nimport { NgbModal, NgbModalOptions } from '@ng-bootstrap/ng-bootstrap';\r\nimport { TemplateRef } from '@angular/core';\r\nimport { FormlyFormOptions, FormlyFieldConfig } from '@ngx-formly/core';\r\nimport { FormGroup } from '@angular/forms';\r\nimport { isArray } from 'util';\r\n\r\n@Component({\r\n selector: 'app-edit-parameter',\r\n templateUrl: './edit-parameter.component.html',\r\n styleUrls: ['./edit-parameter.component.css']\r\n})\r\nexport class EditParameterComponent implements OnInit {\r\n\r\n @Input() buttonText = \"Edit\";\r\n @Input() jsonText = \"{\\\"JSON\\\" : true}\"\r\n @Input() formlyFields = \"{\\\"JSON\\\" : true}\"\r\n @Output() jsonTextChange = new EventEmitter();\r\n @Input() disabled = false;\r\n\r\n @ViewChild('jsonModal') jsonModal: TemplateRef;\r\n\r\n private form = new FormGroup({});\r\n private formState: any;\r\n private formModel: any;\r\n private formFields: FormlyFieldConfig[];\r\n\r\n constructor(\r\n private modalService: NgbModal,\r\n ) {\r\n }\r\n\r\n ngOnInit(): void {\r\n \r\n //console.log(this.jsonText);\r\n this.formState = JSON.parse(this.jsonText);\r\n this.formFields = JSON.parse(this.formlyFields);\r\n }\r\n\r\n onEditClicked() {\r\n // TODO: Show dialog\r\n this.loadFormModel();\r\n\r\n let options: NgbModalOptions = {\r\n size: 'xl',\r\n centered: true\r\n };\r\n\r\n this.modalService.open(this.jsonModal, options); \r\n }\r\n\r\n loadFormModel() {\r\n //console.log(this.formState);\r\n // Create a copy of formState and assign it to formModel\r\n this.formModel = {\r\n ...this.formState\r\n };\r\n }\r\n\r\n submitJSON(event: any) {\r\n // Update form state\r\n this.formState = { ...this.formModel };\r\n\r\n\r\n //this ensures that serial numers are passed as an array and not as string.\r\n this.formState.requests.forEach(request =>{\r\n request.items.forEach(item =>{\r\n \r\n if(item.serialNumbers != null && !Array.isArray(item.serialNumbers)){\r\n item.serialNumbers = item.serialNumbers.trim().split(\",\");\r\n } \r\n });\r\n }); \r\n\r\n \r\n this.jsonText = JSON.stringify(this.formState);\r\n\r\n // Emit string event containing jsonText\r\n\r\n this.jsonTextChange.emit(this.jsonText);\r\n this.modalService.dismissAll();\r\n }\r\n\r\n showJson() {\r\n // Method used only for dev. Will remove in future.\r\n console.log(this.formlyFields);\r\n }\r\n}\r\n","\r\n\r\n\r\n
\r\n \r\n \r\n \r\n
\r\n\r\n
\r\n \r\n
\r\n
\r\n

\r\n Edit Parameters\r\n

\r\n \r\n
\r\n
\r\n\r\n \r\n\r\n
\r\n \r\n \r\n
\r\n\r\n
\r\n \r\n
\r\n
\r\n
\r\n","import { ChangeDetectionStrategy, Component, EventEmitter, Input, OnDestroy, OnInit, Output, ViewEncapsulation } from '@angular/core';\r\nimport { BehaviorSubject, Subscription } from 'rxjs';\r\n//import { FilterService } from 'src/app/V5/services/filter.service';\r\n\r\n@Component({\r\n selector: 'app-filter-bar',\r\n templateUrl: './filter-bar.component.html',\r\n styleUrls: ['./filter-bar.component.css'],\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n encapsulation: ViewEncapsulation.None\r\n})\r\nexport class FilterBarComponent implements OnInit, OnDestroy {\r\n collapsedByDefault = false;\r\n @Input() collapseButton: HTMLElement;\r\n @Input() collapsible = true;\r\n @Input() columns: Array;\r\n @Input() id: string;\r\n @Output() rowsChange = new EventEmitter>();\r\n @Input() defaultFilters;\r\n @Input() disabled = false;\r\n rowsInputSubscription: Subscription;\r\n rowsInput$ = new BehaviorSubject(null);\r\n private _rows: Array;\r\n @Input()\r\n set rows(rows: Array) {\r\n this._rows = rows;\r\n this.rowsInput$.next(null);\r\n }\r\n\r\n get rows(): Array {\r\n return this._rows;\r\n }\r\n\r\n get filterColumns() {\r\n return this.columns.filter(column => column.filterOptions);\r\n }\r\n\r\n constructor(\r\n public filterService: FilterService\r\n ) { }\r\n\r\n ngOnInit(): void {\r\n this.setCollapseButtonAttributes();\r\n\r\n // it's important that we trigger filterRows() via a subject subscription because that method depends on several input properties\r\n // if we trigger it inside the rows (which we need to detect changes for) setter, the other properties may not be defined yet\r\n // by utilizing the component lifecyle this way, we ensure that all input properties are defined before calling filterRows()\r\n // note: input properties are defined in the order in which they are data-bound to this component\r\n this.rowsInputSubscription = this.rowsInput$.subscribe(_ => {\r\n const filters = this.defaultFilters || this.filterService.userFilters$.value[this.id];\r\n this.filterRows(filters);\r\n });\r\n }\r\n\r\n ngOnDestroy() {\r\n if (this.rowsInputSubscription) {\r\n this.rowsInputSubscription.unsubscribe();\r\n }\r\n }\r\n\r\n setCollapseButtonAttributes(): void {\r\n this.collapsedByDefault = !this.filterService.hasFilters(this.id);\r\n if (this.collapseButton) {\r\n this.collapseButton.setAttribute('data-toggle', 'collapse');\r\n this.collapseButton.setAttribute('data-target', `#${this.id}FilterBar`);\r\n this.collapseButton.setAttribute('aria-label', 'Toggle Filter Bar');\r\n this.collapseButton.setAttribute('title', 'Toggle Filter Bar');\r\n this.collapseButton.setAttribute('aria-controls', `${this.id}FilterBar`);\r\n this.collapseButton.setAttribute('aria-expanded', JSON.stringify(!this.collapsedByDefault));\r\n }\r\n }\r\n\r\n filterRows(filters: Record>): void {\r\n // only filters on columns that are not errored\r\n const filterColumns = this.filterColumns.filter(column => !column.isError);\r\n const rows = this.filterService.filterRows(this.id, this.rows, filterColumns, filters);\r\n this.rowsChange.emit(rows);\r\n }\r\n\r\n filtersChanged(key: string, value: Array): void {\r\n const filters = this.defaultFilters || this.filterService.userFilters$.value[this.id];\r\n filters[key] = value;\r\n this.filterRows(filters);\r\n }\r\n\r\n clear(key: string): void {\r\n this.filtersChanged(key, []);\r\n }\r\n\r\n clearAll(): void {\r\n const filters = this.filterService.userFilters$.value[this.id];\r\n Object.keys(filters).forEach(filterKey => {\r\n filters[filterKey] = [];\r\n });\r\n this.filterRows(filters);\r\n }\r\n\r\n // Used in conjunction with the keyvalue pipe for the HTML template to keep the incoming data key ordering\r\n originalOrder() {\r\n return 0;\r\n }\r\n}\r\n\r\n\r\n\r\nimport { Injectable } from '@angular/core';\r\n//import { BehaviorSubject } from 'rxjs';\r\n//import { LocalStorageService } from 'src/app/shared/services/local-storage.service';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class FilterService {\r\n private localStorageKey = 'userFilters';\r\n\r\n private _userFilters$ = new BehaviorSubject>>>({});\r\n get userFilters$() {\r\n return this._userFilters$;\r\n }\r\n\r\n constructor(private localStorageService: LocalStorageService>>>) {\r\n this.initializeUserFilters();\r\n }\r\n\r\n initializeUserFilters() {\r\n // read from local storage, and initate the filter subjects\r\n const local = this.localStorageService.getData(this.localStorageKey) || {} ;\r\n this._userFilters$.next(local);\r\n }\r\n\r\n filterRows(gridId: string, originalRows: Array, columns: Array, filters: Record>): Array {\r\n // if no filters defined for the page yet, initiate it based on default values\r\n if (!filters) {\r\n filters = columns.reduce((reducer, column) => {\r\n reducer[column.key] = reducer[column.key] || column.defaultValue || [];\r\n return reducer;\r\n }, {});\r\n }\r\n\r\n // stores the next filters in the userFilters$ Subject and in localStorage\r\n const userFilters = {...this._userFilters$.value, [gridId]: filters};\r\n this._userFilters$.next(userFilters);\r\n this.localStorageService.setData(this.localStorageKey, userFilters);\r\n\r\n // applies the filters\r\n const filteredRows = this.applyFilter(originalRows, columns, filters);\r\n return filteredRows;\r\n }\r\n\r\n getGridColumnFilters(gridId: string, columnKey: string): any[] {\r\n return (this._userFilters$.value[gridId] || [])[columnKey] || [];\r\n }\r\n\r\n hasFilters(gridId: string): boolean {\r\n // TODO: consider using function flat() for 2d array\r\n return Object.values(this.userFilters$.value[gridId] || {}).length > 0;\r\n }\r\n\r\n private applyFilter(rows: Array, columns: Array, filters: Record>): Array {\r\n const filterKeys = Object.keys(filters);\r\n return rows.filter(row => {\r\n // validates all filter criteria\r\n return filterKeys.every(key => {\r\n const columnToFilterOn = columns.find(column => column.key === key);\r\n\r\n // ignores an empty filter or non existent key\r\n if (!filters[key].length || !columnToFilterOn) return true;\r\n\r\n // compares using strict equality\r\n if (columnToFilterOn.filterType === 'string' || columnToFilterOn.filterType === 'boolean'){\r\n return filters[key].findIndex(filter => filter === this.getRowValue(key, row)) === -1 ? false : true;\r\n }\r\n\r\n // compares using range\r\n if (columnToFilterOn.filterType === 'date'){\r\n // apply range filtering\r\n }\r\n\r\n });\r\n });\r\n }\r\n\r\n // gets the value of an object's property given a key\r\n private getRowValue(key: string, object: any): string {\r\n const dotIdx = key.indexOf('.');\r\n if (dotIdx !== -1) { // if the key has a dot operator (ie. is a path), traverses the path\r\n const firstKey = key.substring(0, dotIdx);\r\n const newKey = key.slice(dotIdx+1);\r\n return this.getRowValue(newKey, object[firstKey]);\r\n }\r\n else {\r\n return object[key].toString();\r\n }\r\n }\r\n}\r\n\r\n//import { Injectable } from '@angular/core';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class LocalStorageService {\r\n private _localStorage: Storage;\r\n\r\n constructor() {\r\n this._localStorage = localStorage;\r\n }\r\n\r\n getData(key: string): T {\r\n return JSON.parse(this._localStorage.getItem(key));\r\n }\r\n\r\n setData(key: string, data: T) {\r\n this._localStorage.setItem(key, JSON.stringify(data));\r\n }\r\n}\r\n\r\n","
\r\n \r\n
\r\n Filters:\r\n
\r\n \r\n \r\n \r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n \r\n {{item.value}}\r\n \r\n \r\n
\r\n
\r\n\r\n \r\n \r\n
\r\n \r\n \r\n
\r\n
\r\n\r\n \r\n \r\n
\r\n
1 ? ' (+' + (items.length - 1) + ')' : '')\">\r\n {{item['value']}}\r\n 1\">\r\n (+{{items.length - 1}})\r\n \r\n
\r\n
\r\n
\r\n\r\n \r\n \r\n
\r\n \r\n
\r\n
\r\n \r\n \r\n \r\n Unavailable\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n
","import { Component, OnInit, ViewChild, AfterViewInit } from '@angular/core';\r\nimport { SerialNumberRequest, SerialNumberRequestsStatus } from '../model/serial-number-request.model';\r\nimport { CloneSerialNumberResponse } from '../model/clone-serial-number-response.model';\r\nimport { MasterDataService } from '../service/masterdata.service';\r\nimport { MonitoringService } from '../service/monitoring.service';\r\nimport { SampleFilesService } from '../service/samplefiles.service';\r\nimport { BaseComponent } from '../base/base.component';\r\nimport { MsalService } from '@azure/msal-angular';\r\nimport * as XLSX from 'xlsx';\r\nimport { NgbModal } from '@ng-bootstrap/ng-bootstrap';\r\nimport { ManageScenariosService } from '../service/manage-scenarios.service';\r\nimport { NgxUiLoaderService } from 'ngx-ui-loader';\r\nimport { SerialNumberResponse } from '../model/serial-number-response.model';\r\nimport { ConfigService } from '../service/config.service';\r\nimport { HardwarePartnumberLookupComponent } from '../hardware-partnumber-lookup/hardware-partnumber-lookup.component';\r\nimport * as log from '../AppInsightsLogger';\r\n\r\nimport { ApplicationInsights } from '@microsoft/applicationinsights-web';\r\nimport { element } from 'protractor';\r\nimport { setTimeout } from 'timers';\r\nimport { request } from 'https';\r\nimport { DescriptionService } from '../service/description.service';\r\n\r\n@Component({\r\n selector: 'app-serial-number-generator',\r\n templateUrl: './serial-number-generator.component.html',\r\n styleUrls: ['./serial-number-generator.component.css']\r\n})\r\n\r\nexport class SerialNumberGeneratorComponent extends BaseComponent implements OnInit, AfterViewInit {\r\n @ViewChild(HardwarePartnumberLookupComponent)\r\n public hardwarePartnumberLookup: HardwarePartnumberLookupComponent;\r\n viewedChildHwpnLookup = false;\r\n\r\n serialNumberRequest = new SerialNumberRequest();\r\n productCodeListItems: any[];\r\n countryList: any[];\r\n payload: any[];\r\n showPreloader: boolean;\r\n msgTxt: string;\r\n showMessage: boolean;\r\n logMessage = '';\r\n name: string;\r\n email: string;\r\n deviceType: string;\r\n productCode: string;\r\n max: number;\r\n min: number;\r\n productName = '';\r\n newSerialNumberClick: boolean;\r\n cloneSerialNumber: boolean;\r\n\r\n mailtoScTestSupport: string;\r\n snResponseSuccessAlert = false;\r\n showHwpnPreloader = false;\r\n showCsnPreloader: boolean;\r\n hwpnLookupInvalidSku: string;\r\n hideSkuFormatAlert = true;\r\n invalidSkuFormatRegex = new RegExp('[^a-zA-Z0-9-]|-.*?-');\r\n\r\n headerText = '';\r\n bodyText = '';\r\n mode: string;\r\n excelJsonData: any;\r\n responseCount: number;\r\n duplicateSkuList: string;\r\n serialNumberRequestsStatus: SerialNumberRequestsStatus;\r\n serialNumberRequestsStatusList: SerialNumberRequestsStatus[];\r\n fileType = 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet;charset=UTF-8';\r\n fileExtension = '.xlsx';\r\n private logger: log.AppInsightsLogger;\r\n pageDetails: any[];\r\n pageDescription: string;\r\n partNumber: string;\r\n hardwarePartNumber: string;\r\n deviceSerialNumberLength: string;\r\n lookupCloneSN: boolean;\r\n\r\n constructor(\r\n \r\n private masterDataService: MasterDataService,\r\n private monitoringService: MonitoringService,\r\n private msalService: MsalService,\r\n private ngxLoader: NgxUiLoaderService,\r\n private manageTestRunsService: ManageScenariosService,\r\n private modalService: NgbModal,\r\n private descriptionService: DescriptionService,\r\n private configService: ConfigService) {\r\n super(monitoringService);\r\n this.name = msalService.instance.getActiveAccount().name;\r\n this.email = msalService.instance.getActiveAccount().username;\r\n this.logger = new log.AppInsightsLogger(configService, msalService);\r\n this.mailtoScTestSupport = 'mailto:' + this.configService.uiAppSettings.IssueReportAlias.alias + '@microsoft.com';\r\n }\r\n\r\n ngOnInit() {\r\n this.logger.trackTrace(`Successfully landed to Serial Number Generator`);\r\n this.setOrgData();\r\n this.newSerialNumberClick = true;\r\n this.cloneSerialNumber = false;\r\n if (this.cloneSerialNumber == false) {\r\n this.serialNumberRequest.warranty = \"InWarranty\";\r\n } else {\r\n this.serialNumberRequest.warranty = \"\";\r\n }\r\n this.max = 0;\r\n this.min = 0;\r\n this.mode = 'SINGLE';\r\n this.productCode = '';\r\n this.duplicateSkuList = '';\r\n this.responseCount = 0;\r\n this.masterDataService.getProductCode().subscribe((response: any[]) => {\r\n this.logger.trackTrace(`Serial Number Generation response ProductCode successfully`);\r\n this.productCodeListItems = response;\r\n }, (error: any) => {\r\n try {\r\n this.showMessage = true;\r\n this.showPreloader = false;\r\n this.addLogLine(error.error.errors[0].message);\r\n this.msgTxt = error.error.errors[0].message;\r\n } catch (ex) {\r\n this.msgTxt = 'Some error occurred while loading productcode';\r\n this.logger.trackTrace(`Serial Number Generation Error: ${this.msgTxt}`);\r\n this.logger.trackException(ex);\r\n this.addLogLine(error.error);\r\n }\r\n });\r\n\r\n this.descriptionService.pageDetailsTools().subscribe((response: any[]) => {\r\n this.pageDetails = response;\r\n this.pageDetails.forEach(element => {\r\n if (element.toolName == \"Serial Number Generator\") {\r\n this.pageDescription = element.toolDescription\r\n }\r\n });\r\n });\r\n }\r\n\r\n ngAfterViewInit() {\r\n this.viewedChildHwpnLookup = true;\r\n }\r\n\r\n setOrgData() {\r\n window.sessionStorage.setItem(\"orgSelected\", \"1\");\r\n }\r\n\r\n resetModels() {\r\n this.headerText = '';\r\n this.bodyText = '';\r\n this.excelJsonData = '';\r\n this.serialNumberRequest = new SerialNumberRequest();\r\n this.serialNumberRequestsStatus = new SerialNumberRequestsStatus();\r\n this.serialNumberRequestsStatusList = [];\r\n }\r\n\r\n onClickLookupHwpn() {\r\n this.hardwarePartnumberLookup.lookup(this.serialNumberRequest.partNumber);\r\n this.showHwpnPreloader = true;\r\n }\r\n\r\n hwpnButtonDisabled(): boolean {\r\n return this.viewedChildHwpnLookup &&\r\n this.serialNumberRequest.partNumber == null ||\r\n this.serialNumberRequest.partNumber == '' ||\r\n this.serialNumberRequest.partNumber.match(this.invalidSkuFormatRegex) != null ||\r\n this.showHwpnPreloader;\r\n }\r\n\r\n clonesnbuttonDisabled(): boolean {\r\n return this.serialNumberRequest.serialNumber == null ||\r\n this.serialNumberRequest.serialNumber == '' ||\r\n this.serialNumberRequest.serialNumber.match(this.invalidSkuFormatRegex) != null ||\r\n this.showCsnPreloader;\r\n }\r\n\r\n onHardwarePartnumberSelect(selectedHwpn: string) {\r\n this.serialNumberRequest.hardwarePartNumber = selectedHwpn;\r\n this.showHwpnPreloader = false;\r\n }\r\n\r\n /**\r\n * Given a Part Number (SKU), sets SkuFormatAlert as true or false\r\n * @param sku Part Number (SKU)\r\n */\r\n validateSkuFormat(sku: string) {\r\n if (sku.match(this.invalidSkuFormatRegex) != null) {\r\n // if there is a match for non-alphanumeric char or more than 1 hyphen\r\n this.hideSkuFormatAlert = false;\r\n } else {\r\n this.hideSkuFormatAlert = true;\r\n }\r\n }\r\n\r\n onNewSerialNumberClick() {\r\n this.cloneSerialNumber = false\r\n this.newSerialNumberClick = true\r\n this.lookupCloneSN = false;\r\n this.serialNumberRequest.warranty = \"InWarranty\";\r\n this.logMessage = \"\";\r\n this.payload = [];\r\n this.serialNumberRequest.quantity = 1;\r\n this.serialNumberRequest.partNumber = \"\";\r\n this.serialNumberRequest.hardwarePartNumber = \"\";\r\n this.serialNumberRequest.productCode = \"\";\r\n this.serialNumberRequest.productName = \"\";\r\n this.serialNumberRequest.countryOfOrigin = \"CN\";\r\n this.serialNumberRequest.serialNumberDigit = 12;\r\n this.serialNumberRequest.serialNumber = \"\";\r\n this.serialNumberRequest.environment = \"UAT\";\r\n this.serialNumberRequest.cloneSN = this.cloneSerialNumber;\r\n this.serialNumberRequest.quantity = 1;\r\n }\r\n\r\n onCloneSerialNumber() {\r\n this.lookupCloneSN = false;\r\n this.serialNumberRequest.warranty = \"\";\r\n this.newSerialNumberClick = false\r\n this.cloneSerialNumber = true\r\n this.logMessage = \"\";\r\n this.payload = [];\r\n this.serialNumberRequest.quantity = 1;\r\n this.serialNumberRequest.partNumber = \"\";\r\n this.serialNumberRequest.hardwarePartNumber = \"\";\r\n this.serialNumberRequest.productCode = \"\";\r\n this.serialNumberRequest.productName = \"\";\r\n this.serialNumberRequest.countryOfOrigin = \"CN\";\r\n this.serialNumberRequest.serialNumberDigit = 12;\r\n this.serialNumberRequest.serialNumber = \"\";\r\n this.serialNumberRequest.environment = \"UAT\";\r\n this.serialNumberRequest.cloneSN = this.cloneSerialNumber;\r\n this.serialNumberRequest.quantity = 1;\r\n }\r\n\r\n onCloneLookupSerialNumber() {\r\n this.showMessage = false;\r\n this.showCsnPreloader = true;\r\n this.lookupCloneSN = false;\r\n this.logMessage = \"\";\r\n this.payload = [];\r\n this.masterDataService.getCloneUATSerialNumber(this.serialNumberRequest).subscribe((response: CloneSerialNumberResponse) => {\r\n this.showCsnPreloader = false;\r\n this.lookupCloneSN = true;\r\n this.serialNumberRequest.quantity = 1;\r\n var cloneSNResonse = response;\r\n this.deviceSerialNumberLength = cloneSNResonse.DeviceSerialNumber;\r\n\r\n if (this.serialNumberRequest.cloneSN == true) {\r\n this.serialNumberRequest.serialNumberDigit = this.deviceSerialNumberLength.length;\r\n this.serialNumberRequest.serialNumber = this.deviceSerialNumberLength;\r\n }\r\n\r\n this.productName = cloneSNResonse.Project;\r\n\r\n for (var i = 0; i < cloneSNResonse.AssemblyCollection.length; i++) {\r\n\r\n cloneSNResonse.AssemblyCollection[i].Attributes.forEach(element => {\r\n if (element.AttributeName.toUpperCase() == 'COUNTRYOFORIGIN') {\r\n this.serialNumberRequest.countryOfOrigin = element.AttributeValue;\r\n }\r\n })\r\n this.logger.trackTrace(`Clone Serial Numbers Genealogy generated Sucessfully for ' + ${this.serialNumberRequest.serialNumber}`);\r\n }\r\n }, (error: any) => {\r\n this.showCsnPreloader = false;\r\n try {\r\n this.showMessage = true;\r\n this.showPreloader = false;\r\n this.addLogLine(error.error.errors[0].message);\r\n this.msgTxt = error.error.errors[0].message;\r\n this.logger.trackTrace(`Clone Serial Number Generation Error: ${this.msgTxt}`);\r\n this.logger.trackException(error);\r\n } catch (ex) {\r\n this.msgTxt = 'Some error occurred while processing your request';\r\n this.logger.trackTrace(`Clone Serial Number Generation Error: ${this.msgTxt}`);\r\n this.logger.trackException(ex);\r\n this.addLogLine(error.error);\r\n this.snResponseSuccessAlert = false;\r\n }\r\n });\r\n }\r\n\r\n onSubmitClick() {\r\n this.clearLogs();\r\n this.showPreloader = true; \r\n this.showMessage = false;\r\n this.serialNumberRequest.requesterName = this.name;\r\n this.serialNumberRequest.requesterEmail = this.email;\r\n this.serialNumberRequest.productName = this.productName;\r\n\r\n this.masterDataService.generateSerialNumbers(this.serialNumberRequest).subscribe((response: SerialNumberResponse) => {\r\n this.showPreloader = false;\r\n let snResponseLog = '';\r\n let snResponseFruLog = '';\r\n if (this.cloneSerialNumber == true) {\r\n this.addLogLine('Serial Number has been generated based on the Clone Serial Number Lookup. You may not be seeing Sub-Components in the genealogy due to Product/Project Code mismatch.'); \r\n } else if (this.newSerialNumberClick == true) {\r\n this.addLogLine('Serial Number has been generated based on the SKU. You may not be seeing Sub-Components in the genealogy due to Product/Project Code mismatch.');\r\n }\r\n if (this.serialNumberRequest.quantity > response.serialNumbers.length) {\r\n this.addLogLine(response.errorMessage);\r\n }\r\n let frunDataMissing = '';\r\n for (let i = 0; i < response.serialNumbers.length; i++) {\r\n this.payload = response.serialNumbers[0].payload;\r\n for (let k = 0; k < response.serialNumbers[i].fruNotAvailableMessage.length; k++) {\r\n if (response.serialNumbers[i].fruNotAvailableMessage.length > 0) {\r\n frunDataMissing += response.serialNumbers[i].fruNotAvailableMessage[k] + '\\n' ;\r\n }\r\n }\r\n\r\n snResponseLog += '\\n' + this.productName + \" \" + \"'\" + response.serialNumbers[i].deviceSerialNumber + \"'\";\r\n for (let j = 0; j < response.serialNumbers[i].fruSerialNumbers.length; j++) {\r\n if (response.serialNumbers[i].fruSerialNumbers.length > 0) {\r\n snResponseLog += ' [' + response.serialNumbers[i].productCode[j] + \": \" + \"'\" + response.serialNumbers[i].fruSerialNumbers[j] + \"'\" + ']';\r\n }\r\n snResponseLog += ', ';\r\n }\r\n if (response.serialNumbers[i].fruSerialNumbers.length == 0) {\r\n snResponseLog += ', ';\r\n }\r\n }\r\n\r\n snResponseLog = snResponseLog.trim();\r\n snResponseLog = snResponseLog.substring(0, snResponseLog.length - 1);\r\n\r\n frunDataMissing = frunDataMissing.trim();\r\n this.addLogLine(frunDataMissing);\r\n this.logger.trackTrace(`Total Number of Serial Numbers Generated Sucessfully: ' + ${response.serialNumbers.length}`);\r\n this.addLogLine('Total Number of Serial Numbers Generated Sucessfully: ' + response.serialNumbers.length);\r\n if (this.serialNumberRequest.cloneSN == true) {\r\n this.addLogLine('Generated Serial Numbers: ' + '\\n' +snResponseLog);\r\n } else {\r\n this.addLogLine('Generated Serial Numbers for ' + this.serialNumberRequest.partNumber + ': ' + '\\n' + snResponseLog);\r\n\r\n }\r\n let currentDateTime = new Date();\r\n this.snResponseSuccessAlert = true;\r\n this.logger.trackTrace(`Generated Serial Numbers for ' + ${this.serialNumberRequest.partNumber}`);\r\n }, (error: any) => {\r\n try {\r\n this.showMessage = true;\r\n this.showPreloader = false;\r\n this.addLogLine(error.error.errors[0].message);\r\n this.logger.trackException(`Serial Number Generation Error. User Inputs: Request Name: ${this.serialNumberRequest.requesterName} serialNumberPartNumber: ${this.serialNumberRequest.partNumber} serialNumberHardwarePartNumber: ${this.serialNumberRequest.hardwarePartNumber} serialNumberproductCode ${this.serialNumberRequest.productCode} serialNumberQuantity ${this.serialNumberRequest.quantity} countryOfOrigin: ${this.serialNumberRequest.countryOfOrigin}`);\r\n this.logger.trackException(error);\r\n } catch (ex) {\r\n this.logger.trackException(`Serial Number Generation Error: Some error occurred while processing your request. User Inputs: Request Name: ${this.serialNumberRequest.requesterName} serialNumberPartNumber: ${this.serialNumberRequest.partNumber} serialNumberHardwarePartNumber: ${this.serialNumberRequest.hardwarePartNumber} serialNumberproductCode ${this.serialNumberRequest.productCode} serialNumberQuantity ${this.serialNumberRequest.quantity} countryOfOrigin: ${this.serialNumberRequest.countryOfOrigin}`);\r\n this.logger.trackException(ex);\r\n this.addLogLine(error.error);\r\n this.snResponseSuccessAlert = false;\r\n }\r\n });\r\n }\r\n\r\n onSelectionDeviceTypeChangeClick() {\r\n this.productName = \"\";\r\n this.masterDataService.getProductCode().subscribe((response: any[]) => {\r\n this.productCodeListItems = response;\r\n for (let i = 0; i < this.productCodeListItems.length; i++) {\r\n if (this.productCodeListItems[i].productCode == this.serialNumberRequest.productCode) {\r\n this.productName = this.productCodeListItems[i].productDescription;\r\n this.serialNumberRequest.partNumber = this.productCodeListItems[i].country[0].partNumber;\r\n }\r\n\r\n if (this.productCodeListItems[i].productDescription == \"Serialized controller\") {\r\n this.serialNumberRequest.serialNumberDigit = 14;\r\n }\r\n }\r\n }, (error: any) => {\r\n try {\r\n this.showMessage = true;\r\n this.showPreloader = false;\r\n this.addLogLine(error.error.errors[0].message);\r\n this.msgTxt = error.error.errors[0].message;\r\n } catch (ex) {\r\n this.msgTxt = 'Some error occurred while loading productcode';\r\n this.logger.trackTrace(`Serial Number Generation Error: ${this.msgTxt}`);\r\n this.addLogLine(error.error);\r\n }\r\n });\r\n }\r\n\r\n onSerialNumberChange() {\r\n\r\n this.masterDataService.getProductCode().subscribe((response: any[]) => {\r\n this.productCodeListItems = response;\r\n for (let i = 0; i < this.productCodeListItems.length; i++) {\r\n if (this.productCodeListItems[i].productCode == this.serialNumberRequest.productCode) {\r\n if (this.productCodeListItems[i].productDescription == \"Serialized controller\") {\r\n this.serialNumberRequest.serialNumberDigit = 14;\r\n this.max = 14;\r\n this.min = 14;\r\n }\r\n }\r\n }\r\n }, (error: any) => {\r\n try {\r\n this.showMessage = true;\r\n this.showPreloader = false;\r\n this.addLogLine(error.error.errors[0].message);\r\n this.msgTxt = error.error.errors[0].message;\r\n } catch (ex) {\r\n this.msgTxt = 'Some error occurred while loading productcode';\r\n this.logger.trackTrace(`Serial Number Generation Error: ${this.msgTxt}`);\r\n this.addLogLine(error.error);\r\n }\r\n });\r\n\r\n }\r\n\r\n addLogLine(line: string) {\r\n let currentDateTime = new Date();\r\n this.logMessage += '[' + currentDateTime.toLocaleString() + ']' + ' ' + line + '\\n';\r\n }\r\n\r\n clearLogs() {\r\n this.logMessage = '';\r\n this.payload = [];\r\n }\r\n\r\n downloadSampleFile() {\r\n SampleFilesService.downloadSampleFile(SampleFilesService.GenerateSNsSample);\r\n }\r\n\r\n processExcelFile(event: any, responseModal: any) {\r\n const parent = this;\r\n parent.manageTestRunsService.ngxLoaderConfig.text = 'Processing Uploaded Excel File! Please Wait!';\r\n parent.ngxLoader.start();\r\n if (event.target.files.length > 0 && event.target.files[0].name.toLowerCase().indexOf('xls') > 0) {\r\n const uploadedFile = event.target.files[0];\r\n let readFile = new FileReader();\r\n readFile.onload = () => {\r\n let storeData: any;\r\n storeData = readFile.result;\r\n const exceldata = new Uint8Array(storeData);\r\n let arr = new Array();\r\n for (var i = 0; i != exceldata.length; ++i) {\r\n arr[i] = String.fromCharCode(exceldata[i]);\r\n }\r\n const workbook = XLSX.read(arr.join(''), { type: 'binary' });\r\n parent.excelJsonData = JSON.stringify(XLSX.utils.sheet_to_json(workbook.Sheets['Inputs'], { raw: false }));\r\n this.processJsonDataToModel(responseModal);\r\n }\r\n readFile.readAsArrayBuffer(uploadedFile);\r\n }\r\n else {\r\n parent.headerText = 'Invalid File!';\r\n parent.bodyText = 'You have selected an Invalid File! Please select a valid file and try again!';\r\n this.logger.trackTrace(`Serial Number Generation Error: ${parent.headerText} ${parent.bodyText}`);\r\n parent.modalService.open(responseModal, { ariaLabelledBy: 'modal-basic-title', backdrop: 'static' }).result.then((result: any) => {\r\n });\r\n }\r\n }\r\n\r\n processJsonDataToModel(responseModal: any) {\r\n const parent = this;\r\n let jsonObjSource = JSON.parse(this.excelJsonData);\r\n this.serialNumberRequestsStatusList = [];\r\n this.duplicateSkuList = '';\r\n if (Array.isArray(jsonObjSource)) {\r\n for (let i = 0; i < jsonObjSource.length; i++) {\r\n let jsonObj = jsonObjSource[i];\r\n const partNo = (jsonObj['PartNumber'] != undefined && jsonObj['PartNumber'] != null) ? jsonObj['PartNumber'] : '';\r\n const hwpn = (jsonObj['HardwarePartNumber'] != undefined && jsonObj['HardwarePartNumber'] != null) ? jsonObj['HardwarePartNumber'] : '';\r\n if (partNo != '' || hwpn != '') {\r\n if (this.serialNumberRequestsStatusList.filter(x => x.serialNumberRequest.partNumber.toLowerCase() == partNo.toLowerCase()).length > 0 && this.duplicateSkuList.toLowerCase().indexOf(partNo.toLowerCase()) < 0) {\r\n this.duplicateSkuList += partNo + ',';\r\n }\r\n else {\r\n this.serialNumberRequest = new SerialNumberRequest();\r\n this.serialNumberRequest.countryOfOrigin = (jsonObj['CountryOfOrigin'] != undefined && jsonObj['CountryOfOrigin'] != null && jsonObj['CountryOfOrigin'] != '') ? jsonObj['CountryOfOrigin'] : 'CN';\r\n this.serialNumberRequest.partNumber = jsonObj['PartNumber'];\r\n this.serialNumberRequest.hardwarePartNumber = jsonObj['HardwarePartNumber'];\r\n this.serialNumberRequest.productCode = jsonObj['ProductCode'];\r\n this.serialNumberRequest.quantity = (jsonObj['Quantity'] != undefined && jsonObj['Quantity'] != null && jsonObj['Quantity'] != '') ? parseInt(jsonObj['Quantity']) : 1;\r\n this.serialNumberRequest.serialNumberDigit = 12;\r\n this.serialNumberRequest.warranty = (jsonObj['WarrantyType'] != undefined && jsonObj['WarrantyType'] != null && jsonObj['WarrantyType'] != '') ? jsonObj['WarrantyType'] : \"InWarranty\";\r\n this.serialNumberRequest.requesterEmail = this.email;\r\n this.serialNumberRequest.requesterName = this.name;\r\n\r\n this.serialNumberRequestsStatus = new SerialNumberRequestsStatus();\r\n this.serialNumberRequestsStatus.serialNumberRequest = this.serialNumberRequest;\r\n this.serialNumberRequestsStatus.responseList = '';\r\n\r\n this.serialNumberRequestsStatusList.push(this.serialNumberRequestsStatus);\r\n }\r\n }\r\n }\r\n }\r\n else if ((jsonObjSource['PartNumber'] != undefined && jsonObjSource['PartNumber'] != null && jsonObjSource['PartNumber'] != '') || (jsonObjSource['HardwarePartNumber'] != undefined && jsonObjSource['HardwarePartNumber'] != null && jsonObjSource['HardwarePartNumber'] != '')) {\r\n this.serialNumberRequest = new SerialNumberRequest();\r\n this.serialNumberRequest.countryOfOrigin = (jsonObjSource['CountryOfOrigin'] != undefined && jsonObjSource['CountryOfOrigin'] != null && jsonObjSource['CountryOfOrigin'] != '') ? jsonObjSource['CountryOfOrigin'] : 'CN';\r\n this.serialNumberRequest.partNumber = jsonObjSource['PartNumber'];\r\n this.serialNumberRequest.hardwarePartNumber = jsonObjSource['HardwarePartNumber'];\r\n this.serialNumberRequest.productCode = jsonObjSource['ProductCode'];\r\n this.serialNumberRequest.quantity = (jsonObjSource['Quantity'] != undefined && jsonObjSource['Quantity'] != null && jsonObjSource['Quantity'] != '') ? parseInt(jsonObjSource['Quantity']) : 1;\r\n this.serialNumberRequest.serialNumberDigit = 12;\r\n this.serialNumberRequest.warranty = (jsonObjSource['WarrantyType'] != undefined && jsonObjSource['WarrantyType'] != null && jsonObjSource['WarrantyType'] != '') ? jsonObjSource['WarrantyType'] : \"InWarranty\";\r\n this.serialNumberRequest.requesterEmail = this.email;\r\n this.serialNumberRequest.requesterName = this.name;\r\n\r\n this.serialNumberRequestsStatus = new SerialNumberRequestsStatus();\r\n this.serialNumberRequestsStatus.serialNumberRequest = this.serialNumberRequest;\r\n this.serialNumberRequestsStatus.responseList = '';\r\n\r\n this.serialNumberRequestsStatusList.push(this.serialNumberRequestsStatus);\r\n }\r\n else {\r\n parent.headerText = 'Data Storage Failed!';\r\n parent.bodyText = 'There are some Invalid data rows present in the uploaded excel sheet! Please update/remove in the sheet with valid data and try again! For reference please download the sample excel file from the above download link!';\r\n this.logger.trackTrace(`Serial Number Generation Error: ${parent.headerText} ${parent.bodyText}`);\r\n parent.modalService.open(responseModal, { ariaLabelledBy: 'modal-basic-title', backdrop: 'static' }).result.then((result: any) => {\r\n });\r\n }\r\n if (this.duplicateSkuList != '') {\r\n this.duplicateSkuList = this.duplicateSkuList.substring(0, this.duplicateSkuList.lastIndexOf(','));\r\n const dupsArray = this.duplicateSkuList.split(',');\r\n dupsArray.forEach((element: any) => {\r\n const index = this.serialNumberRequestsStatusList.map(function (d) { return d.serialNumberRequest.partNumber; }).indexOf(element);\r\n this.serialNumberRequestsStatusList.splice(index, 1);\r\n });\r\n parent.headerText = 'Duplicate SKU(s) found!';\r\n parent.bodyText = 'Please make sure to use distinct SKUs in the excel sheet! For now removed all these duplicate SKUs:- ' + this.duplicateSkuList;\r\n this.logger.trackTrace(`Serial Number Generation Error: ${parent.headerText} ${parent.bodyText}`);\r\n parent.modalService.open(responseModal, { ariaLabelledBy: 'modal-basic-title', backdrop: 'static' }).result.then((result: any) => {\r\n });\r\n }\r\n parent.ngxLoader.stop();\r\n }\r\n\r\n fetchSerialNumbers() {\r\n const parent = this;\r\n parent.responseCount = 0;\r\n for (let i = 0; i < parent.serialNumberRequestsStatusList.length; i++) {\r\n let jsonObj = parent.serialNumberRequestsStatusList[i];\r\n jsonObj.showPreloader = true;\r\n parent.masterDataService.generateSerialNumbers(jsonObj.serialNumberRequest).subscribe((response: SerialNumberResponse) => {\r\n const partNo = response.partNumber.toLowerCase();\r\n const hwpn = response.hardwarePartNumber.toLowerCase();\r\n const snList = response.serialNumbers;\r\n let snResponseLog = '';\r\n for (let i = 0; i < response.serialNumbers.length; i++) {\r\n snResponseLog += response.serialNumbers[i].deviceSerialNumber;\r\n if (response.serialNumbers[i].fruSerialNumbers.length > 0) {\r\n snResponseLog += ' - FRU(s):-[' + response.serialNumbers[i].fruSerialNumbers + ']';\r\n }\r\n snResponseLog += ', ';\r\n }\r\n snResponseLog = snResponseLog.trim();\r\n snResponseLog = snResponseLog.substring(0, snResponseLog.length - 1);\r\n\r\n parent.serialNumberRequestsStatusList.filter(x => x.serialNumberRequest.partNumber.toLowerCase() == partNo && x.serialNumberRequest.hardwarePartNumber.toLowerCase() == hwpn)[0].responseList = snResponseLog;\r\n parent.serialNumberRequestsStatusList.filter(x => x.serialNumberRequest.partNumber.toLowerCase() == partNo && x.serialNumberRequest.hardwarePartNumber.toLowerCase() == hwpn)[0].showPreloader = false;\r\n parent.responseCount++;\r\n }, (error) => {\r\n parent.serialNumberRequestsStatusList[i].responseList = error['error'].toString().replace('[\"', '').replace('\"]', '');\r\n parent.serialNumberRequestsStatusList[i].showPreloader = false;\r\n parent.responseCount++;\r\n });\r\n }\r\n this.snResponseSuccessAlert = true;\r\n }\r\n\r\n downloadResultsList() {\r\n let downloadJson = [];\r\n for (let i = 0; i < this.serialNumberRequestsStatusList.length; i++) {\r\n let downloadJsonObj = {};\r\n downloadJsonObj['PartNumber'] = this.serialNumberRequestsStatusList[i].serialNumberRequest.partNumber;\r\n downloadJsonObj['HardwarePartNumber'] = this.serialNumberRequestsStatusList[i].serialNumberRequest.hardwarePartNumber;\r\n downloadJsonObj['Quantity'] = this.serialNumberRequestsStatusList[i].serialNumberRequest.quantity;\r\n downloadJsonObj['ProductCode'] = this.serialNumberRequestsStatusList[i].serialNumberRequest.productCode;\r\n downloadJsonObj['SerialNumbersList'] = this.serialNumberRequestsStatusList[i].responseList;\r\n downloadJson.push(downloadJsonObj);\r\n }\r\n this.exportToExcel(downloadJson, 'SerialNumbersList');\r\n }\r\n\r\n public exportToExcel(jsonData: any[], fileName: string): void {\r\n const ws: XLSX.WorkSheet = XLSX.utils.json_to_sheet(jsonData);\r\n const wb: XLSX.WorkBook = XLSX.utils.book_new();\r\n XLSX.utils.book_append_sheet(wb, ws, 'GeneratedSNsList');\r\n XLSX.writeFile(wb, fileName + this.fileExtension);\r\n }\r\n}\r\n","
\r\n
\r\n
\r\n

Serial Number Generator

\r\n
 
\r\n
\r\n
\r\n
\r\n Description:\r\n

{{this.pageDescription}}

\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n Upload Excel File:\r\n \r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n
0\">\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
Part NumberHWPNQuantitySerial Numbers
\r\n {{snRequest.serialNumberRequest.partNumber}}\r\n \r\n {{snRequest.serialNumberRequest.hardwarePartNumber}}\r\n \r\n {{snRequest.serialNumberRequest.quantity}}\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n {{snRequest.responseList.toString()}}\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n Note: Warranty information can take a few hours to process in\r\n USTRL (It may not show immediately).\r\n
 Please wait a few hours before checking for Warranty of a Serial Number.\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n

You have selected New Serial Number button

\r\n

You have selected Clone Serial Number button

\r\n
\r\n
\r\n \r\n \r\n
\r\n – OR –\r\n
\r\n \r\n \r\n
\r\n\r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n
Part number is required
\r\n \r\n Please enter a valid SKU: Alphanumeric chars only with 1 hyphen allowed.\r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n – OR –\r\n
\r\n \r\n
\r\n
\r\n
\r\n\r\n
\r\n \r\n
\r\n \r\n \r\n
\r\n
\r\n\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n\r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n
Warranty is required
\r\n
\r\n
\r\n\r\n\r\n\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n\r\n
\r\n

Below values are auto-filled from Lookup Clone Serial Number

\r\n
\r\n\r\n
\r\n \r\n
\r\n \r\n
Country Of Origin is required
\r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n Quantity should be between\r\n 1-100\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n Serial Number\r\n should be between 12-16 length\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n Note: Warranty information can take a few hours to process in\r\n USTRL (It may not show immediately).\r\n
 Please wait a few hours before checking for Warranty of a Serial Number.\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n

{{ msgTxt }}\r\n

\r\n
\r\n
\r\n
\r\n
\r\n Clear\r\n
\r\n
\r\n
\r\n
\r\n
\r\n            
\r\n
\r\n
\r\n
\r\n
\r\n

Sample Genealogy used:

\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n\r\n\r\n\r\n
\r\n
{{headerText}}
\r\n \r\n
\r\n
\r\n
\r\n
\r\n

\r\n {{bodyText}}\r\n

\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n\r\n","import { Component, OnInit } from '@angular/core';\r\nimport { MsalService } from '@azure/msal-angular'\r\nimport { Router } from '@angular/router';\r\nimport { AuthService } from '../service/auth.service';\r\n\r\n@Component({\r\n selector: 'app-unauthorized',\r\n templateUrl: './unauthorized.component.html',\r\n styleUrls: ['./unauthorized.component.css']\r\n})\r\nexport class UnauthorizedComponent implements OnInit {\r\n\r\n constructor(private msalService: MsalService, private router: Router, private authService: AuthService) { }\r\n\r\n ngOnInit() {\r\n if (this.authService.isUserAuthenticated()) {\r\n //this.router.navigate(['/', 'landing-page']);\r\n }\r\n }\r\n\r\n onLoginClick() {\r\n this.msalService.instance.loginRedirect();\r\n }\r\n}\r\n","
\r\n
\r\n
Welcome to Test Platform
\r\n
\r\n You are not authorized to access this website\r\n

\r\n For Access: Please join \"SCE Test Platform Testers\" Security Group in Idweb\r\n
\r\n
\r\n
\r\n
\r\n For any questions please reach out to Test Platform Support\r\n
\r\n
\r\n","export class LoadTestExecutionRequest {\r\n public LoadTestRunId: string;\r\n}\r\n","import { BrowserModule } from '@angular/platform-browser';\r\nimport { NgModule, APP_INITIALIZER, ErrorHandler, Injector } from '@angular/core';\r\nimport { CUSTOM_ELEMENTS_SCHEMA } from '@angular/core';\r\nimport { BrowserAnimationsModule } from '@angular/platform-browser/animations';\r\nimport { CommonModule } from '@angular/common';\r\nimport { HttpClientModule } from '@angular/common/http';\r\nimport { RouterModule } from '@angular/router';\r\nimport { SidebarModule } from 'ng-sidebar';\r\nimport { HTTP_INTERCEPTORS } from '@angular/common/http';\r\nimport {\r\n MsalModule,\r\n MsalService,\r\n MsalInterceptor,\r\n MsalGuard,\r\n MsalBroadcastService,\r\n MsalRedirectComponent,\r\n MSAL_INTERCEPTOR_CONFIG,\r\n MSAL_GUARD_CONFIG,\r\n MSAL_INSTANCE,\r\n MsalGuardAuthRequest\r\n} from '@azure/msal-angular';\r\nimport {\r\nLogLevel\r\n} from \"@azure/msal-browser\";\r\nimport { NgbModule } from '@ng-bootstrap/ng-bootstrap';\r\nimport { NgxUiLoaderModule, NgxUiLoaderConfig } from 'ngx-ui-loader';\r\nimport { NgSelectModule } from '@ng-select/ng-select';\r\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms';\r\nimport { MatButtonModule } from '@angular/material/button';\r\nimport { MatNativeDateModule } from '@angular/material/core';\r\nimport { MatTooltipModule } from '@angular/material/tooltip';\r\nimport { FormlyModule } from '@ngx-formly/core';\r\nimport { FormlyMatDatepickerModule } from '@ngx-formly/material/datepicker';\r\nimport { FormlyMaterialModule } from '@ngx-formly/material';\r\nimport { minValidationMessage, maxValidationMessage, minlengthValidationMessage, maxlengthValidationMessage, MasterPackValidator, jsonValidationMessage, skuValidation,skuValidatorMessage } from './model/validation-messages.model';\r\nimport { DragDropModule } from '@angular/cdk/drag-drop';\r\nimport { FormlyMatNativeSelectModule } from '@ngx-formly/material/native-select';\r\nimport { NgJsonEditorModule } from 'ang-jsoneditor'\r\nimport { ExcelFileService } from './service/excelFile.service';\r\nimport { MatDialogModule } from '@angular/material/dialog';\r\nimport { MatInputModule } from '@angular/material/input';\r\nimport { MatSelectModule } from '@angular/material/select';\r\nimport { MatTabsModule } from '@angular/material/tabs';\r\nimport { MatSlideToggleModule } from '@angular/material/slide-toggle';\r\nimport { MatFormFieldModule } from '@angular/material/form-field';\r\nimport { ClipboardModule } from '@angular/cdk/clipboard';\r\n\r\nimport { NewTestRunComponent } from './new-test-run/new-test-run.component';\r\nimport { TestRunService } from './service/testrun.service';\r\nimport { NavmenuComponent } from './navmenu/navmenu.component';\r\nimport { ShipmentmockerComponent } from './shipmentmocker/shipmentmocker.component';\r\nimport { LoadPlanMockerComponent } from './loadplanmocker/loadplanmocker.component';\r\nimport { LoadTestComponent } from './loadtest/loadtest.component';\r\nimport { LoadTestExecutionComponent } from './loadtestexecution/loadtestexecution.component';\r\nimport { AuthenticationGuard } from './common/authentication-guard';\r\nimport { LandingPageComponent } from './landing-page/landing-page.component';\r\nimport { AuthService } from './service/auth.service';\r\nimport { ShipmentService } from './service/shipment.service';\r\nimport { LoadPlanService } from './service/loadplan.service';\r\nimport { TestRunListComponent } from './test-run-list/test-run-list.component';\r\nimport { ManageScenariosComponent } from './manage-scenarios/manage-scenarios.component';\r\nimport { ExecuteTestRunsComponent } from './manage-scenarios/execute-testruns/execute-testruns.component';\r\nimport { ManageTestRunsComponent } from './manage-scenarios/manage-testruns/manage-testruns.component';\r\nimport { TestRunsInputsPanelComponent } from './manage-scenarios/execute-testruns/testruns-input-panel/testruns-input-panel.component';\r\nimport { RepeatTypeComponent } from './manage-scenarios/execute-testruns/testruns-input-panel/repeat-section.type';\r\nimport { InputWithToolTipComponent } from './manage-scenarios/execute-testruns/testruns-input-panel/inputWithToolTip.type';\r\nimport { FormlyButtonComponent } from './manage-scenarios/execute-testruns/testruns-input-panel/formly-button.type';\r\nimport { PagerService } from './service/pager.service';\r\nimport { OrderService } from './service/order.service';\r\nimport { OrderSummaryComponent } from './order-summary/order-summary.component';\r\nimport { PreloaderComponent } from './preloader/preloader.component';\r\nimport { OrderListComponent } from './order-list/order-list.component';\r\nimport { PreloaderSmallComponent } from './preloader-small/preloader-small.component';\r\nimport { ConfigService } from './service/config.service';\r\nimport { RoleGuard } from './common/role-guard';\r\nimport { UnauthorizedComponent } from './unauthorized/unauthorized.component';\r\nimport { ModalService } from './service/modal.service';\r\nimport { ModalModule } from 'ngb-modal';\r\nimport { NgxJsonViewerModule } from 'ngx-json-viewer';\r\nimport { MonitoringService } from './service/monitoring.service';\r\nimport { BaseComponent } from './base/base.component';\r\nimport { GlobalErrorHandler } from './common/error.handler';\r\nimport { SerialNumberGeneratorComponent } from './serial-number-generator/serial-number-generator.component';\r\nimport { MasterDataService } from './service/masterdata.service';\r\nimport { DescriptionService } from './service/description.service';\r\nimport { ManageScenariosService } from './service/manage-scenarios.service';\r\nimport { SerialNumberListComponent } from './serial-number-list/serial-number-list.component';\r\nimport { SkuNumberListComponent } from './sku-number-list/sku-number-list.component';\r\nimport { SkuValidationComponent } from './skuvalidation/skuvalidation.component';\r\nimport { SapOutputTriggerComponent } from './sapoutputtrigger/sapoutputtrigger.component';\r\nimport { FeedbackComponent } from './feedback/feedback.component';\r\nimport { ComingSoonComponent } from './comming-soon/comming-soon.component';\r\nimport { ScenarioCatalogComponent } from './scenariocatalog/scenariocatalog.component';\r\nimport { TestRunOverviewComponent } from './testrunoverview/testrunoverview.component';\r\nimport { FilterPipe } from './common/filter.pipe';\r\nimport { SAPService } from './service/sap.service';\r\nimport { LoadTestService } from './service/loadtest.service';\r\nimport { GenerateTestResultsComponent } from './generateTestResults/generateTestResults.component'\r\nimport { GoodReceiptMockerComponent } from './goodreceiptmocker/goodreceiptmocker.component'\r\nimport { HardwarePartnumberLookupComponent } from './hardware-partnumber-lookup/hardware-partnumber-lookup.component';\r\nimport { VerifyRetryLoadTestComponent } from './verifyretry-loadtest/verifyretry-loadtest.component';\r\nimport { GoodReceiptService } from './service/goodreceipt.service';\r\nimport { EntityTrackingComponent } from './entity-tracking/entitytracking.component';\r\nimport { EntityTrackingService } from './service/entitytracking.service';\r\nimport { LandingPageService } from './service/landingpage.service';\r\nimport { ToolsComponent } from './tools/tools.component';\r\nimport { MockersComponent } from './mockers/mockers.component';\r\nimport { TestRunComponent } from './testrun/testrun.component';\r\nimport { UATAvailabilityComponent } from './uatAvailability/uatAvailability.component';\r\nimport { TestDataService } from './service/testdata.service';\r\nimport { UatAvailabilityService } from './service/uatavailability.service';\r\nimport { PrivacyNoticeComponent } from './privacynotice/privacynotice.component';\r\nimport { FormlyReadOnlyViewComponent } from './manage-scenarios/customtypes/formly-custom-view/formly-readonly-listview.component';\r\nimport { TestGridComponent } from './project-test-runs/test-grid/test-grid.component';\r\nimport { SimpleGridComponent } from './project-test-runs/test-grid/simple-grid/simple-grid.component';\r\nimport { EditParameterComponent } from './project-test-runs/edit-parameter/edit-parameter.component';\r\nimport { TrackingDetailsComponent } from './project-test-runs/tracking-details/tracking-details.component';\r\nimport { FilterBarComponent } from './project-test-runs/filter-bar/filter-bar.component';\r\nimport { StatusComponent } from './project-test-runs/status/status.component';\r\nimport { ProgressComponent } from './project-test-runs/progress/progress.component';\r\nimport { DatePickerComponent } from './project-test-runs/date-picker/date-picker.component';\r\nimport { TestProjectViewComponent } from './project-test-runs/project-view/test-project-view.component';\r\nimport { TestCaseViewComponent } from './project-test-runs/test-case-view/test-case-view.component';\r\nimport { TestCaseProjectService } from './service/test-case-project.service';\r\nimport { OrgProjectViewComponent } from './project-test-runs/org-project-view/org-project-view.component';\r\nimport { TestProjectService } from './service/testproject.service';\r\nimport { CardWrapperComponent } from './project-test-runs/edit-parameter/card-wrapper.component';\r\nimport { ItemsWrapperComponent } from './project-test-runs/edit-parameter/line-items-wrapper.component';\r\nimport { GenerateBlobSasTokenService } from './service/generate-sas-token.service';\r\nimport { ErrorComponent } from './error/error.component';\r\nimport { OrgCardComponent } from './org-view/org-card/org-card.component';\r\nimport { OrgViewLandingPageComponent } from './landing-page/org-view-landing-page/org-view-landing-page.component';\r\nimport { OrgViewService } from './service/org-view.service';\r\nimport { ErrorDisplayComponent } from './project-test-runs/error-display/error-display.component';\r\nimport { AppRoutingModule } from './app-routing.module';\r\nimport { MsalConfig, MSALGuardConfigFactory, MSALInstanceFactory, MSALInterceptorConfigFactory } from './model/msal.config';\r\nimport { ProtectedResourceEntry, UIAppSettings } from './model/appconfig.model';\r\nimport { SelfServeComponent } from './self-serve/self-serve.component';\r\nimport { RepeatTypeButtonComponent } from './self-serve/repeat-section.type';\r\nimport { AppComponent, MaxDirective, MinDirective } from './app.component';\r\nimport { FormlyFieldTabs } from './self-serve/tabs.type';\r\nimport { BlobDownloadService } from './service/blob-download.service';\r\n\r\n\r\nimport { FormlyPlaygroundComponent } from './formly-playground/formly-playground.component';\r\nimport { FormlyLinkComponent } from './self-serve/alink.type';\r\nimport { GenerateMapperStringComponent } from './generate-mapper-string/generate-mapper-string.component';\r\nimport { jsonValidator } from './common/jsonValidator';\r\nimport { DevicecareComponent } from './devicecare/devicecare.component';\r\nimport { DevicecareService } from './service/devicecare.service';\r\nimport { ModaltableComponent } from './modaltable/modaltable.component';\r\nimport { MockersformlyComponent } from './mockersformly/mockersformly.component';\r\nimport { FormlyFieldDropdown } from './mockersformly/dropdown.type';\r\nimport { FormlyFieldFile } from './mockersformly/file-type.component';\r\nimport { FileValueAccessor } from './mockersformly/file-value-accessor';\r\nimport { FormlyFieldDescription } from './mockersformly/description.type';\r\nimport { BlobDownloadComponent } from './blob-download/blob-download.component';\r\n\r\n\r\nconst ngxUiLoaderConfig: NgxUiLoaderConfig = {\r\n 'bgsColor': 'red',\r\n 'bgsOpacity': 0.5,\r\n // 'bgsPosition': 'bottom-right',\r\n // 'bgsSize': 60,\r\n // 'bgsType': 'ball-spin-clockwise',\r\n 'blur': 5,\r\n 'delay': 0,\r\n 'fgsColor': 'red',\r\n 'fgsPosition': 'center-center',\r\n 'fgsSize': 60,\r\n 'fgsType': 'ball-spin-clockwise',\r\n 'gap': 24,\r\n 'logoPosition': 'center-center',\r\n 'logoSize': 120,\r\n 'logoUrl': '../assets/images/MicrosoftLogo.png',\r\n 'masterLoaderId': 'master',\r\n 'overlayBorderRadius': '0',\r\n 'overlayColor': 'rgba(40, 40, 40, 0.8)',\r\n 'pbColor': 'red',\r\n 'pbDirection': 'ltr',\r\n 'pbThickness': 3,\r\n 'hasProgressBar': true,\r\n 'text': 'Welcome to SCE Test Suite',\r\n 'textColor': '#FFFFFF',\r\n 'textPosition': 'center-center',\r\n 'maxTime': -1,\r\n 'minTime': 500\r\n};\r\n\r\n//add initialize factory here\r\nfunction init_app(configService: ConfigService, injector: Injector) {\r\n return (): Promise =>\r\n configService.loadConfigFromService().then((uiAppSettings: UIAppSettings) => {\r\n appInsights.config = {\r\n instrumentationKey:\r\n uiAppSettings.Logging.AppInsightsInstrumentationKey,\r\n enableCorsCorrelation: true,\r\n };\r\n configService.uiAppSettings = uiAppSettings;\r\n configService.auth = uiAppSettings.Auth;\r\n configService.organizations = uiAppSettings.Organizations;\r\n configService.msalAngularConfig = uiAppSettings.MsalAngularConfig;\r\n MsalConfig.auth.clientId = uiAppSettings.Auth.clientId;\r\n MsalConfig.system = {\r\n loggerOptions: {\r\n loggerCallback(logLevel: LogLevel, message: string) {\r\n },\r\n logLevel: LogLevel.Verbose,\r\n piiLoggingEnabled: false,\r\n },\r\n };\r\n uiAppSettings.MsalAngularConfig.protectedResourceMap.forEach((entry: ProtectedResourceEntry) => {\r\n let scope = entry.scopes[0];\r\n let protectedResource = entry.protectedResource;\r\n let resourceScopes = [scope];\r\n (\r\n MSALGuardConfigFactory().authRequest as MsalGuardAuthRequest\r\n ).scopes.push(scope);\r\n MSALInterceptorConfigFactory().protectedResourceMap.set(\r\n protectedResource, resourceScopes\r\n );\r\n });\r\n }).catch((error) => {\r\n console.error('Unable to initialize the application', error);\r\n throw error;\r\n });;\r\n}\r\n\r\n@NgModule({\r\n declarations: [\r\n AppComponent,\r\n NewTestRunComponent,\r\n FeedbackComponent,\r\n NavmenuComponent,\r\n ShipmentmockerComponent,\r\n LoadPlanMockerComponent,\r\n GoodReceiptMockerComponent,\r\n LoadTestComponent,\r\n LoadTestExecutionComponent,\r\n LandingPageComponent,\r\n TestRunListComponent,\r\n StatusComponent,\r\n DatePickerComponent, TestGridComponent, TestProjectViewComponent, TestCaseViewComponent, SimpleGridComponent,\r\n EditParameterComponent, TrackingDetailsComponent,\r\n FilterBarComponent,\r\n ProgressComponent,\r\n ManageScenariosComponent,\r\n ExecuteTestRunsComponent,\r\n ManageTestRunsComponent,\r\n TestRunsInputsPanelComponent,\r\n RepeatTypeComponent,\r\n InputWithToolTipComponent,\r\n FormlyButtonComponent,\r\n OrderSummaryComponent,\r\n PreloaderComponent,\r\n OrderListComponent,\r\n PreloaderSmallComponent,\r\n UnauthorizedComponent,\r\n BaseComponent,\r\n SerialNumberGeneratorComponent,\r\n MinDirective,\r\n MaxDirective,\r\n SerialNumberListComponent,\r\n SkuNumberListComponent,\r\n SkuValidationComponent,\r\n SapOutputTriggerComponent,\r\n ComingSoonComponent,\r\n ScenarioCatalogComponent,\r\n TestRunOverviewComponent,\r\n FilterPipe,\r\n GenerateTestResultsComponent,\r\n VerifyRetryLoadTestComponent,\r\n HardwarePartnumberLookupComponent,\r\n GoodReceiptMockerComponent,\r\n EntityTrackingComponent,\r\n ToolsComponent,\r\n MockersComponent,\r\n TestRunComponent,\r\n UATAvailabilityComponent,\r\n PrivacyNoticeComponent,\r\n FormlyReadOnlyViewComponent,\r\n CardWrapperComponent,\r\n ItemsWrapperComponent,\r\n ErrorComponent,\r\n OrgCardComponent,\r\n OrgViewLandingPageComponent,\r\n OrgProjectViewComponent,\r\n ErrorDisplayComponent,\r\n SelfServeComponent,\r\n RepeatTypeButtonComponent,\r\n FormlyFieldTabs,\r\n FormlyFieldDropdown,\r\n FormlyLinkComponent,\r\n FormlyPlaygroundComponent,\r\n GenerateMapperStringComponent,\r\n DevicecareComponent,\r\n ModaltableComponent,\r\n MockersformlyComponent,\r\n FileValueAccessor,\r\n FormlyFieldFile,\r\n BlobDownloadComponent,\r\n ],\r\n schemas: [CUSTOM_ELEMENTS_SCHEMA],\r\n entryComponents: [\r\n GenerateTestResultsComponent,\r\n HardwarePartnumberLookupComponent,\r\n VerifyRetryLoadTestComponent,\r\n ],\r\n imports: [\r\n ClipboardModule,\r\n DragDropModule,\r\n MatDialogModule,\r\n MatTabsModule,\r\n MatSelectModule,\r\n MatFormFieldModule,\r\n CommonModule,\r\n BrowserModule,\r\n HttpClientModule,\r\n BrowserAnimationsModule,\r\n FormsModule,\r\n SidebarModule.forRoot(),\r\n NgbModule,\r\n NgJsonEditorModule,\r\n NgxJsonViewerModule,\r\n AppRoutingModule,\r\n RouterModule,\r\n NgxUiLoaderModule.forRoot(ngxUiLoaderConfig),\r\n ReactiveFormsModule,\r\n ModalModule,\r\n FormlyModule.forRoot({\r\n validators: [\r\n\r\n { name: 'masterpack', validation: MasterPackValidator },\r\n { name: 'skuValidation', validation: skuValidation },\r\n ],\r\n validationMessages: [\r\n \r\n { name: 'required', message: 'This field is required' },\r\n { name: 'minlength', message: minlengthValidationMessage },\r\n { name: 'maxlength', message: maxlengthValidationMessage },\r\n { name: 'min', message: minValidationMessage },\r\n { name: 'max', message: maxValidationMessage },\r\n {name: 'json', message: jsonValidationMessage},\r\n {name: 'skuValidation', message: skuValidatorMessage}\r\n ],\r\n types: [\r\n { name: 'repeat', component: RepeatTypeComponent },\r\n { name: 'button', component: FormlyButtonComponent },\r\n { name: 'listview', component: FormlyReadOnlyViewComponent },\r\n { name: 'repeat-button', component: RepeatTypeButtonComponent },\r\n { name: 'tabs', component: FormlyFieldTabs },\r\n { name: 'link', component: FormlyLinkComponent},\r\n {name:'dropdown',component:FormlyFieldDropdown},\r\n {name:'description',component:FormlyFieldDescription},\r\n { name: 'file', component: FormlyFieldFile, wrappers: ['form-field'] },\r\n\r\n ],\r\n wrappers: [\r\n { name: 'panel', component: InputWithToolTipComponent },\r\n { name: 'card', component: CardWrapperComponent },\r\n { name: 'line-items', component: ItemsWrapperComponent }\r\n ],\r\n }),\r\n FormlyMatDatepickerModule,\r\n FormlyMaterialModule,\r\n MatInputModule,\r\n MatButtonModule,\r\n MatNativeDateModule,\r\n MatTooltipModule,\r\n MatSelectModule,\r\n MatDialogModule,\r\n NgSelectModule,\r\n FormlyMatNativeSelectModule,\r\n FormsModule,\r\n MsalModule,\r\n MatSlideToggleModule\r\n ],\r\n \r\n providers: [\r\n TestRunService,\r\n ExcelFileService,\r\n AuthenticationGuard,\r\n RoleGuard,\r\n {\r\n provide: APP_INITIALIZER,\r\n useFactory: init_app,\r\n deps: [ConfigService, Injector],\r\n multi: true\r\n },\r\n {\r\n provide: HTTP_INTERCEPTORS,\r\n useClass: MsalInterceptor,\r\n multi: true\r\n },\r\n {\r\n provide: MSAL_INSTANCE,\r\n useFactory: MSALInstanceFactory,\r\n },\r\n {\r\n provide: MSAL_GUARD_CONFIG,\r\n useFactory: MSALGuardConfigFactory,\r\n },\r\n {\r\n provide: MSAL_INTERCEPTOR_CONFIG,\r\n useFactory: MSALInterceptorConfigFactory,\r\n },\r\n MsalService,\r\n MsalGuard,\r\n MsalBroadcastService,\r\n AuthService,\r\n ShipmentService,\r\n LoadPlanService,\r\n LoadTestService,\r\n GoodReceiptService,\r\n EntityTrackingService,\r\n PagerService,\r\n OrderService,\r\n ConfigService,\r\n ModalService,\r\n MasterDataService,\r\n DescriptionService,\r\n ManageScenariosService,\r\n SAPService,\r\n TestDataService,\r\n UatAvailabilityService,\r\n TestProjectService,\r\n TestCaseProjectService,\r\n OrgViewService,\r\n LandingPageService,\r\n MonitoringService,\r\n GenerateBlobSasTokenService,\r\n jsonValidator,\r\n BlobDownloadService,\r\n DevicecareService,\r\n {\r\n provide: ErrorHandler,\r\n useClass: GlobalErrorHandler\r\n }],\r\n bootstrap: [AppComponent, MsalRedirectComponent]\r\n})\r\nexport class AppModule {\r\n}\r\n","import { Component, OnInit } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'app-preloader-small',\r\n templateUrl: './preloader-small.component.html',\r\n styleUrls: ['./preloader-small.component.css']\r\n})\r\nexport class PreloaderSmallComponent {\r\n}\r\n","
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n","import { ApplicationInsights } from '@microsoft/applicationinsights-web';\r\nimport { ConfigService } from './service/config.service';\r\n//import * as Commons from './Commons';\r\nimport { MsalService } from '@azure/msal-angular';\r\n\r\nexport class AppInsightsLogger {\r\n\r\n private appInsightsInstance: ApplicationInsights = null;\r\n\r\n name: string;\r\n email: string;\r\n alias: string;\r\n url: string;\r\n page: string;\r\n props: {}\r\n\r\n constructor(configService: ConfigService, msalService: MsalService, verticalName?: string, sectionName?: string, flavour?: string, scenario?: string) {\r\n this.appInsightsInstance = AppInsightsLogger.initializeLogger(configService.getAppInsightsInstrumentationKey());\r\n this.name = msalService.instance.getActiveAccount().name;\r\n this.email = msalService.instance.getActiveAccount().username;\r\n this.alias = \"\";\r\n for (var i = 0; i < this.email.length; i++) {\r\n if (this.email[i] !== '@') {\r\n this.alias += this.email[i];\r\n } else {\r\n break\r\n }\r\n }\r\n this.url = window.location.pathname;\r\n this.page = '';\r\n this.page += this.url[0];\r\n var iChars = \"~`!#$%^&*+=[]\\\\\\';,/{}|\\\":<>?\";\r\n\r\n for (var i = 1; i < this.url.length; i++) {\r\n if (iChars.indexOf(this.url.charAt(i)) != -1) {\r\n break\r\n } else {\r\n this.page += this.url[i];\r\n }\r\n }\r\n\r\n if ((verticalName === null || verticalName === '' || verticalName === undefined) && (flavour === null || flavour === '' || flavour === undefined) && (sectionName === null || sectionName === '' || sectionName === undefined) && (scenario === null || scenario === '' || scenario === undefined)) {\r\n this.props = { 'name': this.name, 'alias': this.alias, 'page': this.page};\r\n } else {\r\n this.props = { 'name': this.name, 'alias': this.alias, 'page': this.page, 'verticalName': verticalName, 'sectionName': sectionName, 'flavourName': flavour, 'scenarioName': scenario };\r\n }\r\n \r\n }\r\n\r\n private static initializeLogger(appInsightKey: string): ApplicationInsights {\r\n var appInsightsInstance = new ApplicationInsights({\r\n config: {\r\n instrumentationKey: appInsightKey\r\n }\r\n });\r\n appInsightsInstance.loadAppInsights();\r\n appInsightsInstance.trackPageView();\r\n return appInsightsInstance;\r\n }\r\n\r\n public trackTrace(traceMessage: string): void {\r\n this.appInsightsInstance.trackTrace({ message: traceMessage, properties: this.props });\r\n }\r\n\r\n public trackException(exception: string | Error): void {\r\n if (typeof exception == \"string\") {\r\n this.appInsightsInstance.trackException({ exception: new Error(exception), properties: this.props });\r\n } else {\r\n this.appInsightsInstance.trackException({ exception: exception, properties: this.props });\r\n }\r\n }\r\n\r\n public trackEvent(event: string): void {\r\n this.appInsightsInstance.trackEvent({ name: event, properties: this.props });\r\n }\r\n}\r\n","import { HttpClient } from '@angular/common/http';\r\nimport { Injectable } from '@angular/core';\r\nimport { ConfigService } from './config.service';\r\n\r\n\r\n@Injectable()\r\nexport class BlobDownloadService {\r\n\r\n constructor(private httpClient: HttpClient, private configService: ConfigService) {\r\n }\r\n\r\n getBlobData(blobAdapterName: string, blobName: string) {\r\n const baseUrlWithVersion = this.configService.omtestSuiteAPI.baseUrl + '/api/' + this.configService.omtestSuiteAPI.apiVersion;\r\n return this.httpClient.get(baseUrlWithVersion + '/BlobDownload/GetBlobData/' + blobAdapterName + '/' + blobName);\r\n }\r\n}","export class SKUNumberList {\r\n public totalCount: number;\r\n public skuNumberListItems: SKUNumberListItem[];\r\n}\r\n\r\nexport class SKUNumberListItem {\r\n public sku: string;\r\n public hardwarePartNumber: string;\r\n public countryCode: string;\r\n public inMDS: boolean;\r\n public inOER: boolean;\r\n public inOnePDM: boolean;\r\n public inPDS: boolean;\r\n public inECC: boolean;\r\n public npiValidationMessage: string;\r\n}\r\n","import { FormControl, ValidationErrors } from \"@angular/forms\";\r\nimport { FormlyFieldConfig, FormlyFormOptions } from \"@ngx-formly/core\";\r\n\r\nconst SKU_REGEX = /^[A-Za-z0-9]{3}-[A-Za-z0-9]{5}$/;\r\n\r\nexport function minlengthValidationMessage(err: any, field: { templateOptions: { minLength: any; }; }) {\r\n return `Should have atleast ${field.templateOptions.minLength} characters`;\r\n}\r\nexport function skuValidation(control: FormControl, field: FormlyFieldConfig): ValidationErrors {\r\n const value = control.value;\r\n if ( SKU_REGEX.test(value)) {\r\n return null;\r\n }\r\n else{\r\n return { 'skuValidation': true };\r\n }\r\n \r\n}\r\nexport function skuValidatorMessage(error: any, field: FormlyFieldConfig) {\r\n return `\"${field.formControl.value}\" is not a valid SKU. Please enter a valid SKU in this format XXX-XXXXX.`;\r\n}\r\nexport function maxlengthValidationMessage(err: any, field: { templateOptions: { maxLength: any; }; }) {\r\n if (field.templateOptions['multiple'] === true) {\r\n return `This maximum selection should be ${field.templateOptions.maxLength}`;\r\n }\r\n else {\r\n return `This value should be less than ${field.templateOptions.maxLength} characters`;\r\n }\r\n}\r\n\r\nexport function minValidationMessage(err: any, field: { templateOptions: { min: any; }; }) {\r\n return `This value should be more than ${field.templateOptions.min}`;\r\n}\r\nexport function jsonValidationMessage(err: any, field: { templateOptions: { json: any; }; }) {\r\n return `This value should be a JSON value`;\r\n}\r\nexport function maxValidationMessage(err: any, field: { templateOptions: { max: any; }; }) {\r\n return `This value should be less than ${field.templateOptions.max}`;\r\n}\r\n\r\n\r\nexport function MasterPackValidator(control: FormControl, field: FormlyFieldConfig): ValidationErrors {\r\n const validateMulitplesOfMasterPack = (control.value[\"qty\"] && control.value[\"MASTERPACK_Qty\"] && (Number(control.value[\"qty\"]) % Number(control.value[\"MASTERPACK_Qty\"])) !== 0) ? { 'masterpack': true } : null;\r\n if (validateMulitplesOfMasterPack) {\r\n const qtyControl = control.get(\"qty\");\r\n qtyControl.setErrors({\r\n ...(qtyControl.errors || {}),\r\n \"qty\": {\r\n message: `\"${control.value[\"qty\"]} is not a multiple of ${control.value[\"MASTERPACK_Qty\"]}\"`\r\n }\r\n });\r\n }\r\n return null;\r\n}\r\n","import { Component, OnInit } from '@angular/core';\r\n\r\n@Component({\r\n // selector: 'app-scenariocatalog',\r\n templateUrl: './scenariocatalog.component.html',\r\n styleUrls: ['./scenariocatalog.component.css']\r\n})\r\nexport class ScenarioCatalogComponent implements OnInit {\r\n\r\n constructor() { }\r\n\r\n ngOnInit() {\r\n }\r\n\r\n}\r\n","
\r\n
\r\n

Scenario Catalog

\r\n
 
\r\n
\r\n
\r\n \r\n\r\n
\r\n \r\n
\r\n
\r\n","import * as internal from \"assert\";\r\n\r\nexport class Projects{\r\n projectID:number;\r\n projectName:string;\r\n projectOwner:string;\r\n projectDescriptions:string;\r\n CreateDate:Date;\r\n TestPlans: TestPlan[]; \r\n}\r\n\r\n\r\nexport class TestPlan{\r\n\r\n}\r\n\r\nexport class TestPlanInstance{\r\n testPlanID:number;\r\n testPlanInstanceID:string;\r\n testPlanName:string;\r\n testPlanDescription:string;\r\n owner:string;\r\n startDate:string;\r\n endDate:string;\r\n createDate:string;\r\n testCaseInstances:TestCaseInstance[];\r\n customerName:string;\r\n countryCode:string;\r\n stateCode:string;\r\n status:string;\r\n modifiedDate:string;\r\n}\r\n\r\n\r\n\r\nexport class TestCase{ \r\n //TODO \r\n}\r\n\r\n\r\nexport class TestCaseInstance{\r\n testCaseId:number = undefined;\r\n correlationId:string = undefined;\r\n testCaseName:string = undefined;\r\n TestCaseDescription:string = undefined;\r\n testPlanInstanceId:string;\r\n inputParameter:string = undefined;\r\n projectId:string = undefined;\r\n createDate:string;\r\n startDate:string;\r\n endDate:string;\r\n userName:string;\r\n userEmail:string;\r\n status:string;\r\n overallStatus:string;\r\n detailLink:string;\r\n responseResult:string;\r\n}\r\n\r\n\r\nexport class TestPlanInstanceRequest {\r\n testPlanInstance: TestPlanInstance;\r\n}\r\n\r\nexport class TestCaseInstanceRequest {\r\n testCaseInstances: TestCaseInstance [];\r\n}\r\n\r\nexport class SNValidationRequest{\r\n Country?:string;\r\n TestPlanInstanceId:string;\r\n TestPlanPreStepInstance: TestPlanPreStepInstance;\r\n RequesterEmail: string;\r\n RequesterName: string;\r\n}\r\n\r\nexport class TestPlanPreStepInstance{\r\n testPlanPreStepInstanceId:string;\r\n testPlanPreStepId: number;\r\n testPlanInstanceId: string;\r\n status:string;\r\n eta: number;\r\n delayAfterPreviousStep:number;\r\n stepRank: number;\r\n createdAt?:Date;\r\n lastModifiedAt:Date;\r\n stepCompleteDate:Date;\r\n stepStartDate:Date;\r\n constructor(step){\r\n this.testPlanPreStepId = step.testPlanPreStepId;\r\n this.testPlanPreStepInstanceId = step.testPlanPreStepInstanceId;\r\n this.testPlanInstanceId = step.testPlanInstanceId;\r\n this.status = step.status;\r\n this.eta= step.eta;\r\n this.delayAfterPreviousStep= step.delayAfterPreviousStep;\r\n this.stepRank= step.stepRank;\r\n this.createdAt = step.createdAt;\r\n this.lastModifiedAt = step.lastModifiedAt;\r\n this.stepStartDate = step.stepStartDate;\r\n this.stepCompleteDate = step.stepCompleteDate;\r\n }\r\n}\r\n\r\n\r\n\r\nexport class GetCustomSteps {\r\n TestPlanID : string;\r\n TestPlanInstanceID: string;\r\n PreReqSteps: PreReqSteps [];\r\n}\r\n\r\nexport class PreReqSteps {\r\n PreReqStepName :string;\r\n Description: string;\r\n ApiLink:string;\r\n IsDownloaded:boolean;\r\n PreReqStepRank:string;\r\n CompletionDate:string;\r\n PreReqStepStatus: string;\r\n}\r\n\r\nexport class TestPlanExcelUploadInput{\r\n public testRunName: string;\r\n public testPlanInstanceId: string;\r\n public userName: string;\r\n public userEmail: string;\r\n public sheetJsonData: string;\r\n}\r\n\r\n\r\nexport class SharedOutputRequest{\r\n public testPlanPreStepInstanceId : string;\r\n public testPlanInstanceId: string;\r\n}\r\n","import { Component, OnInit, Input, Output, EventEmitter } from '@angular/core';\r\nimport { Console } from 'console';\r\n\r\n@Component({\r\n selector: 'app-date-picker',\r\n templateUrl: './date-picker.component.html',\r\n styleUrls: ['./date-picker.component.css']\r\n})\r\nexport class DatePickerComponent implements OnInit {\r\n\r\n @Input() date: string;\r\n @Output() dateChange = new EventEmitter();\r\n @Input() ariaLabel: string;\r\n @Input() disabled = true;\r\n dateString: string;\r\n localTime:string;\r\n\r\n constructor() { }\r\n\r\n ngOnInit(): void {\r\n //console.log(this.date);\r\n var date;\r\n if (!this.date.endsWith('Z')) {\r\n date = new Date(this.date + 'Z');\r\n } else {\r\n date = new Date(this.date);\r\n }\r\n this.dateString = date.toLocaleString([], { year:'2-digit', month:'2-digit', day:'2-digit', hour: '2-digit', minute: '2-digit' });\r\n\r\n }\r\n\r\n handleDateChange(value: string) {\r\n // const date = new Date(value);\r\n // date.setMinutes(date.getMinutes() + date.getTimezoneOffset());\r\n\r\n // this.date = date;\r\n // this.dateChange.emit(date);\r\n }\r\n}\r\n","
\r\n \r\n {{dateString}}\r\n
","function webpackEmptyAsyncContext(req) {\n\t// Here Promise.resolve().then() is used instead of new Promise() to prevent\n\t// uncaught exception popping up in devtools\n\treturn Promise.resolve().then(function() {\n\t\tvar e = new Error(\"Cannot find module '\" + req + \"'\");\n\t\te.code = 'MODULE_NOT_FOUND';\n\t\tthrow e;\n\t});\n}\nwebpackEmptyAsyncContext.keys = function() { return []; };\nwebpackEmptyAsyncContext.resolve = webpackEmptyAsyncContext;\nmodule.exports = webpackEmptyAsyncContext;\nwebpackEmptyAsyncContext.id = \"crnd\";","export const environment = {\r\n production: true,\r\n auth: {\r\n tenant: \"microsoft.onmicrosoft.com\",\r\n clientId: \"e3e8e619-3608-428c-b340-98b416c30100\" \r\n },\r\n CI: {\r\n omTestSuiteAPI: {\r\n baseUrl: \"https://omtestsuiteservice-ci-westus-wa.azurewebsites.net/api/v1.0\",\r\n resourceUrl: 'https://supplychainservices.microsoft.com/OMIntegrationTestSuiteAPI',\r\n apiVersion: \"v1.0\",\r\n },\r\n keyVaultAPI: {\r\n baseUrl: \"https://omtestsuiteciwestuskv.vault.azure.net/\",\r\n apiVersion: \"2016-10-01\",\r\n resourceUrl: \"https://vault.azure.net\",\r\n }\r\n },\r\n UAT: {\r\n omTestSuiteAPI: {\r\n baseUrl: \"https://omtestsuiteservice-uat-westus-wa.azurewebsites.net/api/v1.0\",\r\n resourceUrl: 'https://supplychainservices.microsoft.com/OMIntegrationTestSuiteAPI',\r\n apiVersion: \"v1.0\",\r\n },\r\n keyVaultAPI: {\r\n baseUrl: \"https://omtestsuiteuat-westus-kv.vault.azure.net\",\r\n apiVersion: \"2016-10-01\",\r\n resourceUrl: \"https://vault.azure.net\",\r\n } \r\n },\r\n Prod: {\r\n omTestSuiteAPI: {\r\n baseUrl: \"https://omtestsuiteservice-uat-westus-wa.azurewebsites.net/api/v1.0\",\r\n resourceUrl: 'https://supplychainservices.microsoft.com/OMIntegrationTestSuiteAPI',\r\n apiVersion: \"v1.0\",\r\n },\r\n keyVaultAPI: {\r\n baseUrl: \"https://omtestsuiteuat-westus-kv.vault.azure.net\",\r\n apiVersion: \"2016-10-01\",\r\n resourceUrl: \"https://vault.azure.net\",\r\n } \r\n },\r\n supportedEnvironments: [\"CI\", \"UAT\", \"Production\"]\r\n};\r\n","import { Component } from '@angular/core';\r\nimport { MonitoringService } from '../service/monitoring.service';\r\n\r\n@Component({\r\n template: ''\r\n})\r\nexport class BaseComponent {\r\n\r\n private myMonitoringService: MonitoringService;\r\n\r\n constructor(monitoringService: MonitoringService) {\r\n // Manually retrieve the monitoring service from the injector\r\n // so that constructor has no dependencies that must be passed in from child\r\n // var providers\r\n // const injector = ReflectiveInjector.resolveAndCreate([ MonitoringService, ConfigService, AdalService]);\r\n // this.myMonitoringService = injector.get(MonitoringService);\r\n this.myMonitoringService = monitoringService;\r\n this.logNavigation();\r\n }\r\n\r\n private logNavigation() {\r\n this.myMonitoringService.logPageView();\r\n }\r\n}\r\n","export class LoadTestExecutionResponse {\r\n public status: string;\r\n public response: LoadTestDetail;\r\n}\r\n\r\nexport class LoadTestDetail {\r\n public testRunId: string;\r\n public name: string;\r\n public vertical: string;\r\n public section: string;\r\n public orders: number;\r\n public createdBy: string;\r\n public createdAt: string;\r\n public stepSummary: stepSummary[];\r\n}\r\n\r\nexport class stepSummary {\r\n public name: string;\r\n public stepIdentifier: string;\r\n public processed: number;\r\n public remaining: number;\r\n public mockDC: boolean;\r\n public mockFMV: boolean;\r\n public canPause: boolean;\r\n public isPaused: boolean;\r\n public status: string;\r\n public eventStartedAt: Date;\r\n public eventLastModifiedAt: Date;\r\n}\r\n\r\nexport class InputsModel {\r\n constructor() {\r\n this.TestRunId = 0,\r\n this.LoadTestName = \"havi\",\r\n this.Vertical = '-1',\r\n this.Section = '-1',\r\n this.LoadSize = 25000,\r\n this.CreatedBy = \"Maha Ramaswamy\",\r\n this.CreatedAt = Date(); \r\n }\r\n TestRunId: number;\r\n LoadTestName: string;\r\n Vertical: string;\r\n Section: string;\r\n LoadSize: number;\r\n ServiceLineNumber: number;\r\n CreatedBy: string;\r\n CreatedAt: string;\r\n}\r\n","export class TableItem {\r\n public tableHeading: string[];\r\n public tableRows: string[][];\r\n \r\n }\r\n\r\n\r\n","import { Injectable } from '@angular/core';\r\nimport { HttpClient, HttpHeaders } from \"@angular/common/http\";\r\nimport { ConfigService } from './config.service';\r\nimport { LoadTestExecutionResponse, LoadTestDetail} from '../model/loadtesting.model';\r\nimport { LoadTestExecutionRequest } from '../model/loadtestingrequest.model';\r\nimport { CreateLoadTestRequest } from '../model/createloadtestrequest.model';\r\nimport { CreateLoadTestResponse } from '../model/createloadtestresponse.model';\r\nimport { ExecuteStepRequest, ExecuteStepResponse } from '../model/executestep.model';\r\nimport { ListTestRunsRequest, ListTestRunsResponse, ListUsersDetails } from '../model/listTestRuns';\r\nimport { NgxUiLoaderConfig, NgxUiLoaderService } from 'ngx-ui-loader';\r\n\r\n@Injectable()\r\nexport class LoadTestService {\r\n ngxLoaderConfig: NgxUiLoaderConfig;\r\n\r\n constructor(private ngxUiLoaderService: NgxUiLoaderService, private httpClient: HttpClient, private configService: ConfigService) {\r\n this.ngxLoaderConfig = this.ngxUiLoaderService.getDefaultConfig();\r\n }\r\n \r\n public getLoadTestExecution(loadTestExectuionRequest: LoadTestExecutionRequest) {\r\n const baseUrlWithVersion = this.configService.omtestSuiteAPI.baseUrl + '/api/' + this.configService.omtestSuiteAPI.apiVersion;\r\n return this.httpClient.post(baseUrlWithVersion + '/loadtest/summary', loadTestExectuionRequest);\r\n }\r\n\r\n public storeCreateLoadTest(createLoadTestRequest: CreateLoadTestRequest) {\r\n const baseUrlWithVersion = this.configService.omtestSuiteAPI.baseUrl + '/api/' + this.configService.omtestSuiteAPI.apiVersion;\r\n return this.httpClient.post(baseUrlWithVersion + '/loadtest/create', createLoadTestRequest);\r\n }\r\n\r\n public getExecuteStep(executeStepRequest: ExecuteStepRequest) {\r\n const baseUrlWithVersion = this.configService.omtestSuiteAPI.baseUrl + '/api/' + this.configService.omtestSuiteAPI.apiVersion;\r\n return this.httpClient.post(baseUrlWithVersion + '/loadtest/executeStep', executeStepRequest);\r\n }\r\n\r\n public getListTestRuns(listTestRunsRequest: ListTestRunsRequest) {\r\n const baseUrlWithVersion = this.configService.omtestSuiteAPI.baseUrl + '/api/' + this.configService.omtestSuiteAPI.apiVersion;\r\n return this.httpClient.post(baseUrlWithVersion + '/loadtest/list', listTestRunsRequest);\r\n }\r\n\r\n public getUsersList() {\r\n const baseUrlWithVersion = this.configService.omtestSuiteAPI.baseUrl + '/api/' + this.configService.omtestSuiteAPI.apiVersion;\r\n return this.httpClient.post(baseUrlWithVersion + '/loadtest/GetUsersDetails', {});\r\n }\r\n}\r\n","import { Component, OnInit } from '@angular/core';\r\nimport { ActivatedRoute } from '@angular/router';\r\nimport { OrderService } from '../service/order.service';\r\nimport { OrderSummary, SalesOrder } from '../model/order-summary.model';\r\nimport { OrderSummaryTimeline, OrderSummaryTimelineItem } from '../model/ordersummary-timeline.model';\r\nimport { NgbModal, ModalDismissReasons } from '@ng-bootstrap/ng-bootstrap';\r\nimport { BaseComponent } from '../base/base.component';\r\nimport { MonitoringService } from '../service/monitoring.service';\r\nimport { ConfigService } from '../service/config.service';\r\nimport * as log from '../AppInsightsLogger';\r\n\r\nimport { ApplicationInsights } from '@microsoft/applicationinsights-web';\r\nimport { MsalService } from '@azure/msal-angular';\r\n\r\n@Component({\r\n selector: 'app-order-summary',\r\n templateUrl: './order-summary.component.html',\r\n styleUrls: ['./order-summary.component.css']\r\n})\r\n\r\nexport class OrderSummaryComponent extends BaseComponent implements OnInit {\r\n\r\n name: string;\r\n customerPurchaseOrder: string;\r\n orderSummary: OrderSummary;\r\n timeline = new OrderSummaryTimeline();\r\n showLoader = true;\r\n closeResult: string;\r\n modalJsonPayload: string;\r\n modalFileId: string;\r\n sub: any;\r\n openModal: boolean;\r\n showModalLoader = false;\r\n modalMessage = '';\r\n showModalMessage = false;\r\n modalTitle = '';\r\n modalId = '';\r\n isButtonActive = new Map();\r\n private logger: log.AppInsightsLogger;\r\n\r\n constructor(private orderService: OrderService,\r\n private route: ActivatedRoute,\r\n private modalService: NgbModal,\r\n private msalService: MsalService, \r\n private monitoringService: MonitoringService,\r\n private configService: ConfigService) {\r\n super(monitoringService);\r\n this.name = this.msalService.instance.getActiveAccount().name;\r\n this.logger = new log.AppInsightsLogger(configService, msalService);\r\n }\r\n\r\n ngOnInit() {\r\n this.logger.trackTrace(`Successfully landed to Order summary `);\r\n this.timeline.orderTimelineItems = [];\r\n this.customerPurchaseOrder = this.route.snapshot.params['customerPurchaseOrder'];\r\n this.orderService.getOrderSummary(this.route.snapshot.params['customerPurchaseOrder']).subscribe(\r\n (response) => {\r\n this.logger.trackTrace(`Get Order Summary Successfully`);\r\n this.orderSummary = response;\r\n this.orderSummary.salesOrders.forEach(salesOrder => { this.isButtonActive.set(salesOrder.orderConfirmationNumber, false); });\r\n this.showLoader = false;\r\n if (this.orderSummary && this.orderSummary.salesOrders && this.orderSummary.salesOrders.length > 0) {\r\n this.renderTimeline(this.orderSummary.salesOrders[0]);\r\n }\r\n });\r\n \r\n }\r\n\r\n isActive(salesOrder: SalesOrder) {\r\n return this.isButtonActive.get(salesOrder.orderConfirmationNumber);\r\n }\r\n\r\n setActive(orderConfirmationNumber: any) {\r\n for (let i = 0; i < this.orderSummary.salesOrders.length; i++) {\r\n if (this.orderSummary.salesOrders[i].orderConfirmationNumber === orderConfirmationNumber) {\r\n this.isButtonActive.set(this.orderSummary.salesOrders[i].orderConfirmationNumber, true);\r\n } else {\r\n this.isButtonActive.set(this.orderSummary.salesOrders[i].orderConfirmationNumber, false);\r\n }\r\n }\r\n }\r\n\r\n renderTimeline(salesOrder: SalesOrder) {\r\n this.setActive(salesOrder.orderConfirmationNumber);\r\n this.timeline = new OrderSummaryTimeline();\r\n let timeline = new OrderSummaryTimeline();\r\n timeline.orderTimelineItems = [];\r\n timeline.salesOrderNumber = salesOrder.orderConfirmationNumber;\r\n\r\n if (salesOrder !== null) {\r\n let timelineItem = new OrderSummaryTimelineItem({\r\n message: 'Order Confirmation Received',\r\n messageType: 'OrderConfirmation',\r\n entityId: salesOrder.orderConfirmationNumber,\r\n correlationId: salesOrder.orderConfirmationCorrelationId,\r\n timestamp: salesOrder.timestamp\r\n });\r\n timeline.orderTimelineItems.push(timelineItem);\r\n salesOrder.deliveryOrders.forEach(deliveryOrder => {\r\n let timelineItem = new OrderSummaryTimelineItem();\r\n timelineItem.message = 'Delivery Order Received';\r\n timelineItem.messageType = 'DeliveryOrder';\r\n timelineItem.entityId = deliveryOrder.deliveryOrderNumber;\r\n timelineItem.correlationId = deliveryOrder.deliveryOrderCorrelationId;\r\n timelineItem.timestamp = deliveryOrder.timestamp;\r\n timeline.orderTimelineItems.push(timelineItem);\r\n });\r\n salesOrder.loadPlans.forEach(loadplan => {\r\n var timelineItem = new OrderSummaryTimelineItem({\r\n message: 'LoadPlan Received',\r\n messageType: 'LoadPlan',\r\n entityId: loadplan.loadId,\r\n correlationId: loadplan.loadPlanCorrelationId,\r\n timestamp: loadplan.timestamp\r\n });\r\n timeline.orderTimelineItems.push(timelineItem);\r\n });\r\n salesOrder.shipments.forEach(shipment => {\r\n let timelineItem = new OrderSummaryTimelineItem({\r\n message: 'Shipment Received',\r\n messageType: 'Shipment',\r\n entityId: shipment.shipmentNumber,\r\n correlationId: shipment.shipmentCorrelationId,\r\n timestamp: shipment.timestamp\r\n });\r\n timeline.orderTimelineItems.push(timelineItem);\r\n });\r\n }\r\n\r\n this.timeline = timeline;\r\n }\r\n\r\n fetchOSSPayload() {\r\n this.showModalLoader = true;\r\n this.showModalMessage = false;\r\n this.orderService.getOrderStatus(this.timeline.salesOrderNumber).subscribe(\r\n (response) => {\r\n this.showModalLoader = false;\r\n this.modalJsonPayload = response;\r\n this.modalTitle = 'Order Status';\r\n this.modalId = this.timeline.salesOrderNumber;\r\n this.logger.trackTrace(`In Order Summary ${this.modalTitle} Successfully`);\r\n }, (error: any) => {\r\n this.showModalLoader = false;\r\n this.showModalMessage = true;\r\n this.modalMessage = 'An error occured while fetching order status payload.';\r\n this.logger.trackTrace(`In Order Summary ${this.modalMessage}`);\r\n this.logger.trackException(error);\r\n });\r\n }\r\n\r\n fetchAndOpenPayload(item: OrderSummaryTimelineItem) {\r\n this.showModalLoader = true;\r\n this.showModalMessage = false;\r\n\r\n if (item.messageType === 'OrderConfirmation') {\r\n this.modalTitle = 'Order Confirmation';\r\n this.modalId = item.correlationId;\r\n this.orderService.getOrderConfirmationByCorrelationId(item.correlationId).subscribe((response) => {\r\n this.logger.trackTrace(`In Order Summary ${this.modalTitle} Successfully`);\r\n this.showModalLoader = false;\r\n this.modalJsonPayload = response;\r\n }, (error: any) => {\r\n this.showModalLoader = false;\r\n this.showModalMessage = true;\r\n this.modalMessage = 'An error occured while fetching payload.';\r\n this.logger.trackTrace(`In Order Summary ${this.modalMessage} ${error}`);\r\n this.logger.trackException(error);\r\n });\r\n } else if (item.messageType === 'DeliveryOrder') {\r\n this.modalTitle = 'Delivery Order';\r\n this.modalId = item.correlationId;\r\n this.orderService.getDeliveryOrderByCorrelationId(item.correlationId).subscribe((response) => {\r\n this.logger.trackTrace(`In Order Summary ${this.modalTitle} Successfully`);\r\n this.showModalLoader = false;\r\n this.modalJsonPayload = response;\r\n }, (error: any) => {\r\n this.showModalLoader = false;\r\n this.showModalMessage = true;\r\n this.modalMessage = 'An error occured while fetching payload.';\r\n this.logger.trackTrace(`In Order Summary ${this.modalMessage} ${error}`);\r\n this.logger.trackException(error);\r\n });\r\n } else if (item.messageType === 'Shipment') {\r\n this.modalTitle = 'Shipment';\r\n this.modalId = item.correlationId;\r\n this.orderService.getShipmentByCorrelationId(item.correlationId).subscribe((response) => {\r\n this.logger.trackTrace(`In Order Summary ${this.modalTitle} Successfully`);\r\n this.showModalLoader = false;\r\n this.modalJsonPayload = response;\r\n }, (error: any) => {\r\n this.showModalLoader = false;\r\n this.showModalMessage = true;\r\n this.modalMessage = 'An error occured while fetching payload.';\r\n this.logger.trackTrace(`In Order Summary ${this.modalMessage} ${error}`);\r\n this.logger.trackException(error);\r\n });\r\n }\r\n else if (item.messageType === 'LoadPlan') {\r\n this.modalTitle = 'LoadPlan';\r\n this.modalId = item.correlationId;\r\n this.orderService.getLoadPlanByCorrelationId(item.correlationId).subscribe((response) => {\r\n this.showModalLoader = false;\r\n this.modalJsonPayload = response;\r\n this.logger.trackTrace(`In Order Summary ${this.modalTitle} Successfully`);\r\n }, (error: any) => {\r\n this.showModalLoader = false;\r\n this.showModalMessage = true;\r\n this.modalMessage = 'An error occured while fetching payload.';\r\n this.logger.trackTrace(`In Order Summary ${this.modalMessage} ${error}`);\r\n this.logger.trackException(error);\r\n });\r\n }\r\n }\r\n\r\n onModalFetchPayloadSuccess(response: any) {\r\n console.log(response);\r\n this.showModalLoader = false;\r\n this.modalJsonPayload = response;\r\n }\r\n\r\n onModalFetchPAyloadFailure(error: any) {\r\n this.showModalLoader = false;\r\n this.showModalMessage = true;\r\n this.modalMessage = 'An error occured while fetching the payload.';\r\n this.logger.trackTrace(`In Order Summary ${this.modalMessage}`);\r\n this.logger.trackException(error);\r\n }\r\n\r\n downloadOSSPayloadFile() {\r\n if (this.modalJsonPayload) {\r\n this.downloadTextFile(JSON.stringify(this.modalJsonPayload), this.modalId + '.json');\r\n }\r\n }\r\n\r\n downloadTextFile(text: any, name: string) {\r\n const a = document.createElement('a');\r\n const type = name.split('.').pop();\r\n a.href = URL.createObjectURL(new Blob([text], { type: `text/${type === 'txt' ? 'plain' : type}` }));\r\n a.download = name;\r\n a.click();\r\n }\r\n\r\n open(content: any, type: string, item: OrderSummaryTimelineItem) {\r\n // this.fetchOSSPayload();\r\n if (type === 'OrderStatusPayload') {\r\n this.fetchOSSPayload();\r\n } else if (type === 'AtomicServicePayload') {\r\n this.fetchAndOpenPayload(item);\r\n }\r\n\r\n this.modalService.open(content, { ariaLabelledBy: 'modal-basic-title', size: 'lg' }).result.then((result) => {\r\n this.closeResult = `Closed with: ${result}`;\r\n }, (reason) => {\r\n this.closeResult = `Dismissed ${this.getDismissReason(reason)}`;\r\n });\r\n }\r\n\r\n isAtomicServicePayloadDownloadEnabled() {\r\n return true;\r\n }\r\n\r\n private getDismissReason(reason: any): string {\r\n if (reason === ModalDismissReasons.ESC) {\r\n return 'by pressing ESC';\r\n } else if (reason === ModalDismissReasons.BACKDROP_CLICK) {\r\n return 'by clicking on a backdrop';\r\n } else {\r\n return `with: ${reason}`;\r\n }\r\n }\r\n}\r\n","
\r\n
\r\n
Customer Purchase Order
\r\n

{{ customerPurchaseOrder }}

\r\n
\r\n
\r\n \r\n
Sales Orders
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
Order Timeline
\r\n
{{ timeline.salesOrderNumber }}
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n

{{ timelineItem.message }}

\r\n

{{ timelineItem.entityId }}

\r\n

{{ timelineItem.correlationId }}

\r\n

{{ timelineItem.correlationId }}

\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n\r\n\r\n
\r\n
{{ modalTitle }} - {{ modalId }}
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n

{{ modalMessage }}

\r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n","export class ExecuteStepRequest {\r\n public LoadTestRunId: string;\r\n\r\n public StepIdentifier: string;\r\n\r\n public BatchSize: number;\r\n}\r\n\r\nexport class ExecuteStepResponse {\r\n public status: string;\r\n}\r\n","export class TestRunList {\r\n public totalCount: number;\r\n public testRunListItems: TestRunListItem[];\r\n}\r\n\r\nexport class TestRunListItem {\r\n public testRunId: string;\r\n public testRunName: string;\r\n public orderCount: number;\r\n public CreatedAt: Date;\r\n public LastModifiedAt: Date;\r\n public status: string;\r\n}\r\n","import { HttpClient } from '@angular/common/http';\r\nimport { Injectable } from '@angular/core';\r\nimport { TrackingEntitiesResponse } from '../model/entitytracking.model';\r\nimport { ConfigService } from './config.service';\r\n\r\n@Injectable()\r\nexport class EntityTrackingService {\r\n\r\n constructor(private httpClient: HttpClient, private configService: ConfigService) {\r\n }\r\n\r\n getEntityTracking(entityType: string, entityNumbers: string[]) {\r\n const baseUrlWithVersion = this.configService.omtestSuiteAPI.baseUrl + '/api/' + this.configService.omtestSuiteAPI.apiVersion;\r\n return this.httpClient.post(baseUrlWithVersion + '/order/TrackEntities', { EntityType: entityType, EntityIDs: entityNumbers });\r\n }\r\n\r\n getEntityTrackingInChunks(entityType: string, entityNumbers: string[], chunkIdx: number){\r\n const baseUrlWithVersion = this.configService.omtestSuiteAPI.baseUrl + '/api/' + this.configService.omtestSuiteAPI.apiVersion;\r\n return this.httpClient.post(\r\n baseUrlWithVersion + '/order/TrackEntities', \r\n { \r\n EntityType: entityType, \r\n EntityIDs: entityNumbers,\r\n PartialQuerySection: chunkIdx \r\n }); \r\n }\r\n}\r\n","import { Injectable } from \"@angular/core\";\r\nimport {\r\n Router,\r\n CanActivate,\r\n ActivatedRouteSnapshot,\r\n RouterStateSnapshot,\r\n} from \"@angular/router\";\r\nimport { MsalService, MsalBroadcastService } from \"@azure/msal-angular\";\r\nimport { InteractionStatus } from \"@azure/msal-browser/dist/utils/BrowserConstants\";\r\nimport { Observable, Subject } from \"rxjs\";\r\nimport { filter, takeUntil } from \"rxjs/operators\";\r\n\r\n@Injectable({\r\n providedIn: \"root\",\r\n})\r\nexport class RoleGuard implements CanActivate {\r\n private readonly _destroying$ = new Subject();\r\n\r\n constructor(\r\n private router: Router,\r\n private msalService: MsalService,\r\n private msalBroadcastService: MsalBroadcastService\r\n ) {}\r\n\r\n canActivate(\r\n route: ActivatedRouteSnapshot,\r\n state: RouterStateSnapshot\r\n ): Observable | Promise | boolean {\r\n var expectedRoles = route.data.expectedRole;\r\n return new Promise((resolve) => {\r\n this.msalBroadcastService.inProgress$\r\n .pipe(\r\n filter(\r\n (status: InteractionStatus) => status === InteractionStatus.None\r\n ),\r\n takeUntil(this._destroying$)\r\n )\r\n .subscribe(() => {\r\n var isRolePresent = false;\r\n if (this.msalService.instance.getAllAccounts().length > 0) {\r\n var userRoles =\r\n this.msalService.instance.getAllAccounts()[0].idTokenClaims.roles;\r\n isRolePresent = expectedRoles.some((role: any) =>\r\n userRoles.includes(role)\r\n );\r\n if (isRolePresent) {\r\n resolve(true);\r\n } else {\r\n this.router.navigate[\"/unauthorized\"];\r\n resolve(false);\r\n }\r\n } else {\r\n this.router.navigate[state.url];\r\n resolve(false);\r\n }\r\n });\r\n });\r\n }\r\n}\r\n","import { Component, OnInit, ViewEncapsulation } from '@angular/core';\r\nimport { BaseComponent } from '../base/base.component';\r\nimport { MonitoringService } from '../service/monitoring.service';\r\nimport * as uuid from 'uuid';\r\nconst uuidv1 = require('uuid/v1'); // guid generation\r\n\r\n@Component({\r\n selector: 'app-feedback',\r\n templateUrl: './feedback.component.html',\r\n styleUrls: ['./feedback.component.css'],\r\n encapsulation: ViewEncapsulation.None\r\n})\r\nexport class FeedbackComponent extends BaseComponent implements OnInit {\r\n isInitialized: boolean = false;\r\n\r\n constructor(private monitoringService: MonitoringService) {\r\n super(monitoringService);\r\n }\r\n\r\n ngOnInit() {\r\n }\r\n\r\n private initOCV() {\r\n ( window).OfficeBrowserFeedback = ( window).OfficeBrowserFeedback || {};\r\n\r\n ( window).OfficeBrowserFeedback.initOptions = {\r\n appId: 2372, // Replace by your own app id\r\n stylesUrl: '/assets/@ms-ofb/officebrowserfeedback/styles/officebrowserfeedback.min.css', // Replace by where you have hosted the .css\r\n intlUrl: '/assets/@ms-ofb/officebrowserfeedback/intl/', // Replace by where you have hosted the intl files.\r\n // intlFilename is an optional property for using a custom filename for the internationalized strings, the default filename will be used if it is not specified\r\n // intlFilename: \"/scripts.js\", // (optional) Here the default filename is used for this field, simply to demonstrate the syntax for this property\r\n environment: 0, // 0 - Prod, 1 - Int\r\n primaryColour: '#1B5E20', // Replace by a colour which goes with your website.\r\n secondaryColour: '#107180', // Replace by a colour which goes with your website.\r\n userEmail: '',\r\n customResourcesSetExternally: 1,\r\n isShowThanks: true,\r\n sessionId: uuidv1(), // (optional) If specified, the value needs to be a valid GUID\r\n // cid: '1234567890_LiveId', // (optional)\r\n // build: '123456789', // (optional) Another example: 99.1.1.123456789\r\n onError: function onError(err) { this.monitoringService.logEvent('OCV SDK encountered error: ' + err); }, // (optional) Callback which gets executed when SDK errors\r\n bugForm: true, // (optional) false by default\r\n // userVoice is optional, basic form will be displayed if not specified.\r\n /*\r\n userVoice: {\r\n url: 'http://go.microsoft.com/fwlink/?LinkID=786935',\r\n termsOfServiceUrl: 'http://go.microsoft.com/fwlink/?LinkID=786896',\r\n privacyPolicyUrl: 'http://go.microsoft.com/fwlink/?LinkID=786895'\r\n }*/\r\n };\r\n\r\n }\r\n\r\n private handlePromise(promise: any): void {\r\n promise.then(\r\n function onFulfilled() {\r\n this.monitoringService.logEvent('OCV Initialization Success');\r\n }\r\n )\r\n .catch(\r\n function onRejected(err) {\r\n this.monitoringService.logEvent('OCV Initialization Failed. See error in properties', err);\r\n }\r\n );\r\n }\r\n\r\n public showFeedbackPopup(): void {\r\n if (!this.isInitialized) {\r\n this.initOCV();\r\n this.isInitialized = true;\r\n }\r\n\r\n this.handlePromise(( window).OfficeBrowserFeedback.multiFeedback());\r\n }\r\n}\r\n","import { Component, OnInit, Input } from '@angular/core';\r\nimport { UatAvailabilityService } from '../../service/uatavailability.service';\r\nimport { MasterDataService } from '../../service/masterdata.service';\r\nimport { MsalService } from '@azure/msal-angular';\r\nimport { ConfigService } from '../../service/config.service';\r\nimport * as log from '../../AppInsightsLogger';\r\nimport { skip } from 'rxjs/operators';\r\nimport { UATAvailability } from '../../model/uatAvailability.model';\r\nimport { NgxUiLoaderService } from 'ngx-ui-loader';\r\nimport { ManageScenariosService } from '../../service/manage-scenarios.service';\r\nimport { TestProjectService } from '../../service/testproject.service';\r\nimport { OrgViewService } from 'src/app/service/org-view.service';\r\nimport { ActivatedRoute, ParamMap } from '@angular/router';\r\nimport { Router } from '@angular/router';\r\nimport { Projects, TestPlanInstance } from 'src/app/model/project-view.model';\r\nimport { throwMatDialogContentAlreadyAttachedError } from '@angular/material/dialog';\r\nexport { BaseTestPlanInstance, TestPlan } from '../test-grid/test-grid.component';\r\nimport { Page } from '../../model/masterdata.model';\r\nimport { DescriptionService } from '../../service/description.service';\r\n\r\n@Component({\r\n selector: 'app-org-project-view',\r\n templateUrl: './org-project-view.component.html',\r\n styleUrls: ['./org-project-view.component.css']\r\n})\r\nexport class OrgProjectViewComponent implements OnInit {\r\n private logger: log.AppInsightsLogger;\r\n private gridSchema: any = [];\r\n private project: any;\r\n orgName: string;\r\n isLoading:boolean=true;\r\n orgDescription: any;\r\n organizationID: number;\r\n glossaryList: any[];\r\n is500error: boolean = false;\r\n projectDescription: string;\r\n\r\n constructor(private ngxLoader: NgxUiLoaderService,\r\n private msalService: MsalService,\r\n private configService: ConfigService,\r\n private uatDataService: UatAvailabilityService,\r\n private masterDataService: MasterDataService,\r\n private manageTestRunsService: ManageScenariosService,\r\n private testProjectService: TestProjectService,\r\n private orgViewService: OrgViewService,\r\n private descriptionService: DescriptionService,\r\n private router: ActivatedRoute) {\r\n this.logger = new log.AppInsightsLogger(configService, msalService);\r\n }\r\n\r\n ngOnInit() {\r\n //this.router.navigate(['/org-project-view']);\r\n this.loadGlossary();\r\n this.gridSchema = [\r\n {\r\n label: 'Project',\r\n class: 'col-3 col-sm-3',\r\n filterType:'link',\r\n key: 'projectName'\r\n \r\n },\r\n\r\n {\r\n label: \"Status\",\r\n class: 'col col-xl',\r\n filterType: 'status',\r\n key: 'projectStatus',\r\n columnParameters: {\r\n }\r\n },\r\n\r\n {\r\n label: 'Owner',\r\n class: 'col col-xl-2',\r\n filterType: 'string',\r\n isEditable:'false',\r\n key: 'projectOwner',\r\n filterDisplay: 'string'\r\n \r\n },\r\n\r\n {\r\n label: 'Created',\r\n class: 'col col-xl',\r\n key:'projectCreateDate',\r\n filterType: 'date'\r\n },\r\n {\r\n label: 'Last Modified',\r\n class: 'col col-xl',\r\n key: 'projectModifiedDate',\r\n filterType: 'date',\r\n },\r\n \r\n ];\r\n\r\n\r\n this.setOrgData(); \r\n \r\n }\r\n\r\n loadGlossary() {\r\n this.descriptionService.getGlossary().subscribe((response: Page[]) => {\r\n console.log(\"response\", response)\r\n if (response != null) {\r\n this.glossaryList = response;\r\n console.log(\"response\", response)\r\n }\r\n \r\n for (var i = 0; i < this.glossaryList.length; i++) {\r\n if (this.glossaryList[i].name == \"Project\") {\r\n this.projectDescription = this.glossaryList[i].description;\r\n }\r\n }\r\n }, (error: any) => {\r\n if (error.status == 500) {\r\n this.is500error = true;\r\n }\r\n this.logger.trackTrace(`In Project, load Glossary Details Error`);\r\n this.logger.trackException(error);\r\n this.ngxLoader.stop();\r\n });\r\n }\r\n setOrgData() {\r\n this.organizationID = parseInt(window.sessionStorage.getItem(\"orgSelected\") || \"0\");\r\n let orgId = this.router.snapshot.params['org'] || \"\";\r\n if(orgId != \"\" && this.organizationID != parseInt(orgId)){\r\n this.organizationID = orgId, \r\n window.sessionStorage.setItem(\"orgSelected\", this.organizationID.toString());\r\n }\r\n this.orgName = window.sessionStorage.getItem(\"orgName\");\r\n this.getProjectsByOrg(); \r\n }\r\n\r\n //returns project data \r\n get Projects() {\r\n return this.project;\r\n }\r\n\r\n //returns grid schema\r\n get ProjectSchema() {\r\n return this.gridSchema;\r\n }\r\n\r\n\r\n getProjectsByOrg(){\r\n this.orgViewService.getprojects(this.organizationID).subscribe((response:any[])=> {\r\n if(response != null) {\r\n this.project = response;\r\n this.orgDescription = this.project.organizationDescription;\r\n this.isLoading = false; \r\n //this.orgName = window.sessionStorage.getItem(\"orgName\"); \r\n }\r\n },(error:any)=>{\r\n this.logger.trackTrace(`In Project View, error getting projects: ${error}`)\r\n this.logger.trackException(error);\r\n });\r\n }\r\n\r\n\r\n \r\n}\r\n","\r\n
\r\n
\r\n \r\n
\r\n
Loading ... Please Wait
\r\n
\r\n
\r\n \r\n

Projects\r\n \r\n \r\n \r\n

\r\n
\r\n
\r\n
\r\n Description:\r\n

{{projectDescription}}

\r\n View the list of projects that belong to your organization below.\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n","import { Error } from './Error.model';\r\n\r\nexport class Response {\r\n public errors: Error[];\r\n}\r\n","import { MsalGuardConfiguration, MsalInterceptorConfiguration } from '@azure/msal-angular';\r\nimport { Configuration, BrowserCacheLocation, IPublicClientApplication, PublicClientApplication, InteractionType } from '@azure/msal-browser';\r\nimport { ConfigService } from '../service/config.service';\r\n\r\nconst isIE = window.navigator.userAgent.indexOf('MSIE ') > -1 || window.navigator.userAgent.indexOf('Trident/') > -1;\r\n\r\nexport const MsalConfig: Configuration = {\r\n auth: {\r\n clientId: '65c04ccc-a904-43bd-86d7-f7dedf6ad636',\r\n authority: \"https://login.microsoftonline.com/microsoft.onmicrosoft.com/\",\r\n redirectUri: window.location.origin,\r\n postLogoutRedirectUri: window.location.origin, \r\n navigateToLoginRequestUrl: true\r\n },\r\n cache: {\r\n cacheLocation: BrowserCacheLocation.SessionStorage,\r\n storeAuthStateInCookie: isIE\r\n }\r\n};\r\n\r\nexport function MSALInstanceFactory(): IPublicClientApplication {\r\n return new PublicClientApplication(MsalConfig);\r\n}\r\n\r\nconst scopes = [\"user.read\"];\r\nconst protectedResourceMap = new Map>();\r\nprotectedResourceMap.set(\"https://graph.microsoft.com/v1.0/\", [\"user.read\"]);\r\n\r\nconst msalInterceptorConfiguration: MsalInterceptorConfiguration = {\r\n interactionType: InteractionType.Redirect,\r\n protectedResourceMap,\r\n};\r\n\r\nexport function MSALInterceptorConfigFactory(): MsalInterceptorConfiguration {\r\n return msalInterceptorConfiguration;\r\n}\r\n\r\nconst msalGuardConfiguration: MsalGuardConfiguration = {\r\n interactionType: InteractionType.Redirect,\r\n authRequest: {\r\n scopes\r\n },\r\n loginFailedRoute: \"/unauthorized\"\r\n};\r\n\r\nexport function MSALGuardConfigFactory(): MsalGuardConfiguration {\r\n return msalGuardConfiguration;\r\n}","import { HttpClient } from '@angular/common/http';\r\nimport { Injectable } from '@angular/core';\r\nimport { OrderSummary } from '../model/order-summary.model';\r\nimport { OrderList } from '../model/order-list.model';\r\nimport { OrderListRequest } from '../model/order-list-request.model';\r\nimport { ConfigService } from './config.service';\r\n\r\n@Injectable()\r\nexport class OrderService {\r\n\r\n constructor(private httpClient: HttpClient, private configService: ConfigService) {\r\n }\r\n\r\n getOrderSummary(customerPurchaseOrder: string) {\r\n const baseUrlWithVersion = this.configService.omtestSuiteAPI.baseUrl + '/api/' + this.configService.omtestSuiteAPI.apiVersion;\r\n return this.httpClient.get(baseUrlWithVersion + '/order?customerPurchaseOrder=' + customerPurchaseOrder);\r\n }\r\n\r\n getOrdersList(orderListRequest: OrderListRequest) {\r\n const baseUrlWithVersion = this.configService.omtestSuiteAPI.baseUrl + '/api/' + this.configService.omtestSuiteAPI.apiVersion;\r\n return this.httpClient.post(baseUrlWithVersion + '/order/list', orderListRequest);\r\n }\r\n\r\n getOrderStatus(salesOrderNumber: string) {\r\n const baseUrlWithVersion = this.configService.omtestSuiteAPI.baseUrl + '/api/' + this.configService.omtestSuiteAPI.apiVersion;\r\n return this.httpClient.get(baseUrlWithVersion + '/order/' + salesOrderNumber + '/status');\r\n }\r\n\r\n getOrderConfirmationByCorrelationId(correlationId: string) {\r\n const baseUrlWithVersion = this.configService.omtestSuiteAPI.baseUrl + '/api/' + this.configService.omtestSuiteAPI.apiVersion;\r\n return this.httpClient.get(baseUrlWithVersion + '/payload/orderconfirmation?correlationId=' + correlationId);\r\n }\r\n\r\n getDeliveryOrderByCorrelationId(correlationId: string) {\r\n const baseUrlWithVersion = this.configService.omtestSuiteAPI.baseUrl + '/api/' + this.configService.omtestSuiteAPI.apiVersion;\r\n return this.httpClient.get(baseUrlWithVersion + '/payload/deliveryorder?correlationId=' + correlationId);\r\n }\r\n\r\n getLoadPlanByCorrelationId(correlationId: string) {\r\n const baseUrlWithVersion = this.configService.omtestSuiteAPI.baseUrl + '/api/' + this.configService.omtestSuiteAPI.apiVersion;\r\n return this.httpClient.get(baseUrlWithVersion + '/payload/loadplan?correlationId=' + correlationId);\r\n }\r\n getShipmentByCorrelationId(correlationId: string) {\r\n const baseUrlWithVersion = this.configService.omtestSuiteAPI.baseUrl + '/api/' + this.configService.omtestSuiteAPI.apiVersion;\r\n return this.httpClient.get(baseUrlWithVersion + '/payload/shipment?correlationId=' + correlationId);\r\n }\r\n}\r\n","export class SerialNumberList {\r\n public totalCount: number;\r\n public serialNumberListItems: SerialNumberListItem[];\r\n}\r\n\r\nexport class SerialNumberListItem {\r\n public serialNumber: string;\r\n public sku: string;\r\n public inMDS: boolean;\r\n public inOER: boolean;\r\n public inUSTRL: boolean;\r\n public warrantyStatus: string;\r\n public warrantyEndDate: string;\r\n public warrantyUpdatedInOER: boolean;\r\n public userName: string;\r\n public link: string;\r\n}\r\n","import { ErrorHandler, Injectable, ReflectiveInjector, Injector } from '@angular/core';\r\nimport { MonitoringService } from '../service/monitoring.service';\r\n\r\n@Injectable()\r\nexport class GlobalErrorHandler implements ErrorHandler {\r\n\r\n constructor(private injector: Injector) {\r\n }\r\n\r\n handleError(error: Error) {\r\n const monitoringService = this.injector.get(MonitoringService);\r\n monitoringService.logException(error, 'GlobalErrorHandler');\r\n }\r\n}\r\n","import { Injectable } from \"@angular/core\";\r\n@Injectable()\r\nexport class PagerService {\r\n getPager(totalItems: number, currentPage: number = 1, pageSize: number = 10) {\r\n // calculate total pages\r\n const totalPages = Math.ceil(totalItems / pageSize);\r\n\r\n // ensure current page isn't out of range\r\n if (currentPage < 1) {\r\n currentPage = 1;\r\n } else if (currentPage > totalPages) {\r\n currentPage = totalPages;\r\n }\r\n\r\n let startPage: number, endPage: number;\r\n if (totalPages <= 10) {\r\n // less than 10 total pages so show all\r\n startPage = 1;\r\n endPage = totalPages;\r\n } else {\r\n // more than 10 total pages so calculate start and end pages\r\n if (currentPage <= 6) {\r\n startPage = 1;\r\n endPage = 10;\r\n } else if (currentPage + 4 >= totalPages) {\r\n startPage = totalPages - 9;\r\n endPage = totalPages;\r\n } else {\r\n startPage = currentPage - 5;\r\n endPage = currentPage + 4;\r\n }\r\n }\r\n\r\n // calculate start and end item indexes\r\n const startIndex = (currentPage - 1) * pageSize;\r\n const endIndex = Math.min(startIndex + pageSize - 1, totalItems - 1);\r\n\r\n // create an array of pages to ng-repeat in the pager control\r\n const pages = Array.from(Array((endPage + 1) - startPage).keys()).map(i => startPage + i);\r\n\r\n // return object with all pager properties required by the view\r\n return {\r\n totalItems: totalItems,\r\n currentPage: currentPage,\r\n pageSize: pageSize,\r\n totalPages: totalPages,\r\n startPage: startPage,\r\n endPage: endPage,\r\n startIndex: startIndex,\r\n endIndex: endIndex,\r\n pages: pages\r\n };\r\n }\r\n}\r\n","import { Component, OnInit } from '@angular/core';\r\nimport { ConfigService } from '../service/config.service';\r\nimport { AuthService } from '../service/auth.service';\r\nimport { ActivatedRoute, Router } from '@angular/router';\r\nimport { MonitoringService } from '../service/monitoring.service';\r\nimport { BaseComponent } from '../base/base.component';\r\nimport { MsalService, MsalBroadcastService } from '@azure/msal-angular';\r\nimport { NgxUiLoaderService } from 'ngx-ui-loader';\r\nimport { ManageScenariosService } from '../service/manage-scenarios.service';\r\nimport { NgbModal } from '@ng-bootstrap/ng-bootstrap';\r\n\r\nimport { MasterDataService } from '../service/masterdata.service';\r\nimport { LandingPageService } from '../service/landingpage.service';\r\nimport { LandingPageResponse, WarningBoxDetail } from '../model/landingpage.model';\r\n//import { AppInsightsService } from '@markpieszak/ng-application-insights';\r\nimport * as log from '../AppInsightsLogger';\r\nimport { FeedbackComponent } from '../feedback/feedback.component';\r\n\r\n@Component({\r\n selector: 'app-landing-page',\r\n templateUrl: './landing-page.component.html',\r\n styleUrls: ['./landing-page.component.css'],\r\n providers: [FeedbackComponent]\r\n})\r\nexport class LandingPageComponent extends BaseComponent implements OnInit {\r\n\r\n name: string;\r\n email: string;\r\n alias: string;\r\n isDevMode: boolean;\r\n isNotice: boolean;\r\n warningResponse: WarningBoxDetail[];\r\n landingPageResponse: LandingPageResponse;\r\n page: string;\r\n private logger: log.AppInsightsLogger;\r\n message1: string;\r\n message2: string;\r\n is500error: boolean = false;\r\n isEnabledBoolean: boolean = false;\r\n hasWarningResponse: boolean = false;\r\n organizationId: any;\r\n \r\n\r\n constructor(private configService: ConfigService,\r\n private authService: AuthService,\r\n private msalService: MsalService,\r\n private msalBroadcastService: MsalBroadcastService,\r\n private route: ActivatedRoute,\r\n private monitoringService: MonitoringService,\r\n private router: Router,\r\n private ngxLoader: NgxUiLoaderService,\r\n private modalService: NgbModal,\r\n private manageTestRunsService: ManageScenariosService,\r\n public feedbackComponent: FeedbackComponent,\r\n private masterDataService: MasterDataService,\r\n private landingPageService: LandingPageService) {\r\n super(monitoringService);\r\n this.name = this.msalService.instance.getActiveAccount().name;\r\n this.email = this.msalService.instance.getActiveAccount().username;\r\n if (window.location.origin.toLowerCase().indexOf('-test') > 0 || window.location.origin.toLowerCase().indexOf('-dev') > 0 || window.location.origin.toLowerCase().indexOf('-sit') > 0) {\r\n this.isDevMode = true;\r\n }\r\n else {\r\n this.isDevMode = false;\r\n }\r\n\r\n this.logger = new log.AppInsightsLogger(configService, msalService);\r\n }\r\n\r\n ngOnInit() {\r\n \r\n this.isAuthenticated();\r\n if (!this.authService.isAuthenticatedWithRoles()) {\r\n this.router.navigate(['/', 'unauthorized']);\r\n \r\n }\r\n \r\n\r\n this.logger.trackTrace(\"Successfully landed to Landing Page\");\r\n\r\n this.landingPageResponse = new LandingPageResponse();\r\n this.landingPageService.getLandingPageExecution().subscribe((response) => {\r\n if (response != null) {\r\n this.landingPageResponse = response;\r\n this.warningResponse = this.landingPageResponse.response;\r\n if (this.warningResponse?.length > 0) {\r\n this.hasWarningResponse = true;\r\n }\r\n }\r\n }, (error: any) => {\r\n if (error.status == 500) {\r\n this.is500error = true;\r\n }\r\n });\r\n\r\n this.isEnabled();\r\n this.setOrgData();\r\n }\r\n\r\n setOrgData() {\r\n this.organizationId = window.sessionStorage.getItem('orgSelected');\r\n const organizationId = this.route.snapshot.params['org'] || \"\";\r\n if (organizationId != \"\" && this.organizationId != organizationId) {\r\n this.organizationId = organizationId;\r\n window.sessionStorage.setItem(\"orgSelected\", this.organizationId);\r\n }\r\n }\r\n\r\n isNotification(): boolean {\r\n return this.configService.isNotification();\r\n }\r\n\r\n isEnabled() {\r\n this.isEnabledBoolean = this.authService.isEnabled();\r\n }\r\n\r\n isOrderViewEnabled(): boolean {\r\n return this.authService.isOrderViewEnabled();\r\n }\r\n\r\n reloadPage() {\r\n window.location.reload();\r\n }\r\n\r\n isAuthenticated() {\r\n return this.authService.isUserAuthenticated()\r\n }\r\n\r\n isSupplyChain() {\r\n return window.sessionStorage.getItem(\"orgSelected\") == \"1\";\r\n }\r\n}\r\n","\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n Important notice:\r\n

{{res?.title}}

\r\n Impacted Time : From UTC {{res?.notificationStart | date: 'MM/dd/yyyy hh:mm a'}} to {{res?.notificationEnd | date: 'MM/dd/yyyy hh:mm a'}}. \r\n

{{res?.warningMessage}}

\r\n
\r\n
\r\n
\r\n
Welcome to Test Platform:
\r\n

Here is the new and improved look of Test Platform. The new changes are primarily to help with User’s self-serve experience.

\r\n

For Access: Please join \"SCE Test Platform Testers\" Security Group in Idweb

\r\n
\r\n
\r\n
MST SAP Refresh : SAP Refresh Calendar
\r\n

\r\n [ Attention users: SAP refresh is happening in the below dates.]\r\n

\r\n \"calenderSap\"\r\n
Impact of Refresh
\r\n

Please note that the Test Platform will be impacted by MST SAP Refresh cycles.

\r\n
    \r\n
  1. Test Runs started before the Refresh cannot be resumed / rerun.
  2. \r\n
  3. Test Runs that were “In progress” should be rerun from start.
  4. \r\n
  5. Tracking of any Test Order created before refresh will not be successful.
  6. \r\n
  7. Master Data created in UAT for any specific testing need to be recreated after successful Refresh.
  8. \r\n
\r\n
\r\n
\r\n
\r\n
Orders
\r\n

\r\n Track test orders E2E in a timeline view\r\n

\r\n Track Orders\r\n
\r\n
\r\n
\r\n
Learn More
\r\n

Check out below video to understand how to do different things in Test Platform

\r\n \r\n Test Platform Demo\r\n
\r\n
\r\n
Feedback
\r\n

Please send feedback

\r\n

Or send support to Test Platform Support

\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
Integrate via API
\r\n

Use OM Test Suite API for integration and performance testing

\r\n View API\r\n
\r\n
\r\n
\r\n","export class SerialNumberRequest {\r\n constructor() {\r\n this.environment = 'UAT';\r\n this.partNumber = '';\r\n this.warranty = 'InWarranty';\r\n this.quantity = 1;\r\n this.hardwarePartNumber = '';\r\n this.productCode = '';\r\n this.serialNumberDigit = 12;\r\n this.requesterName = '';\r\n this.requesterEmail = '';\r\n this.countryOfOrigin = 'CN';\r\n this.warrantyDays = 1;\r\n this.productName = \"\";\r\n this.cloneSN = false;\r\n }\r\n public serialNumber: string;\r\n public environment: string;\r\n public partNumber: string;\r\n public warranty: string;\r\n public quantity: number;\r\n public hardwarePartNumber: string;\r\n public productCode: string;\r\n public serialNumberDigit: number;\r\n public requesterName: string;\r\n public requesterEmail: string;\r\n public warrantyDays: number | null;\r\n public countryOfOrigin: string;\r\n public productName: string;\r\n public cloneSN: boolean;\r\n}\r\n\r\nexport class SerialNumberRequestsStatus {\r\n constructor() {\r\n this.showPreloader = false;\r\n }\r\n public serialNumberRequest: SerialNumberRequest;\r\n public responseList: string;\r\n public showPreloader: boolean;\r\n}\r\n","export class AsnMockerRequest {\r\n MessageType: string\r\n Parameters: ParameterASN\r\n }\r\n \r\n export class ParameterASN {\r\n \r\n MessageBusinessChannel: string\r\n MessageSubBusinessChannel: string\r\n MessageAction: string\r\n MessagePartyId: string\r\n DeliveryCID: string\r\n }\r\n \r\n \r\n ","import { Component, OnInit } from '@angular/core';\r\nimport { VerticalsDetails, ScenariosDetails, TestRunInputsDetails, SectionsDetails, ScenariosInputsModel } from '../model/execute-testruns.model';\r\nimport { ManageScenariosService } from '../service/manage-scenarios.service';\r\nimport { MasterDataService } from '../service/masterdata.service';\r\nimport { NgxUiLoaderService } from 'ngx-ui-loader';\r\nimport { element } from 'protractor';\r\nimport { ActivatedRoute, ParamMap } from '@angular/router';\r\n\r\n\r\n@Component({\r\n selector: 'app-testrun',\r\n templateUrl: './testrun.component.html',\r\n styleUrls: ['./testrun.component.css']\r\n})\r\nexport class TestRunComponent implements OnInit {\r\n scenarioInputsModel: ScenariosInputsModel;\r\n testRunInputsDetails: TestRunInputsDetails;\r\n verticalsList: VerticalsDetails[];\r\n sectionsList: SectionsDetails[];\r\n scenariosList: ScenariosDetails[];\r\n verticalName: SectionsDetails[];\r\n verticalNameTest: SectionsDetails[];\r\n sectionName: string;\r\n verticalSecionDict = {};\r\n is500error: boolean = false;\r\n organizationID: number;\r\n\r\n\r\n constructor(private ngxLoader: NgxUiLoaderService, private masterDataService: MasterDataService, private manageTestRunsService: ManageScenariosService, private router:ActivatedRoute) { }\r\n\r\n ngOnInit() {\r\n this.setOrganizationID();\r\n this.loadVerticalsDetails();\r\n \r\n }\r\n \r\n \r\n setOrganizationID() {\r\n\r\n this.router.queryParamMap.subscribe((params: ParamMap)=>{\r\n let orgId = this.router.snapshot.params[\"org\"];\r\n if (orgId != null && parseInt(orgId) > 0){\r\n this.organizationID = parseInt(orgId);\r\n window.sessionStorage.setItem(\"orgSelected\", orgId);\r\n } else{\r\n if (window.sessionStorage.getItem(\"orgSelected\") != null){\r\n this.organizationID = parseInt(window.sessionStorage.getItem(\"orgSelected\"));\r\n }\r\n else {\r\n this.organizationID = -1;\r\n }\r\n }\r\n })\r\n\r\n \r\n }\r\n\r\n getExecuteUrlParams(section: string, scenario: string) {\r\n\r\n return {\r\n 'org': this.organizationID,\r\n 'vertical': this.verticalSecionDict[section],\r\n 'section': section,\r\n 'scenario': scenario\r\n };\r\n }\r\n\r\n loadVerticalsDetails() {\r\n this.manageTestRunsService.getVerticalsDetails(this.organizationID).subscribe((response: VerticalsDetails[]) => {\r\n \r\n if (response != null) {\r\n this.verticalsList = response;\r\n this.verticalName = this.verticalsList[0].sectionsList;\r\n for (var i = 1; i < this.verticalsList.length; i++) {\r\n this.verticalName = this.verticalName.concat(this.verticalsList[i].sectionsList);\r\n }\r\n\r\n for (var i = 0; i < this.verticalsList.length; i++) {\r\n for (var j = 0; j < this.verticalsList[i].sectionsList.length; j++) {\r\n this.verticalSecionDict[this.verticalsList[i].sectionsList[j].sectionName] = this.verticalsList[i].verticalName\r\n }\r\n }\r\n } \r\n this.ngxLoader.stop();\r\n \r\n }, (error: any) => {\r\n if(error.status == 500){\r\n this.is500error = true;\r\n }\r\n });\r\n }\r\n}\r\n","
\r\n \r\n
\r\n
\r\n

Test Scenario Catalog

\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
#Scenario Category (L3)Business Process (L4)DescriptionBusiness Process Flow
{{sections.sectionName}}\r\n \r\n {{scenariosList.scenarioName}}\r\n \r\n {{scenariosList.scenarioDescription}}Business Process
\r\n
\r\n","import { HttpClient } from \"@angular/common/http\";\r\nimport { Injectable } from \"@angular/core\";\r\nimport { ConfigService } from \"./config.service\";\r\n\r\n@Injectable()\r\nexport class GenerateBlobSasTokenService{\r\n constructor(private httpClient: HttpClient, private configService: ConfigService) {\r\n }\r\n\r\n getBlobUrl(blobFileName: string) {\r\n const baseUrlWithVersion = this.configService.omtestSuiteAPI.baseUrl + '/api/' + this.configService.omtestSuiteAPI.apiVersion;\r\n return this.httpClient.get(baseUrlWithVersion + `/BlobDownload/GetBlobSASUrl?blobName=${blobFileName}`);\r\n }\r\n\r\n}\r\n","import { Component, OnInit } from '@angular/core';\r\nimport { TestRunService } from '../service/testrun.service';\r\nimport { NewTestRunRequest } from '../model/new-testrun-request.model';\r\nimport { Router } from '@angular/router';\r\nimport { BaseComponent } from '../base/base.component';\r\nimport { MonitoringService } from '../service/monitoring.service';\r\n\r\nimport { MsalService } from '@azure/msal-angular';\r\n\r\nimport * as log from '../AppInsightsLogger';\r\nimport { ConfigService } from '../service/config.service';\r\nimport { ApplicationInsights } from '@microsoft/applicationinsights-web';\r\n\r\n@Component({\r\n selector: 'app-new-test-run',\r\n templateUrl: './new-test-run.component.html',\r\n styleUrls: ['./new-test-run.component.css']\r\n})\r\nexport class NewTestRunComponent extends BaseComponent implements OnInit {\r\n\r\n showPreloader: boolean;\r\n msgTxt: string;\r\n showMessage: boolean;\r\n newTestRun = new NewTestRunRequest();\r\n\r\n name: string;\r\n private logger: log.AppInsightsLogger;\r\n\r\n ngOnInit() {\r\n this.msgTxt = '';\r\n this.showMessage = false;\r\n this.showPreloader = false;\r\n this.logger.trackTrace(`Successfully landed to New Test Run Page`);\r\n }\r\n\r\n constructor(private configService: ConfigService, private testRunService: TestRunService, private router: Router, private monitoringService: MonitoringService,\r\n private msalService: MsalService) {\r\n super(monitoringService);\r\n this.name = this.msalService.instance.getActiveAccount().name;\r\n this.logger = new log.AppInsightsLogger(configService, msalService);\r\n }\r\n\r\n onSubmitClick() {\r\n this.newTestRun.poNumbers = [];\r\n this.showPreloader = true;\r\n this.testRunService.createNewTestRun(this.newTestRun).subscribe((response) => {\r\n this.showMessage = true;\r\n this.showPreloader = false;\r\n this.router.navigate(['/', 'testruns']);\r\n this.logger.trackTrace(`Submited successfully new test run`);\r\n }, (error) => {\r\n this.showMessage = true;\r\n this.showPreloader = false;\r\n this.msgTxt = 'Some error occured while processing your request';\r\n this.logger.trackTrace(`In New Test Run, Some error occured while processing your request`);\r\n\r\n });\r\n }\r\n}\r\n","
\r\n

New Test Run

\r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n
Test Run Name is required\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n
Scenario is required\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n
Number of lines is\r\n required
\r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n
Quantity per line\r\n is required.
\r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n
Locale is required
\r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n
Order count is required
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n

{{ msgTxt }}\r\n

\r\n
\r\n
\r\n
\r\n
\r\n","import { Component, OnInit } from '@angular/core';\r\nimport { MasterDataService } from '../service/masterdata.service';\r\nimport { SerialNumberSearchRequest } from '../model/serialnumbersearchrequest.model';\r\nimport { PagerService } from '../service/pager.service';\r\nimport { SerialNumberList } from '../model/serialnumberlist.model';\r\nimport { Constants } from '../service/constant.service';\r\nimport { MsalService } from '@azure/msal-angular';\r\nimport { ConfigService } from '../service/config.service';\r\nimport * as log from '../AppInsightsLogger';\r\nimport { DescriptionService } from '../service/description.service';\r\n\r\nimport { ApplicationInsights } from '@microsoft/applicationinsights-web';\r\n\r\n@Component({\r\n selector: 'app-serial-number-list',\r\n templateUrl: './serial-number-list.component.html',\r\n styleUrls: ['./serial-number-list.component.css']\r\n})\r\n\r\nexport class SerialNumberListComponent implements OnInit {\r\n serialNumberList: SerialNumberList;\r\n serialNumberSearchRequest: SerialNumberSearchRequest;\r\n searchEntityType = 'Serial Number';\r\n searchInputText = '';\r\n fromDate: any;\r\n email: string;\r\n toDate: any;\r\n collectionSize: number;\r\n page: number;\r\n showLoader = true;\r\n name: string;\r\n private logger: log.AppInsightsLogger;\r\n pageDetails: any[];\r\n pageDescription: string;\r\n\r\n\r\n constructor(private descriptionService: DescriptionService, private configService: ConfigService, private masterDataService: MasterDataService, private pagerService: PagerService, private msalService: MsalService) {\r\n this.email = msalService.instance.getActiveAccount().username;\r\n this.name = msalService.instance.getActiveAccount().name;\r\n this.logger = new log.AppInsightsLogger(configService, msalService);\r\n }\r\n\r\n ngOnInit() {\r\n this.setOrgData();\r\n this.page = 1;\r\n this.serialNumberList = new SerialNumberList();\r\n this.serialNumberList.serialNumberListItems = [];\r\n\r\n this.setDefaultDates();\r\n this.serialNumberSearchRequest = this.getSerialNumberSearchnRequest();\r\n this.updateSerialNumberSearch();\r\n this.logger.trackTrace(`Successfully landed to Serial Number Search`);\r\n\r\n this.descriptionService.pageDetailsTools().subscribe((response: any[]) => {\r\n this.pageDetails = response;\r\n this.pageDetails.forEach(element => {\r\n if (element.toolName == \"Serial Number Search\") {\r\n this.pageDescription = element.toolDescription\r\n }\r\n });\r\n });\r\n }\r\n\r\n setOrgData() {\r\n window.sessionStorage.setItem(\"orgSelected\", \"1\");\r\n }\r\n\r\n onSearchClick() {\r\n if (this.searchInputText != null && this.searchInputText != '') {\r\n this.fromDate = null;\r\n this.toDate = null;\r\n } else if (this.fromDate == null && this.toDate == null) {\r\n this.setDefaultDates();\r\n }\r\n\r\n this.serialNumberList.serialNumberListItems = [];\r\n this.serialNumberSearchRequest = this.getSerialNumberSearchnRequest();\r\n this.updateSerialNumberSearch();\r\n }\r\n\r\n getSerialNumberSearchnRequest(skip = 0, take = Constants.DefaultPageSize, sortOrder = Constants.SortOrderDescending) {\r\n let serialNumberSearchRequest = new SerialNumberSearchRequest();\r\n\r\n if (this.searchEntityType == 'Serial Number' && this.searchInputText != '') {\r\n serialNumberSearchRequest.serialNumber = this.searchInputText;\r\n } else if (this.searchEntityType == 'SKU' && this.searchInputText != '') {\r\n serialNumberSearchRequest.sku = this.searchInputText;\r\n } else {\r\n let startDate = this.getFormattedDate(this.fromDate);\r\n startDate.setUTCHours(0, 0, 0, 0);\r\n serialNumberSearchRequest.startDate = startDate.toJSON();\r\n\r\n let endDate = this.getFormattedDate(this.toDate);\r\n endDate.setUTCHours(24, 0, 0, 0);\r\n serialNumberSearchRequest.endDate = endDate.toJSON();\r\n }\r\n\r\n serialNumberSearchRequest.requestorEmail = this.email;\r\n serialNumberSearchRequest.skip = skip;\r\n serialNumberSearchRequest.take = take;\r\n serialNumberSearchRequest.sortOrder = sortOrder;\r\n\r\n return serialNumberSearchRequest;\r\n }\r\n\r\n getFormattedDate(inputDate: any): Date {\r\n let newDate = new Date(Date.UTC(inputDate.year, inputDate.month - 1, inputDate.day));\r\n return newDate;\r\n }\r\n\r\n updateSerialNumberSearch() {\r\n this.showLoader = true;\r\n this.serialNumberList.serialNumberListItems = [];\r\n this.masterDataService.getSerialNumberList(this.serialNumberSearchRequest).subscribe((response) => {\r\n this.serialNumberList = response;\r\n this.collectionSize = this.serialNumberList.totalCount;\r\n this.showLoader = false;\r\n });\r\n }\r\n\r\n onPageChanged() {\r\n this.serialNumberSearchRequest.skip = (this.page - 1) * 10;\r\n this.serialNumberSearchRequest.take = 10;\r\n this.updateSerialNumberSearch();\r\n }\r\n\r\n setDefaultDates() {\r\n let todaysDate = new Date();\r\n let fifteenDaysOldDate = new Date();\r\n\r\n fifteenDaysOldDate.setDate(fifteenDaysOldDate.getDate() - 7);\r\n this.fromDate = { 'year': fifteenDaysOldDate.getUTCFullYear(), 'month': fifteenDaysOldDate.getUTCMonth() + 1, 'day': fifteenDaysOldDate.getUTCDate() };\r\n this.toDate = { 'year': todaysDate.getUTCFullYear(), 'month': todaysDate.getUTCMonth() + 1, 'day': todaysDate.getUTCDate() };\r\n }\r\n\r\n /** Given a Date string (provided by MasterData Endpoint), returns the truncated date i.e. YYYY-MM-DD string */\r\n getTruncatedDate(dateTime: string) {\r\n if (dateTime != null && dateTime != undefined && dateTime != '') {\r\n return dateTime.substring(0, 10);\r\n } else {\r\n return '';\r\n }\r\n }\r\n}\r\n\r\n","
\r\n

Serial Number Search

\r\n
\r\n
\r\n Description:\r\n

{{this.pageDescription}}

\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n Search for a S/N created by any user via S/N or SKU!\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
Serial NumberSKUIn MDSIn OERIn USTRLWarranty StatusWarranty End DateWarranty In OERUser
{{ serialNumber.serialNumber }}{{ serialNumber.sku }}{{ serialNumber.inMDS }}{{ serialNumber.inOER }}{{ serialNumber.inUSTRL }}{{ serialNumber.warrantyStatus }}{{ this.getTruncatedDate(serialNumber.warrantyEndDate) }}{{ serialNumber.warrantyUpdatedInOER }}{{ serialNumber.userName }}
\r\n
\r\n \r\n
\r\n","import { Injectable } from '@angular/core';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class GoodsreceiptmockerService {\r\n\r\n constructor() { }\r\n\r\n getValidJSONObject(object: string) {\r\n object = object.replace('{\"\"', '{\"').replace(',\"\"', ',\"');\r\n if (object == '') {\r\n return object;\r\n } else {\r\n if (/^[\\],:{}\\s]*$/.test(object.replace(/\\\\[\"\\\\\\/bfnrtu]/g, '@').replace(/\"[^\"\\\\\\n\\r]*\"|true|false|null|-?\\d+(?:\\.\\d*)?(?:[eE][+\\-]?\\d+)?/g, ']').replace(/(?:^|:|,)(?:\\s*\\[)+/g, ''))) {\r\n return JSON.parse(object);\r\n } else if (object.charAt(0).toLowerCase() != '[' && object.charAt(0).toLowerCase() != '{') {\r\n return { object };\r\n } else {\r\n try {\r\n return JSON.parse(object);\r\n } catch {\r\n return { object };\r\n }\r\n }\r\n }\r\n }\r\n}\r\n","import { HttpClient } from '@angular/common/http';\r\nimport { Injectable } from '@angular/core';\r\nimport { ConfigService } from './config.service';\r\nimport { ClaimEligibility, OffersCollection, ShippingOfferRequest } from '../model/devicecare.model';\r\nimport { Observable } from 'rxjs';\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class DevicecareService {\r\n baseUrlWithVersion: string;\r\n\r\n constructor(private httpClient: HttpClient, private configService: ConfigService) {\r\n this.baseUrlWithVersion = this.configService.omtestSuiteAPI.baseUrl + '/api/' + this.configService.omtestSuiteAPI.apiVersion + '/devicecare';\r\n }\r\n\r\n getClaimEligibilities(serialNumber: string, agentTier: string): Observable {\r\n const requestUrl = this.baseUrlWithVersion + '/GetClaimEligibilities/' + serialNumber + '?agentTier=' + agentTier;\r\n return this.httpClient.get(requestUrl);\r\n }\r\n\r\n getRepairOffers(serialNumber: string, agentTier: string, countryCode: string, symptomCode: string): Observable {\r\n const requestUrl = this.baseUrlWithVersion + '/GetRepairOffers/' + serialNumber + '?agentTier=' + agentTier + '&countryCode=' + countryCode + '&symptomCode=' + symptomCode;\r\n return this.httpClient.get(requestUrl);\r\n }\r\n\r\n getShippingOffer(shippingOffers: ShippingOfferRequest[], agentTier: string, countryCode: string): Observable {\r\n const requestUrl = this.baseUrlWithVersion + '/GetShippingOffer?agentTier=' + agentTier + '&countryCode=' + countryCode;\r\n return this.httpClient.post(requestUrl, shippingOffers);\r\n }\r\n}","import { Injectable } from '@angular/core';\r\n\r\n@Injectable()\r\nexport class SampleFilesService {\r\n public static readonly CreateOrderSample = 'CreateOrderSample';\r\n public static readonly GenerateSNsSample = 'GenerateSNsSample';\r\n public static readonly DeliveryOrdersLoadModeSample = 'DeliveryOrdersLoadModeSample';\r\n public static readonly PurchaseOrdersLoadModeSample = 'PurchaseOrdersLoadModeSample';\r\n public static readonly SkuListSample = 'SkuListSample';\r\n\r\n public static readonly CareConsumerBulkUploadSample = 'CareConsumerBulkUploadSample';\r\n public static readonly DeliverBuildToStockBulkUploadSample = 'DeliverBuildToStockBulkUploadSample';\r\n public static readonly Delivery3PPOnboardingsBulkUploadSample = 'Delivery3PPOnboardingsBulkUploadSample';\r\n public static readonly DeliverAssembleToOrderBulkUploadSample = 'DeliverAssembleToOrderBulkUploadSample';\r\n public static readonly WTPDCToRSDBulkUploadSample = 'WTPDCToRSDBulkUploadSample';\r\n public static readonly MMFRSDToSIBulkUploadSample = 'MMFRSDToSIBulkUploadSample';\r\n public static readonly MMFReversePOCreationBulkUploadSample = 'MMFReversePOCreationBulkUploadSample';\r\n public static readonly MMFRSDToT2BulkUploadSample = 'MMFRSDToT2BulkUploadSample';\r\n public static readonly MMFT2ToRSDBulkUploadSample = 'MMFT2ToRSDBulkUploadSample';\r\n\r\n private static readonly sampleFilePath: any = {\r\n CreateOrderSample: './assets/CreateOrderSample.xlsx',\r\n GenerateSNsSample: './assets/GenerateSNsSample.xlsx',\r\n DeliveryOrdersLoadModeSample: './assets/DeliveryOrdersLoadModeSample.txt',\r\n PurchaseOrdersLoadModeSample: './assets/PurchaseOrdersLoadModeSample.txt',\r\n SkuListSample: './assets/ProductData.xlsx',\r\n CareConsumerBulkUploadSample: './assets/CareConsumerBulkUploadSample.xlsx',\r\n DeliverBuildToStockBulkUploadSample: './assets/DeliverBuildToStockBulkUploadSample.xlsx',\r\n Delivery3PPOnboardingsBulkUploadSample: './assets/Delivery3PPOnboardingsBulkUploadSample.xlsx',\r\n DeliverAssembleToOrderBulkUploadSample: './assets/DeliverAssembleToOrderBulkUploadSample.xlsx',\r\n WTPDCToRSDBulkUploadSample: './assets/WTPDCToRSDBulkUploadSample.xlsx',\r\n MMFRSDToSIBulkUploadSample: './assets/MMFRSDToSIBulkUploadSample.xlsx',\r\n MMFReversePOCreationBulkUploadSample: './assets/MMFReversePOCreationBulkUploadSample.xlsx',\r\n MMFRSDToT2BulkUploadSample: './assets/MMFRSDToT2BulkUploadSample.xlsx',\r\n MMFT2ToRSDBulkUploadSample: './assets/MMFT2ToRSDBulkUploadSample.xlsx'\r\n };\r\n\r\n public static downloadSampleFile(fileType: string) {\r\n if (!(fileType in SampleFilesService.sampleFilePath)) {\r\n console.log(`Nonexistent sample file: ${fileType}`);\r\n return;\r\n }\r\n\r\n const link = document.createElement('a');\r\n link.setAttribute('type', 'hidden');\r\n link.setAttribute('download', '');\r\n link.href = SampleFilesService.sampleFilePath[fileType];\r\n link.click();\r\n }\r\n}\r\n","import { TransportMethod } from \"./masterdata.model\";\r\n\r\nexport class LoadPlanMockRequest {\r\n\r\n constructor() {\r\n this.mode = '';\r\n this.entityType = '';\r\n this.partnerId = '';\r\n this.entityNumbers = [];\r\n this.isConsolidated = false;\r\n this.loadPlanParams = new LoadPlanParameters();\r\n }\r\n\r\n public mode: string;\r\n public entityType: string;\r\n public partnerId: string;\r\n public entityNumbers: string[];\r\n public isConsolidated: boolean;\r\n public loadPlanParams: LoadPlanParameters;\r\n}\r\n\r\nexport class LoadPlanParameters {\r\n constructor() {\r\n this.carrierCode = '';\r\n this.serviceLevelCode = '';\r\n this.serviceLevelCode = '';\r\n this.paymentTermsCode = '';\r\n\r\n this.transportMethodCode = '';\r\n this.transportMethodDescription = '';\r\n this.transportMethodEnum = '';\r\n }\r\n\r\n public carrierCode: string;\r\n public serviceLevelCode: string;\r\n public transportMethodCode: string;\r\n public transportMethodDescription: string;\r\n public transportMethodEnum: string;\r\n public paymentTermsCode: string;\r\n public supplierId: string;\r\n public BusinessChannel: string;\r\n public ActionCode: string;\r\n public ProcessType: string;\r\n public BookingNumber: string\r\n}\r\n\r\nexport class LoadPlanMockConfig {\r\n public methodOfTransport : TransportMethod[];\r\n}\r\n\r\n","import { Component, OnInit, Input } from '@angular/core';\r\nimport { UatAvailabilityService } from '../../service/uatavailability.service';\r\nimport { MasterDataService } from '../../service/masterdata.service';\r\nimport { MsalService } from '@azure/msal-angular';\r\nimport { ConfigService } from '../../service/config.service';\r\nimport * as log from '../../AppInsightsLogger';\r\nimport { skip } from 'rxjs/operators';\r\nimport { UATAvailability } from '../../model/uatAvailability.model';\r\nimport { NgxUiLoaderService } from 'ngx-ui-loader';\r\nimport { ManageScenariosService } from '../../service/manage-scenarios.service';\r\nimport { TestProjectService } from '../../service/testproject.service';\r\nimport { ActivatedRoute, ParamMap, Params } from '@angular/router';\r\nimport { Router } from '@angular/router';\r\nimport { TestCaseProjectService } from 'src/app/service/test-case-project.service';\r\nexport { BaseTestPlanInstance, TestPlan } from '../test-grid/test-grid.component';\r\n\r\n\r\n@Component({\r\n selector: 'app-test-project-view',\r\n templateUrl: './test-project-view.component.html',\r\n styleUrls: ['./test-project-view.component.css']\r\n})\r\nexport class TestProjectViewComponent implements OnInit {\r\n private logger: log.AppInsightsLogger;\r\n gridSchema: any = [];\r\n project: any;\r\n projectName: string;\r\n projectOwner: string;\r\n projectCreateDate: string;\r\n isLoading:boolean=true;\r\n projectID: any;\r\n organizationId:string;\r\n projectDocumentation: any;\r\n\r\n constructor(private ngxLoader: NgxUiLoaderService,\r\n private msalService: MsalService,\r\n private configService: ConfigService,\r\n private uatDataService: UatAvailabilityService,\r\n private masterDataService: MasterDataService,\r\n private manageTestRunsService: ManageScenariosService,\r\n private testProjectService: TestCaseProjectService,\r\n private router: Router,\r\n private activatedRoute: ActivatedRoute,) {\r\n this.logger = new log.AppInsightsLogger(configService, msalService);\r\n }\r\n\r\n ngOnInit() {\r\n \r\n this.activatedRoute.paramMap.subscribe((params: ParamMap) =>{\r\n this.processActiveRoute();\r\n });\r\n \r\n //this.router.navigate(['/project-view'], );\r\n this.gridSchema = [\r\n {\r\n label: 'Test Plan',\r\n class: 'col-3 col-sm-3',\r\n key: 'label'\r\n },\r\n\r\n {\r\n label: 'Owner',\r\n class: 'col col-xl-2',\r\n filterType: 'string',\r\n key: 'owner',\r\n filterOptions: {}, // populated in initialize()\r\n filterValues: {}, // populated in initialize()\r\n isError: false, // if request to populate this fails\r\n isEditable:false,\r\n filterDisplay: 'string'\r\n },\r\n\r\n {\r\n label: 'Created',\r\n class: 'col col-xl',\r\n key: 'createDate',\r\n filterType: 'date'\r\n },\r\n \r\n {\r\n label: 'Last Modified',\r\n class: 'col col-xl',\r\n key: 'endDate',\r\n filterType: 'date',\r\n },\r\n ];\r\n \r\n }\r\n\r\n processActiveRoute() {\r\n this.organizationId = window.sessionStorage.getItem(\"orgSelected\");\r\n const organizationId = this.activatedRoute.snapshot.params['org'] || \"\";\r\n if(organizationId != \"\" && this.organizationId != this.organizationId){\r\n this.organizationId = organizationId; \r\n window.sessionStorage.setItem(\"orgSelected\", this.organizationId);;\r\n }\r\n this.projectID = this.activatedRoute.snapshot.params['projectId'] || \"\";\r\n if(this.projectID != \"\"){\r\n this.getProjectData();\r\n }\r\n else{\r\n this.isLoading = false;\r\n }\r\n \r\n }\r\n\r\n //returns project data \r\n get TestPlan() {\r\n //console.log(this.project);\r\n return this.project;\r\n }\r\n\r\n //returns grid schema\r\n get TestPlanSchema() {\r\n //console.log(this.gridSchema);\r\n return this.gridSchema;\r\n }\r\n\r\n //API call to retrieve project\r\n getProjectData() {\r\n this.testProjectService.getProjectTestCaseView(this.projectID).subscribe((response: any[]) => {\r\n if(response != null){\r\n this.project = response.find(x => x.projectID = this.projectID);\r\n this.projectName = this.project.projectName;\r\n this.projectOwner = this.project.projectOwner || \"Owner not defined\";\r\n this.projectCreateDate = new Date(this.project.projectCreateDate).toLocaleDateString() + \" \" + new Date(this.project.projectCreateDate).toLocaleTimeString();\r\n this.projectDocumentation = this.project.projectDocumentation;\r\n this.project.testPlans.forEach(testPlan => {\r\n let testPlanId = testPlan.testPlanID;\r\n this.testProjectService.getTestPlanInstances(testPlanId).subscribe((response: any) => {\r\n if(response != null){\r\n testPlan[\"testPlanInstances\"] = response; \r\n this.isLoading = false;\r\n } \r\n }); \r\n });\r\n }\r\n \r\n },(error:any)=>{\r\n this.logger.trackTrace(`In Project Test Plan Page Error getting test plans: ${error}`);\r\n this.logger.trackException(error);\r\n });\r\n }\r\n\r\n //API call to retrieve testPlanInstances\r\n // getTestPlanInstances() {\r\n // let index: any;\r\n // this.project.testPlans.forEach(testPlan => {\r\n // let testPlanId = testPlan.testPlanID;\r\n // this.testProjectService.getTestPlanInstances(testPlanId).subscribe((response: any) => {\r\n // if(response != null){\r\n // testPlan[\"testPlanInstances\"] = response; \r\n // } \r\n // });\r\n // });\r\n \r\n // }\r\n\r\n}\r\n\r\n\r\n","\r\n
\r\n
\r\n \r\n
\r\n
Loading ... Please Wait
\r\n
\r\n
\r\n \r\n

{{projectName}}

\r\n
\r\n \r\n
\r\n
Project ID:\r\n {{projectID}}\r\n
\r\n
Created on:\r\n {{projectCreateDate}}\r\n
\r\n
Owner:\r\n {{projectOwner}}\r\n
\r\n
Project Documentation:\r\n {{projectName}} ReadMe Doc\r\n
\r\n
\r\n\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n
","import { Component, OnInit } from '@angular/core';\r\nimport { TestRunService } from '../service/testrun.service';\r\nimport { TestRunRequest } from '../model/testrunrequest.model';\r\nimport { PagerService } from '../service/pager.service';\r\nimport { TestRunList } from '../model/testrunlist.model';\r\nimport { Constants } from '../service/constant.service';\r\nimport { AuthService } from '../service/auth.service';\r\nimport { ActivatedRoute, Router } from '@angular/router';\r\nimport { MsalService } from '@azure/msal-angular';\r\nimport { ConfigService } from '../service/config.service';\r\nimport * as log from '../AppInsightsLogger';\r\n\r\nimport { ApplicationInsights } from '@microsoft/applicationinsights-web';\r\n\r\n@Component({\r\n selector: 'app-test-run-list',\r\n templateUrl: './test-run-list.component.html',\r\n styleUrls: ['./test-run-list.component.css']\r\n})\r\n\r\nexport class TestRunListComponent implements OnInit {\r\n\r\n testRunList: TestRunList;\r\n testRunRequest: TestRunRequest;\r\n testRunNameText: string;\r\n fromDate: any;\r\n toDate: any;\r\n collectionSize: number;\r\n page: number;\r\n showLoader = true;\r\n name: string;\r\n private logger: log.AppInsightsLogger;\r\n\r\n constructor(private configService: ConfigService, private testRunService: TestRunService, private pagerService: PagerService, private authService: AuthService, private router: Router, private msalService: MsalService) {\r\n this.name = this.msalService.instance.getActiveAccount().name;\r\n this.logger = new log.AppInsightsLogger(configService, msalService);\r\n }\r\n\r\n ngOnInit() {\r\n this.page = 1;\r\n this.testRunList = new TestRunList();\r\n this.testRunList.testRunListItems = [];\r\n\r\n this.setDefaultDates();\r\n this.testRunRequest = this.getTestRunRequest();\r\n this.updateTestRuns();\r\n\r\n if (!this.authService.isOrderViewEnabled()) {\r\n this.router.navigate(['/', 'landing-page']);\r\n }\r\n this.logger.trackTrace(`Successfully landed to Test Runs`);\r\n }\r\n\r\n onSearchClick() {\r\n if (this.testRunNameText) {\r\n this.fromDate = null;\r\n this.toDate = null;\r\n } else {\r\n if (this.fromDate == null && this.toDate == null) {\r\n this.setDefaultDates();\r\n }\r\n }\r\n\r\n this.testRunList.testRunListItems = [];\r\n this.testRunRequest = this.getTestRunRequest();\r\n this.updateTestRuns();\r\n }\r\n\r\n getTestRunRequest(skip = 0, take = Constants.DefaultPageSize, sortOrder = Constants.SortOrderDescending) {\r\n let testRunRequest = new TestRunRequest();\r\n\r\n if (this.testRunNameText) {\r\n testRunRequest.testRunName = this.testRunNameText;\r\n } else {\r\n testRunRequest.testRunName = '';\r\n\r\n let startDate = this.getFormattedDate(this.fromDate);\r\n startDate.setUTCHours(0, 0, 0, 0);\r\n testRunRequest.startDate = startDate.toJSON();\r\n\r\n let endDate = this.getFormattedDate(this.toDate);\r\n endDate.setUTCHours(24, 0, 0, 0);\r\n testRunRequest.endDate = endDate.toJSON();\r\n }\r\n\r\n testRunRequest.skip = skip;\r\n testRunRequest.take = take;\r\n testRunRequest.sortOrder = sortOrder;\r\n\r\n return testRunRequest;\r\n }\r\n\r\n getFormattedDate(inputDate: any): Date {\r\n let newDate = new Date(Date.UTC(inputDate.year, inputDate.month - 1, inputDate.day));\r\n return newDate;\r\n }\r\n\r\n updateTestRuns() {\r\n this.showLoader = true;\r\n this.testRunList.testRunListItems = [];\r\n this.testRunService.getTestRuns(this.testRunRequest).subscribe((response) => {\r\n this.testRunList = response;\r\n this.collectionSize = this.testRunList.totalCount;\r\n this.showLoader = false;\r\n });\r\n }\r\n\r\n onPageChanged() {\r\n this.testRunRequest.skip = (this.page - 1) * 10;\r\n this.testRunRequest.take = 10;\r\n this.updateTestRuns();\r\n }\r\n\r\n setDefaultDates() {\r\n let todaysDate = new Date();\r\n let fifteenDaysOldDate = new Date();\r\n\r\n fifteenDaysOldDate.setDate(fifteenDaysOldDate.getDate() - 7);\r\n this.fromDate = { 'year': fifteenDaysOldDate.getUTCFullYear(), 'month': fifteenDaysOldDate.getUTCMonth() + 1, 'day': fifteenDaysOldDate.getUTCDate() };\r\n this.toDate = { 'year': todaysDate.getUTCFullYear(), 'month': todaysDate.getUTCMonth() + 1, 'day': todaysDate.getUTCDate() };\r\n }\r\n}\r\n\r\n","
\r\n

Test Runs

\r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
NameOrder CountStatusTimestamp (in UTC)
{{ testRun.testRunName }}{{ testRun.orderCount }}{{ testRun.status }}{{ testRun.lastModifiedAt | date:'medium'}}
\r\n
\r\n\r\n \r\n
\r\n","import { HttpClient } from '@angular/common/http';\r\nimport { Injectable } from '@angular/core';\r\nimport { ConfigService } from './config.service';\r\nimport { VerticalsDetails, TestRunInputsDetails, TestRunBulkUploadInput, TestRunsBulkUploadResponse } from '../model/execute-testruns.model';\r\nimport { TestRunsFetchInputs, TestRunsDetails, UpdateScenarioStepInput, TestRunsUsersDetails, TestRunSaveStatusInput, TrackOrderRequest, SearchEntities, TrackOrderResponse, ErrorRestartStepResponse, ErrorRestartStepInputs, TestRunRetriggerInput, TestRunsList, TestRunExportResponse } from '../model/manage-testruns.model';\r\nimport { NgxUiLoaderConfig, NgxUiLoaderService } from 'ngx-ui-loader';\r\nimport { Observable } from 'rxjs';\r\n\r\n@Injectable()\r\nexport class ManageScenariosService {\r\n\r\n ngxLoaderConfig: NgxUiLoaderConfig;\r\n\r\n constructor(private ngxUiLoaderService: NgxUiLoaderService, private httpClient: HttpClient, private configService: ConfigService) {\r\n this.ngxLoaderConfig = this.ngxUiLoaderService.getDefaultConfig();\r\n }\r\n\r\n // Execute Test Runs Section -- START\r\n\r\n getVerticalsDetails(organizationID: number) {\r\n const baseUrlWithVersion = this.configService.omtestSuiteAPI.baseUrl + '/api/' + this.configService.omtestSuiteAPI.apiVersion;\r\n return this.httpClient.get(baseUrlWithVersion + `/managetestruns/getverticalsdetails?organizationID=${organizationID}`);\r\n }\r\n getPartnerDetails(){\r\n \r\n const baseUrlWithVersion = this.configService.omtestSuiteAPI.baseUrl+'/api/v2.0' ;\r\n\r\n \r\n \r\n return this.httpClient.get((baseUrlWithVersion+'/PartnerMapping/getpartnermappingdetails'));\r\n\r\n }\r\n\r\n storeTestRunsDetails(testRunsInputsDetails: TestRunInputsDetails) {\r\n const baseUrlWithVersion = this.configService.omtestSuiteAPI.baseUrl + '/api/' + this.configService.omtestSuiteAPI.apiVersion;\r\n return this.httpClient.post(baseUrlWithVersion + '/managetestruns/storetestruninputs', testRunsInputsDetails);\r\n }\r\n\r\n testRunsBulkUpload(testRunsBulkUploadInput: TestRunBulkUploadInput) {\r\n const baseUrlWithVersion = this.configService.omtestSuiteAPI.baseUrl + '/api/' + this.configService.omtestSuiteAPI.apiVersion;\r\n return this.httpClient.post(baseUrlWithVersion + '/managetestruns/bulkupload', testRunsBulkUploadInput);\r\n }\r\n\r\n // Execute Test Runs Section -- END\r\n\r\n // Manage Test Runs Section -- START\r\n\r\n public getStepStyleClass(status: string, loadIcon: boolean) {\r\n status = status.toLowerCase();\r\n let stepClass = '';\r\n if (loadIcon) {\r\n switch (status) {\r\n case \"start\":\r\n stepClass = 'fa-cog';\r\n break;\r\n case \"ready\":\r\n stepClass = 'fa-cog';\r\n break;\r\n case \"processing\":\r\n stepClass = 'fa-cog';\r\n break;\r\n case \"pending\":\r\n stepClass = 'fa-clock-o';\r\n break;\r\n case \"complete\":\r\n stepClass = 'fa-check';\r\n break;\r\n case \"error\":\r\n stepClass = 'fa-exclamation';\r\n break;\r\n case \"skipped\":\r\n stepClass = 'fa-fast-forward';\r\n break;\r\n default:\r\n stepClass = 'fa-hourglass';\r\n }\r\n }\r\n stepClass += (' md-step-circle-' + (status == '' ? 'waiting' : status));\r\n return stepClass;\r\n }\r\n\r\n public getSearchEntitiesDetails() {\r\n return this.httpClient.get('./assets/configuration/searchentities.json');\r\n }\r\n\r\n getTestRunsUsersDetails(testRunsFetchInputs: TestRunsFetchInputs) {\r\n const baseUrlWithVersion = this.configService.omtestSuiteAPI.baseUrl + '/api/' + this.configService.omtestSuiteAPI.apiVersion;\r\n return this.httpClient.post(baseUrlWithVersion + '/managetestruns/getusersdetails', testRunsFetchInputs);\r\n }\r\n\r\n getTestRunsList(testRunsFetchInputs: TestRunsFetchInputs) {\r\n const baseUrlWithVersion = this.configService.omtestSuiteAPI.baseUrl + '/api/' + this.configService.omtestSuiteAPI.apiVersion;\r\n return this.httpClient.post(baseUrlWithVersion + '/managetestruns/gettestrunslist', testRunsFetchInputs);\r\n }\r\n\r\n getTestRunsDetails(testRunsFetchInputs: TestRunsFetchInputs) {\r\n const baseUrlWithVersion = this.configService.omtestSuiteAPI.baseUrl + '/api/' + this.configService.omtestSuiteAPI.apiVersion;\r\n return this.httpClient.post(baseUrlWithVersion + '/managetestruns/gettestrunsdetails', testRunsFetchInputs);\r\n }\r\n\r\n getOrderEventsDetails(trackOrderRequest: TrackOrderRequest) {\r\n const baseUrlWithVersion = this.configService.omtestSuiteAPI.baseUrl + '/api/' + this.configService.omtestSuiteAPI.apiVersion;\r\n return this.httpClient.post(baseUrlWithVersion + '/order/TrackEntities', trackOrderRequest);\r\n }\r\n\r\n startScenarioStep(updateScenarioStepInput: UpdateScenarioStepInput) {\r\n const baseUrlWithVersion = this.configService.omtestSuiteAPI.baseUrl + '/api/' + this.configService.omtestSuiteAPI.apiVersion;\r\n return this.httpClient.post(baseUrlWithVersion + '/managetestruns/startnextstepcomponent', updateScenarioStepInput);\r\n }\r\n\r\n restartScenarioStep(updateScenarioStepInput: ErrorRestartStepInputs) {\r\n const baseUrlWithVersion = this.configService.omtestSuiteAPI.baseUrl + '/api/' + this.configService.omtestSuiteAPI.apiVersion;\r\n return this.httpClient.post(baseUrlWithVersion + '/managetestruns/restartscenariostep', updateScenarioStepInput).toPromise();\r\n }\r\n\r\n restartAllScenarioStep(updateScenarioStepInput: ErrorRestartStepInputs) {\r\n const baseUrlWithVersion = this.configService.omtestSuiteAPI.baseUrl + '/api/' + this.configService.omtestSuiteAPI.apiVersion;\r\n return this.httpClient.post(baseUrlWithVersion + '/managetestruns/restartscenariostep', updateScenarioStepInput);\r\n }\r\n\r\n updateTestRunSaveStatus(testRunSaveStatusInput: TestRunSaveStatusInput) {\r\n const baseUrlWithVersion = this.configService.omtestSuiteAPI.baseUrl + '/api/' + this.configService.omtestSuiteAPI.apiVersion;\r\n return this.httpClient.post(baseUrlWithVersion + '/managetestruns/updatesavestatus', testRunSaveStatusInput);\r\n }\r\n\r\n rerunTestCase(input: TestRunRetriggerInput) {\r\n var baseUrlWithVersion = this.configService.omtestSuiteAPI.baseUrl + '/api/' + this.configService.omtestSuiteAPI.apiVersion;\r\n return this.httpClient.post(baseUrlWithVersion + `/managetestruns/retriggertestrun`, input);\r\n }\r\n\r\n getTestRunsExportDetails(testRunsFetchInputs: TestRunsFetchInputs) {\r\n const baseUrlWithVersion = this.configService.omtestSuiteAPI.baseUrl + '/api/' + this.configService.omtestSuiteAPI.apiVersion;\r\n return this.httpClient.post(baseUrlWithVersion + '/managetestruns/getexportdetails', testRunsFetchInputs);\r\n }\r\n\r\n // Manage Test Runs Section -- END\r\n}\r\n","export class GoodReceiptMockResponse {\r\n public correlationId: string;\r\n public message: string;\r\n public isSuccessful: boolean;\r\n}\r\n","export class InvSnapshotFSLMockerRequest {\r\n public MessageType: string\r\n public Parameters: Parameters\r\n }\r\n \r\n export class Parameters {\r\n public Action: string\r\n public SenderPlant: string\r\n public MessageSender: string\r\n public Supplier: string\r\n public SupplierNodelocation: string\r\n public ReportingPlant: string\r\n public batchSize: number\r\n public InventoryAdviceLines: InventoryAdviceLine[]\r\n }\r\n \r\n export class InventoryAdviceLine {\r\n \r\n \r\n \r\n public ItemStatusType: string\r\n public ShipToPlant?: string\r\n public ShipFromPlant?: string\r\n public FromInventoryLocationId: string\r\n public Quantity: number\r\n public ItemSKU: string\r\n public VendorItemSKU: string\r\n public SerializedItemIndicator: boolean\r\n public ItemSerialNumbers: string[]\r\n }","import { Component, OnInit, Input, Output, EventEmitter, OnDestroy } from '@angular/core';\r\nimport { HttpClient } from '@angular/common/http';\r\nimport { NgxUiLoaderService } from 'ngx-ui-loader';\r\nimport { Subject } from 'rxjs';\r\nimport { TestCaseProjectService } from 'src/app/service/test-case-project.service';\r\n\r\nexport enum Status {\r\n NOT_STARTED = 'Not Started',\r\n FAILED = 'Failed',\r\n IN_PROGRESS = 'In Progress',\r\n START = 'Start',\r\n COMPLETE = 'Complete',\r\n COMPLETED = 'Completed',\r\n PASS = 'Pass',\r\n PENDING = 'Pending',\r\n LOADING = 'Loading',\r\n ERROR = 'Error',\r\n PENDINGUSERACTION = 'Pending User Action',\r\n PROCESSING = 'Processing',\r\n \r\n}\r\n\r\nexport const STATUS_LABELS: Record = {\r\n [Status.NOT_STARTED]: 'Not Started',\r\n [Status.FAILED]: 'Failed',\r\n [Status.IN_PROGRESS]: 'In Progress',\r\n [Status.COMPLETE]: 'Complete',\r\n [Status.COMPLETED]: 'Completed',\r\n [Status.START]: 'Start',\r\n [Status.PASS]: 'Passed',\r\n [Status.PENDING]: 'Pending',\r\n [Status.LOADING]:'Loading',\r\n [Status.ERROR]: 'Error',\r\n [Status.PENDINGUSERACTION]:'Pending User Action', \r\n};\r\n\r\nexport const STATUS_LABEL = 'Status';\r\n\r\n@Component({\r\n selector: 'app-status',\r\n templateUrl: './status.component.html',\r\n styleUrls: ['./status.component.css']\r\n})\r\nexport class StatusComponent implements OnInit, OnDestroy {\r\n\r\n @Input() status = Status.NOT_STARTED;\r\n @Output() statusChange = new EventEmitter();\r\n @Input() disabled = true;\r\n @Input() detailLink?:Map;\r\n @Input() correlationId? = \"\";\r\n private destroy$ = new Subject();\r\n\r\n \r\n\r\n statusDisplayMapping: { [index: string]: { class: string; label: string; value: Status} } = {\r\n [Status.NOT_STARTED]: {\r\n class: 'not-started-status',\r\n label: 'Not Started',\r\n value: Status.NOT_STARTED\r\n },\r\n [Status.IN_PROGRESS]: {\r\n class: 'in-progress-status',\r\n label: 'In Progress',\r\n value: Status.IN_PROGRESS\r\n },\r\n [Status.COMPLETE]: {\r\n class: 'complete-status',\r\n label: 'Completed',\r\n value: Status.COMPLETE\r\n },\r\n [Status.COMPLETED]: {\r\n class: 'completed-status',\r\n label: 'Completed',\r\n value: Status.COMPLETED\r\n },\r\n [Status.FAILED]:{\r\n class:'at-risk-status',\r\n label: 'Failed',\r\n value: Status.FAILED\r\n },\r\n [Status.ERROR]:{\r\n class:'at-risk-status',\r\n label: 'Failed',\r\n value: Status.ERROR\r\n },\r\n\r\n [Status.START]:{\r\n class:'at-start-status',\r\n label: 'Started',\r\n value: Status.START\r\n },\r\n [Status.PASS]:{\r\n class:'at-pass-status',\r\n label: 'Passed',\r\n value: Status.PASS\r\n },\r\n [Status.PENDING]:{\r\n class:'at-pending-status',\r\n label: 'Pending',\r\n value: Status.PENDING,\r\n },\r\n [Status.LOADING]:{\r\n class:'loading-status',\r\n label: 'Loading',\r\n value: Status.LOADING,\r\n\r\n },\r\n //new status for manual step\r\n [Status.PENDINGUSERACTION]:{\r\n class:'at-pending-user-action-status',\r\n label: 'Pending User Action',\r\n value: Status.PENDINGUSERACTION,\r\n },\r\n [Status.PROCESSING]:{\r\n class:'at-pending-status',\r\n label: 'Pending',\r\n value: Status.PENDING,\r\n }\r\n\r\n };\r\n\r\n constructor(private httpClient: HttpClient, private ngxLoader: NgxUiLoaderService,\r\n private testCaseProjectService: TestCaseProjectService) {\r\n }\r\n\r\n ngOnInit(): void {\r\n this.fetchStatus();\r\n }\r\n\r\n ngOnDestroy(): void {\r\n this.destroy$.next(); // trigger the unsubscribe\r\n this.destroy$.complete(); // finalize & clean up the subject stream\r\n }\r\n\r\n get statusDisplay(): { class: string; label: string; value: Status} {\r\n return this.status != null ? this.statusDisplayMapping[this.status] : this.statusDisplayMapping[Status.NOT_STARTED];\r\n }\r\n\r\n fetchStatus(){\r\n if (this.status != Status.NOT_STARTED && this.status != Status.START && this.status != Status.IN_PROGRESS) {\r\n if(this.detailLink != null){\r\n if (this.detailLink.get(this.correlationId) != undefined) {\r\n try {\r\n var status = this.detailLink.get(this.correlationId)['finalResult'];\r\n if (status == 'Fail') {\r\n this.status = Status.FAILED;\r\n this.statusChange.emit(this.status);\r\n }\r\n \r\n else {\r\n this.status = status;\r\n this.statusChange.emit(this.status);\r\n }\r\n clearInterval();\r\n } catch (Error) {\r\n //this.fetchStatus();\r\n }\r\n }\r\n else {\r\n this.status = Status.LOADING;\r\n setInterval(() => {\r\n this.fetchStatus();\r\n }, 1000)\r\n }\r\n }\r\n }\r\n else {\r\n \r\n this.statusDisplay;\r\n }\r\n \r\n }\r\n\r\n\r\n\r\n handleStatusChange(value: Status){\r\n this.status = value;\r\n this.statusChange.emit(this.status);\r\n }\r\n}\r\n","
\r\n \r\n \r\n
\r\n \r\n
\r\n
\r\n","import { Component } from '@angular/core';\r\nimport { FieldType } from '@ngx-formly/core';\r\n\r\n@Component({\r\n selector: 'formly-link-component',\r\n template: `\r\nClick here to create Mapper String\r\n `,\r\n})\r\nexport class FormlyLinkComponent extends FieldType {\r\n\r\n}","import { Component } from '@angular/core';\r\nimport { FieldType, FieldTypeConfig } from '@ngx-formly/core';\r\n\r\n@Component({\r\n selector: 'formly-field-file',\r\n template: `\r\n \r\n `,\r\n})\r\nexport class FormlyFieldFile extends FieldType {}\r\n","import { HttpClient } from '@angular/common/http';\r\nimport { Injectable } from '@angular/core';\r\nimport { ConfigService } from './config.service';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class ShipmentLabelMockerService {\r\n\r\n constructor(private httpClient: HttpClient, private configService: ConfigService) { }\r\n shipmentLabelCreateMock(shipmentLabelCreateMockRequest: any) {\r\n const baseUrlWithVersion = this.configService.omtestSuiteAPI.baseUrl + '/api/' + this.configService.omtestSuiteAPI.apiVersion;\r\n return this.httpClient.post(baseUrlWithVersion + '/ShipmentLabelMocker/mockshipmentlabel', shipmentLabelCreateMockRequest);\r\n }\r\n}\r\n","import { HttpClient } from '@angular/common/http';\r\nimport { Injectable } from '@angular/core';\r\nimport { ConfigService } from './config.service';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class TradeporformaService {\r\n\r\n constructor(private httpClient: HttpClient, private configService: ConfigService) { }\r\n tradePorformaRequest(tradePorformaRequest:any) {\r\n const baseUrlWithVersion = this.configService.omtestSuiteAPI.baseUrl+ '/api/' + this.configService.omtestSuiteAPI.apiVersion; \r\n return this.httpClient.post(baseUrlWithVersion + '/TradeProformaMocker/tradeproformamocker', tradePorformaRequest);\r\n }\r\n}\r\n","import { HttpClient } from '@angular/common/http';\r\nimport { Injectable } from '@angular/core';\r\nimport { ConfigService } from './config.service';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class AsnMockerService {\r\n\r\n constructor(private httpClient: HttpClient, private configService: ConfigService) { }\r\n asnMockShipmentRequest(asnMockRequest:any) {\r\n const baseUrlWithVersion = this.configService.omtestSuiteAPI.baseUrl + '/api/' + this.configService.omtestSuiteAPI.apiVersion; \r\n return this.httpClient.post(baseUrlWithVersion + '/scgmockers/mockshipment', asnMockRequest);\r\n }\r\n}\r\n","import { ListFormat } from \"typescript\";\r\n\r\nexport class TestRunsUsersDetails {\r\n public userName: string;\r\n public userEmail: string;\r\n}\r\n\r\nexport class TestRunsList {\r\n totalTestRunsCount: number;\r\n testRunDetailsList: TestRunDetails[];\r\n}\r\n\r\nexport class TestRunDetails {\r\n constructor() {\r\n this.testRunPrestepDetails = new TestRunScenariosDetails();\r\n this.scenariosDetailsList = [];\r\n this.trackingType = '';\r\n this.trackingIDs = [];\r\n }\r\n rn: number;\r\n testRunId: string;\r\n testRunName: string;\r\n userName: string;\r\n userEmail: string;\r\n executionDate: string;\r\n lastModifiedDate: string;\r\n isSavedRun: boolean;\r\n isMultiPayload: boolean;\r\n totalScenariosCount: number;\r\n isReload: boolean;\r\n statusCounts: TestRunStatusCount;\r\n testRunPrestepDetails: TestRunScenariosDetails;\r\n scenariosDetailsList: TestRunScenariosDetails[];\r\n trackingType: string;\r\n trackingIDs: string[];\r\n}\r\n\r\nexport class TestRunsFetchInputs {\r\n constructor() {\r\n this.pageNumber = 1;\r\n this.isExport = false;\r\n }\r\n userEmail: string;\r\n testRunName: string;\r\n testRunId: string;\r\n pageNumber: number;\r\n searchId: string;\r\n organizationId?: number;\r\n statusFilter?: string;\r\n isExport: boolean;\r\n}\r\n\r\nexport class TestRunsDetails {\r\n public totalCount: number;\r\n public testRunsItemDetailsList: TestRunsItemDetails[];\r\n}\r\n\r\nexport class TestRunsItemDetails {\r\n constructor() {\r\n this.isReload = false;\r\n }\r\n testRunId: string;\r\n testRunName: string;\r\n userName: string;\r\n userEmail: string;\r\n isSavedRun: boolean;\r\n isMultiPayload: boolean;\r\n isReload: boolean;\r\n executionDate: string;\r\n statusCounts: TestRunStatusCount;\r\n testRunPrestepDetails: TestRunScenariosDetails;\r\n scenariosDetailsList: TestRunScenariosDetails[];\r\n\r\n /** \r\n * Tracking type for this test run.\r\n */\r\n trackingType: string;\r\n\r\n /**\r\n * Order IDs which can be tracked for events in this Test Run\r\n */\r\n trackingIDs: string[];\r\n}\r\n\r\nexport class TestRunStatusCount {\r\n waiting: number;\r\n start: number;\r\n ready: number;\r\n processing: number;\r\n pending: number;\r\n complete: number;\r\n error: number;\r\n}\r\n\r\nexport class TestRunScenariosDetails {\r\n correlationId: string;\r\n verticalName: string;\r\n sectionName: string;\r\n scenarioId: number;\r\n scenarioName: string;\r\n flavourId: number;\r\n flavourName: string;\r\n testCaseName: string;\r\n executionDate: string;\r\n estimatedCompletionDateTime: string;\r\n status: string;\r\n isVisible: boolean;\r\n stepsDetailsList: TestRunStepsDetails[];\r\n}\r\n\r\nexport class TestRunStepsDetails {\r\n componentId: number;\r\n componentName: string;\r\n componentDescription: string;\r\n componentMethod: string;\r\n componentUrl: string;\r\n displayTracking: boolean;\r\n trackingType: string;\r\n customErrorMessages: string;\r\n restartDisplayCondition: string;\r\n enableRefresh: boolean;\r\n enableErrorEmail: boolean;\r\n errorEmaillink: string;\r\n allowProceedOnError: boolean;\r\n downloadSuccessKey: string;\r\n downloadErrorKey: string;\r\n stepRank: number;\r\n userInput: string;\r\n stepStatus: string;\r\n stepResponse: string;\r\n isPreReqStep: boolean;\r\n eventsList: Events[];\r\n withPartner: boolean;\r\n isManual: boolean;\r\n componentCreated: string;\r\n componentLastModified: string;\r\n estimatedCompletionDateTime: string;\r\n isChildStep: boolean;\r\n parentCorrelationID: string;\r\n parentStepRank: number;\r\n isManualStep: boolean;\r\n childScenariosList: TestRunScenariosDetails[];\r\n}\r\n\r\nexport class TestRunExportResponse {\r\n testRunId: string;\r\n testRunName: string;\r\n correlationId: string;\r\n scenarioName: string;\r\n flavourName: string;\r\n componentName: string;\r\n componentDescription: string;\r\n customErrorMessages: string;\r\n stepRank: number;\r\n userInput: string;\r\n stepStatus: string;\r\n stepResponse: string;\r\n userName: string;\r\n userEmail: string;\r\n testCaseName: string;\r\n vertical: string;\r\n section: string;\r\n executionDate: string;\r\n componentTeamEmail: string;\r\n}\r\n\r\nexport class SearchEntities {\r\n entityId: number;\r\n entityType: string;\r\n entityName: string;\r\n entityDesc: string;\r\n}\r\n\r\nexport class TrackOrderRequest {\r\n entityType: string;\r\n entityIDs: string[];\r\n eventSequence: string;\r\n}\r\n\r\nexport class TrackOrderResponse {\r\n events: Events[];\r\n payload: string;\r\n}\r\n\r\nexport class Events {\r\n eventId: number;\r\n eventName: string;\r\n eventDate: string;\r\n eventTime: string;\r\n trackingId: string;\r\n trackingName: string;\r\n correlationId: string;\r\n eventStatus: string;\r\n eventMessage: any;\r\n}\r\n\r\nexport class UpdateScenarioStepInput {\r\n correlationId: string;\r\n stepRank: number;\r\n completeCurrentStep: boolean;\r\n}\r\n\r\nexport class ErrorRestartStepInputs {\r\n constructor() {\r\n this.parentCorrelationId = '';\r\n this.parentStepRank = -1;\r\n this.isPrestep = false;\r\n }\r\n correlationId: string;\r\n stepRank: number;\r\n parentCorrelationId: string;\r\n parentStepRank: number;\r\n isPrestep: boolean;\r\n}\r\n\r\nexport class ErrorRestartStepResponse {\r\n constructor() {\r\n this.isPrestep = false;\r\n }\r\n correlationId: string;\r\n stepRank: number;\r\n parentCorrelationId: string;\r\n parentStepRank: number;\r\n updateStatus: boolean;\r\n isPrestep: boolean;\r\n}\r\n\r\nexport class TestRunSaveStatusInput {\r\n testRunId: string;\r\n saveStatus: boolean;\r\n}\r\n\r\nexport class ModalInputs {\r\n constructor() {\r\n this.testRunIndex = -1;\r\n this.scenarioIndex = -1;\r\n this.stepIndex = -1;\r\n this.childScenarioIndex = -1;\r\n this.childStepIndex = -1;\r\n this.enableNextStep = false;\r\n this.enableRestart = false;\r\n this.enableDownload = false;\r\n this.enableForManualStep = false;\r\n this.refreshRestartDisabled = false;\r\n this.disableFileDownload = false;\r\n this.isPrestep = false;\r\n }\r\n modalType: string;\r\n testRunIndex: number;\r\n scenarioIndex: number;\r\n stepIndex: number;\r\n childScenarioIndex: number;\r\n childStepIndex: number;\r\n headerText: string;\r\n bodyText: string;\r\n requestPayload: string;\r\n responsePayload: string;\r\n componentMethod: string;\r\n componentUrl: string;\r\n errorPayload: string;\r\n enableNextStep: boolean;\r\n enableRestart: boolean;\r\n enableRefresh: boolean;\r\n enableErrorEmail: boolean;\r\n errorEmaillink: string;\r\n enableForManualStep: boolean;\r\n\r\n //disable condition for worksoft\r\n refreshRestartDisabled: boolean;\r\n disableFileDownload: boolean;\r\n enableDownload: boolean;\r\n /*** Number of sections visible, out of Request, Response, Error ***/\r\n visibleSections: number;\r\n isVisibleRequest: boolean;\r\n isVisibleResponse: boolean;\r\n isVisibleError: boolean;\r\n isPrestep: boolean;\r\n\r\n /*** ADO RunId ***/\r\n adoTestRunId: string;\r\n\r\n /*** ADO Run Result Id ***/\r\n adoTestRunResultId: string;\r\n\r\n /*** ADO Test Case Id ***/\r\n adoTestCaseId: string;\r\n\r\n showResponseJson: boolean;\r\n showResponseDownload: boolean;\r\n}\r\n\r\nexport class TestRunsChartCounts {\r\n constructor() {\r\n this.totalTestRuns = 0;\r\n this.totalScenarios = 0;\r\n this.scenariosSuccessCount = 0;\r\n this.scenariosErrorCount = 0;\r\n this.scenariosProcessingCount = 0;\r\n }\r\n totalTestRuns: number;\r\n totalScenarios: number;\r\n scenariosSuccessCount: number;\r\n scenariosErrorCount: number;\r\n scenariosProcessingCount: number;\r\n}\r\n\r\nexport class CurrentEventMetadata {\r\n constructor() {\r\n this.testRunIndex = 0;\r\n this.scenarioIndex = 0;\r\n this.stepIndex = 0;\r\n }\r\n testRunIndex: number;\r\n scenarioIndex: number;\r\n stepIndex: number;\r\n}\r\n\r\nexport class TestRunInputsDetails {\r\n constructor() {\r\n this.verticalName = '-1';\r\n this.sectionName = '-1';\r\n }\r\n public testRunName: string;\r\n public userName: string;\r\n public userEmail: string;\r\n public verticalName: string;\r\n public sectionName: string;\r\n public partnerOrgName: string;\r\n public businessProcessName: string;\r\n public onboardingName: string;\r\n public inputsJsonDetails: string;\r\n}\r\n\r\nexport class ScenariosInputsModel {\r\n constructor() {\r\n this.id = 0;\r\n this.scenarioId = -1;\r\n this.flavourId = -1;\r\n this.scenarioName = '';\r\n this.flavourName = '';\r\n this.inputsModel = {};\r\n }\r\n public id: number;\r\n public scenarioId: number;\r\n public flavourId: number;\r\n public scenarioName: string;\r\n public flavourName: string;\r\n public inputsModel: {};\r\n}\r\n\r\nexport class TestRunRetriggerInput {\r\n constructor() {\r\n this.pageNumber = 1;\r\n this.pageSet = 5;\r\n }\r\n userEmail: string;\r\n userName?: string;\r\n testRunId: string;\r\n pageNumber: number;\r\n pageSet: number;\r\n searchId: string;\r\n OrganizationId?: number;\r\n TestPlanInstanceId?: string;\r\n ProjectId?: string;\r\n}\r\n","import { Component, OnInit } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'app-coming-soon',\r\n templateUrl: './comming-soon.component.html',\r\n styleUrls: ['./comming-soon.component.css']\r\n})\r\nexport class ComingSoonComponent implements OnInit {\r\n\r\n constructor() { }\r\n\r\n ngOnInit() {\r\n }\r\n\r\n}\r\n","
\r\n

COMING SOON

\r\n
\r\n

\r\n
\r\n\r\n","import { Injectable } from '@angular/core';\r\nimport { Router, CanActivate, CanActivateChild, ActivatedRouteSnapshot, RouterStateSnapshot } from '@angular/router';\r\nimport {MsalService} from '@azure/msal-angular'\r\n\r\n@Injectable()\r\nexport class AuthenticationGuard implements CanActivate, CanActivateChild {\r\n constructor(\r\n private router: Router,\r\n private msalSvc:MsalService\r\n ) { }\r\n\r\n canActivate(route: ActivatedRouteSnapshot, state: RouterStateSnapshot): boolean {\r\n if (this.msalSvc.instance.getAllAccounts().length > 0) {\r\n return true;\r\n } else {\r\n this.msalSvc.loginPopup();\r\n return false;\r\n }\r\n\r\n }\r\n\r\n canActivateChild(childRoute: ActivatedRouteSnapshot, state: RouterStateSnapshot): boolean {\r\n return this.canActivate(childRoute, state);\r\n }\r\n}\r\n","import { NgModule, APP_INITIALIZER, ErrorHandler } from '@angular/core';\r\nimport { Routes, RouterModule, ChildActivationEnd } from '@angular/router';\r\nimport { NewTestRunComponent } from './new-test-run/new-test-run.component';\r\nimport { BrowserUtils } from '@azure/msal-browser';\r\nimport { ShipmentmockerComponent } from './shipmentmocker/shipmentmocker.component';\r\nimport { LoadPlanMockerComponent } from './loadplanmocker/loadplanmocker.component';\r\nimport { LoadTestComponent } from './loadtest/loadtest.component';\r\nimport { LoadTestExecutionComponent } from './loadtestexecution/loadtestexecution.component';\r\nimport { LandingPageComponent } from './landing-page/landing-page.component';\r\nimport { TestRunListComponent } from './test-run-list/test-run-list.component';\r\nimport { ManageScenariosComponent } from './manage-scenarios/manage-scenarios.component';\r\nimport { ExecuteTestRunsComponent } from './manage-scenarios/execute-testruns/execute-testruns.component';\r\nimport { ManageTestRunsComponent } from './manage-scenarios/manage-testruns/manage-testruns.component';\r\nimport { OrderSummaryComponent } from './order-summary/order-summary.component';\r\nimport { OrderListComponent } from './order-list/order-list.component';\r\nimport { UnauthorizedComponent } from './unauthorized/unauthorized.component';\r\nimport { SerialNumberGeneratorComponent } from './serial-number-generator/serial-number-generator.component';\r\nimport { SerialNumberListComponent } from './serial-number-list/serial-number-list.component';\r\nimport { SkuNumberListComponent } from './sku-number-list/sku-number-list.component';\r\nimport { SkuValidationComponent } from './skuvalidation/skuvalidation.component';\r\nimport { SapOutputTriggerComponent } from './sapoutputtrigger/sapoutputtrigger.component';\r\nimport { ComingSoonComponent } from './comming-soon/comming-soon.component';\r\nimport { ScenarioCatalogComponent } from './scenariocatalog/scenariocatalog.component';\r\nimport { TestRunOverviewComponent } from './testrunoverview/testrunoverview.component';\r\nimport { GoodReceiptMockerComponent } from './goodreceiptmocker/goodreceiptmocker.component'\r\nimport { EntityTrackingComponent } from './entity-tracking/entitytracking.component';\r\nimport { ToolsComponent } from './tools/tools.component';\r\nimport { MockersComponent } from './mockers/mockers.component';\r\nimport { TestRunComponent } from './testrun/testrun.component';\r\nimport { UATAvailabilityComponent } from './uatAvailability/uatAvailability.component';\r\nimport { PrivacyNoticeComponent } from './privacynotice/privacynotice.component';\r\nimport { TestProjectViewComponent } from './project-test-runs/project-view/test-project-view.component';\r\nimport { TestCaseViewComponent } from './project-test-runs/test-case-view/test-case-view.component';\r\nimport { OrgProjectViewComponent } from './project-test-runs/org-project-view/org-project-view.component';\r\nimport { OrgViewLandingPageComponent } from './landing-page/org-view-landing-page/org-view-landing-page.component';\r\nimport { MsalGuard, MsalRedirectComponent } from '@azure/msal-angular';\r\nimport { RoleGuard } from './common/role-guard';\r\nimport { SelfServeComponent } from './self-serve/self-serve.component';\r\nimport { FormlyPlaygroundComponent } from './formly-playground/formly-playground.component';\r\nimport { GenerateMapperStringComponent } from './generate-mapper-string/generate-mapper-string.component';\r\nimport { DevicecareComponent } from './devicecare/devicecare.component';\r\nimport { MockersformlyComponent } from './mockersformly/mockersformly.component';\r\nimport { BlobDownloadComponent } from './blob-download/blob-download.component';\r\n\r\n\r\nconst appRoutes: Routes = [\r\n {\r\n path: \"\",\r\n redirectTo: \"org-landing\",\r\n pathMatch: \"full\",\r\n canActivate:[MsalGuard],\r\n data: {\r\n expectedRole: [\r\n \"OMTestSuiteTester\",\r\n \"OMTestSuiteAdmin\",\r\n \"OMTestSuiteRead\",\r\n ],\r\n },\r\n },\r\n {\r\n path: \"org-landing\",\r\n pathMatch: \"full\",\r\n component: OrgViewLandingPageComponent,\r\n canActivate: [MsalGuard],\r\n data: {\r\n expectedRole: [\r\n \"OMTestSuiteTester\",\r\n \"OMTestSuiteAdmin\",\r\n \"OMTestSuiteRead\",\r\n ],\r\n },\r\n },\r\n {\r\n path: \"self-serve\",\r\n pathMatch: \"full\",\r\n component: SelfServeComponent,\r\n canActivate: [MsalGuard,RoleGuard],\r\n data: {\r\n expectedRole: [\r\n \"OMTestSuiteAdmin\",\r\n \r\n ],\r\n },\r\n },\r\n {\r\n path: \"self-serve/generateMapperString\",\r\n pathMatch: \"full\",\r\n component: GenerateMapperStringComponent,\r\n canActivate: [MsalGuard,RoleGuard],\r\n data: {\r\n expectedRole: [\r\n \"OMTestSuiteAdmin\",\r\n \r\n ],\r\n },\r\n },\r\n {\r\n path: \"landing-page\",\r\n pathMatch: \"full\",\r\n component: LandingPageComponent,\r\n canActivate: [MsalGuard, RoleGuard],\r\n data: {\r\n expectedRole: [\r\n \"OMTestSuiteTester\",\r\n \"OMTestSuiteAdmin\",\r\n \"OMTestSuiteRead\",\r\n ],\r\n },\r\n },\r\n {\r\n path: \"shipment-mocker\",\r\n pathMatch: \"full\",\r\n component: ShipmentmockerComponent,\r\n canActivate: [MsalGuard, RoleGuard],\r\n data: { expectedRole: [\"OMTestSuiteTester\", \"OMTestSuiteAdmin\"] },\r\n },\r\n {\r\n path: \"loadplan-mocker\",\r\n pathMatch: \"full\",\r\n component: LoadPlanMockerComponent,\r\n canActivate: [MsalGuard, RoleGuard],\r\n data: { expectedRole: [\"OMTestSuiteTester\", \"OMTestSuiteAdmin\"] },\r\n },\r\n {\r\n path: \"goodreceipt-mocker\",\r\n pathMatch: \"full\",\r\n component: GoodReceiptMockerComponent,\r\n canActivate: [MsalGuard, RoleGuard],\r\n data: { expectedRole: [\"OMTestSuiteTester\", \"OMTestSuiteAdmin\"] },\r\n },\r\n {\r\n path: \"loadtest\",\r\n pathMatch: \"full\",\r\n component: LoadTestComponent,\r\n canActivate: [MsalGuard, RoleGuard],\r\n data: { expectedRole: [\"OMTestSuiteTester\", \"OMTestSuiteAdmin\"] },\r\n },\r\n {\r\n path: \"loadtestexecution/:loadTestRunId\",\r\n pathMatch: \"full\",\r\n component: LoadTestExecutionComponent,\r\n canActivate: [MsalGuard, RoleGuard],\r\n data: { expectedRole: [\"OMTestSuiteTester\", \"OMTestSuiteAdmin\"] },\r\n },\r\n {\r\n path: \"new-test-run\",\r\n pathMatch: \"full\",\r\n component: NewTestRunComponent,\r\n canActivate: [MsalGuard, RoleGuard],\r\n data: { expectedRole: [\"OMTestSuiteTester\", \"OMTestSuiteAdmin\"] },\r\n },\r\n {\r\n path: \"manage-scenarios\",\r\n pathMatch: \"full\",\r\n component: ManageScenariosComponent,\r\n canActivate: [MsalGuard, RoleGuard],\r\n data: {\r\n expectedRole: [\r\n \"OMTestSuiteTester\",\r\n \"OMTestSuiteAdmin\",\r\n \"OMTestSuiteRead\",\r\n ],\r\n },\r\n },\r\n {\r\n path: \"manage-testruns\",\r\n pathMatch: \"full\",\r\n component: ManageTestRunsComponent,\r\n canActivate: [MsalGuard, RoleGuard],\r\n data: {\r\n expectedRole: [\r\n \"OMTestSuiteTester\",\r\n \"OMTestSuiteAdmin\",\r\n \"OMTestSuiteRead\",\r\n ],\r\n },\r\n },\r\n {\r\n path: \"execute-testruns\",\r\n pathMatch: \"full\",\r\n component: ExecuteTestRunsComponent,\r\n canActivate: [MsalGuard, RoleGuard],\r\n data: {\r\n expectedRole: [\r\n \"OMTestSuiteTester\",\r\n \"OMTestSuiteAdmin\",\r\n \"OMTestSuiteRead\",\r\n ],\r\n },\r\n },\r\n {\r\n path: \"testruns\",\r\n pathMatch: \"full\",\r\n component: TestRunListComponent,\r\n canActivate: [MsalGuard, RoleGuard],\r\n data: { expectedRole: [\"OMTestSuiteTester\", \"OMTestSuiteAdmin\"] },\r\n },\r\n {\r\n path: \"project-view\",\r\n pathMatch: \"full\",\r\n component: TestProjectViewComponent,\r\n canActivate: [MsalGuard, RoleGuard],\r\n data: {\r\n expectedRole: [\r\n \"OMTestSuiteTester\",\r\n \"OMTestSuiteAdmin\",\r\n \"OMTestSuiteRead\",\r\n ],\r\n },\r\n },\r\n {\r\n path: \"org-project-view\",\r\n pathMatch: \"full\",\r\n component: OrgProjectViewComponent,\r\n canActivate: [MsalGuard, RoleGuard],\r\n data: {\r\n expectedRole: [\r\n \"OMTestSuiteTester\",\r\n \"OMTestSuiteAdmin\",\r\n \"OMTestSuiteRead\",\r\n ],\r\n },\r\n },\r\n {\r\n path: \"test-case-view\",\r\n pathMatch: \"full\",\r\n component: TestCaseViewComponent,\r\n canActivate: [MsalGuard, RoleGuard],\r\n data: { expectedRole: [\"OMTestSuiteTester\", \"OMTestSuiteAdmin\"] },\r\n },\r\n {\r\n path: \"order-summary/:customerPurchaseOrder\",\r\n pathMatch: \"full\",\r\n component: OrderSummaryComponent,\r\n canActivate: [MsalGuard, RoleGuard],\r\n data: {\r\n expectedRole: [\r\n \"OMTestSuiteTester\",\r\n \"OMTestSuiteAdmin\",\r\n \"OMTestSuiteRead\",\r\n ],\r\n },\r\n },\r\n {\r\n path: \"orders\",\r\n pathMatch: \"full\",\r\n component: OrderListComponent,\r\n canActivate: [MsalGuard, RoleGuard],\r\n data: {\r\n expectedRole: [\r\n \"OMTestSuiteTester\",\r\n \"OMTestSuiteAdmin\",\r\n \"OMTestSuiteRead\",\r\n ],\r\n },\r\n },\r\n {\r\n path: \"serial-number-generator\",\r\n pathMatch: \"full\",\r\n component: SerialNumberGeneratorComponent,\r\n canActivate: [MsalGuard, RoleGuard],\r\n data: {\r\n expectedRole: [\r\n \"OMTestSuiteTester\",\r\n \"OMTestSuiteAdmin\",\r\n \"OMTestSuiteRead\",\r\n ],\r\n },\r\n },\r\n {\r\n path: \"serial-number-list\",\r\n pathMatch: \"full\",\r\n component: SerialNumberListComponent,\r\n canActivate: [MsalGuard, RoleGuard],\r\n data: {\r\n expectedRole: [\r\n \"OMTestSuiteTester\",\r\n \"OMTestSuiteAdmin\",\r\n \"OMTestSuiteRead\",\r\n ],\r\n },\r\n },\r\n {\r\n path: \"sku-number-list\",\r\n pathMatch: \"full\",\r\n component: SkuNumberListComponent,\r\n canActivate: [MsalGuard, RoleGuard],\r\n data: {\r\n expectedRole: [\r\n \"OMTestSuiteTester\",\r\n \"OMTestSuiteAdmin\",\r\n \"OMTestSuiteRead\",\r\n ],\r\n },\r\n },\r\n {\r\n path: \"skuvalidation\",\r\n pathMatch: \"full\",\r\n component: SkuValidationComponent,\r\n canActivate: [MsalGuard, RoleGuard],\r\n data: {\r\n expectedRole: [\r\n \"OMTestSuiteTester\",\r\n \"OMTestSuiteAdmin\",\r\n \"OMTestSuiteRead\",\r\n ],\r\n },\r\n },\r\n {\r\n path: \"sapoutputtrigger\",\r\n pathMatch: \"full\",\r\n component: SapOutputTriggerComponent,\r\n canActivate: [MsalGuard, RoleGuard],\r\n data: {\r\n expectedRole: [\r\n \"OMTestSuiteTester\",\r\n \"OMTestSuiteAdmin\",\r\n \"OMTestSuiteRead\",\r\n ],\r\n },\r\n },\r\n {\r\n path: \"entitytracking\",\r\n pathMatch: \"full\",\r\n component: EntityTrackingComponent,\r\n canActivate: [MsalGuard, RoleGuard],\r\n data: {\r\n expectedRole: [\r\n \"OMTestSuiteTester\",\r\n \"OMTestSuiteAdmin\",\r\n \"OMTestSuiteRead\",\r\n ],\r\n },\r\n },\r\n {\r\n path: \"mockers-formly\",\r\n pathMatch: \"full\",\r\n component: MockersformlyComponent,\r\n canActivate: [MsalGuard, RoleGuard],\r\n data: {\r\n expectedRole: [\r\n \"OMTestSuiteTester\",\r\n \"OMTestSuiteAdmin\",\r\n \"OMTestSuiteRead\",\r\n ],\r\n },\r\n },\r\n {\r\n path: \"blob-download/:blobAdapterName/:blobName\",\r\n pathMatch: \"full\",\r\n component: BlobDownloadComponent,\r\n canActivate: [MsalGuard, RoleGuard],\r\n data: {\r\n expectedRole: [\r\n \"OMTestSuiteTester\",\r\n \"OMTestSuiteAdmin\",\r\n \"OMTestSuiteRead\",\r\n ],\r\n },\r\n },\r\n {\r\n path: \"coming-soon\",\r\n pathMatch: \"full\",\r\n component: ComingSoonComponent,\r\n canActivate: [MsalGuard, RoleGuard],\r\n data: {\r\n expectedRole: [\r\n \"OMTestSuiteTester\",\r\n \"OMTestSuiteAdmin\",\r\n \"OMTestSuiteRead\",\r\n ],\r\n },\r\n },\r\n {\r\n path: \"tools\",\r\n pathMatch: \"full\",\r\n component: ToolsComponent,\r\n canActivate: [MsalGuard, RoleGuard],\r\n data: {\r\n expectedRole: [\r\n \"OMTestSuiteTester\",\r\n \"OMTestSuiteAdmin\",\r\n \"OMTestSuiteRead\",\r\n ],\r\n },\r\n },\r\n {\r\n path: \"privacynotice\",\r\n pathMatch: \"full\",\r\n component: PrivacyNoticeComponent,\r\n canActivate: [MsalGuard, RoleGuard],\r\n data: {\r\n expectedRole: [\r\n \"OMTestSuiteTester\",\r\n \"OMTestSuiteAdmin\",\r\n \"OMTestSuiteRead\",\r\n ],\r\n },\r\n },\r\n {\r\n path: \"mockers\",\r\n pathMatch: \"full\",\r\n component: MockersComponent,\r\n canActivate: [MsalGuard, RoleGuard],\r\n data: {\r\n expectedRole: [\r\n \"OMTestSuiteTester\",\r\n \"OMTestSuiteAdmin\",\r\n \"OMTestSuiteRead\",\r\n ],\r\n },\r\n },\r\n {\r\n path: \"testscenario\",\r\n pathMatch: \"full\",\r\n component: TestRunComponent,\r\n canActivate: [MsalGuard, RoleGuard],\r\n data: {\r\n expectedRole: [\r\n \"OMTestSuiteTester\",\r\n \"OMTestSuiteAdmin\",\r\n \"OMTestSuiteRead\",\r\n ],\r\n },\r\n },\r\n {\r\n path: \"scenariocatalog\",\r\n pathMatch: \"full\",\r\n component: ScenarioCatalogComponent,\r\n canActivate: [MsalGuard, RoleGuard],\r\n data: {\r\n expectedRole: [\r\n \"OMTestSuiteTester\",\r\n \"OMTestSuiteAdmin\",\r\n \"OMTestSuiteRead\",\r\n ],\r\n },\r\n },\r\n {\r\n path: \"testrunoverview\",\r\n pathMatch: \"full\",\r\n component: TestRunOverviewComponent,\r\n canActivate: [MsalGuard, RoleGuard],\r\n data: {\r\n expectedRole: [\r\n \"OMTestSuiteTester\",\r\n \"OMTestSuiteAdmin\",\r\n \"OMTestSuiteRead\",\r\n ],\r\n },\r\n },\r\n {\r\n path: \"uatAvailability\",\r\n pathMatch: \"full\",\r\n component: UATAvailabilityComponent,\r\n canActivate: [MsalGuard, RoleGuard],\r\n data: {\r\n expectedRole: [\r\n \"OMTestSuiteTester\",\r\n \"OMTestSuiteAdmin\",\r\n \"OMTestSuiteRead\",\r\n ],\r\n },\r\n },\r\n {\r\n path: \"formly-playground\",\r\n pathMatch: \"full\",\r\n component: FormlyPlaygroundComponent,\r\n canActivate: [MsalGuard, RoleGuard],\r\n data: {\r\n expectedRole: [\r\n \"OMTestSuiteTester\",\r\n \"OMTestSuiteAdmin\",\r\n \"OMTestSuiteRead\",\r\n ],\r\n },\r\n },\r\n { path: \"unauthorized\", pathMatch: \"full\", component: UnauthorizedComponent },\r\n { path: \"**\", redirectTo: \"org-landing\", pathMatch: \"full\" },\r\n { path: \"auth\", component: MsalRedirectComponent },\r\n];\r\n\r\n\r\n\r\n@NgModule({\r\n imports: [RouterModule.forRoot(appRoutes, {\r\n useHash: false,\r\n // Don't perform initial navigation in iframes or popups\r\n initialNavigation: !BrowserUtils.isInIframe() && !BrowserUtils.isInPopup() ? 'enabled' : 'disabled' \r\n })],\r\n exports: [RouterModule]\r\n})\r\nexport class AppRoutingModule { }\r\n","export class SerialNumberSearchRequest {\r\n public serialNumber: string;\r\n public sku: string;\r\n public startDate: string;\r\n public endDate: string;\r\n public requestorEmail: string;\r\n public sortOrder: string;\r\n public skip: number;\r\n public take: number;\r\n}\r\n","import { HttpClient } from '@angular/common/http';\r\nimport { Injectable } from '@angular/core';\r\nimport { ConfigService } from './config.service';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class AcknowledgeMockerService {\r\n\r\n constructor(private httpClient: HttpClient, private configService: ConfigService) { }\r\n ackMockShipmentRequest(acknowledgementMockRequest:any) {\r\n const baseUrlWithVersion = this.configService.omtestSuiteAPI.baseUrl + '/api/' + this.configService.omtestSuiteAPI.apiVersion; \r\n return this.httpClient.post(baseUrlWithVersion + '/scgmockers/mockfunctionalack', acknowledgementMockRequest);\r\n }\r\n}\r\n","export class TradeProformaMockerRequest{\r\n public UseDummyDoIfNecessary:boolean;\r\n public TradeProformaParams:TradeProformaParams;\r\n public DeliveryOrderDetails:DeliveryOrderDetails[];\r\n }\r\n export class TradeProformaParams{\r\n public BillingType :string;\r\n public RepeatFlag:string;\r\n public ConsolidationFlag:string;\r\n public CountryofOrigin:string;\r\n\r\n \r\n }\r\n export class DeliveryOrderDetails{\r\n public DeliveryOrderNumber: string;\r\n }\r\n","import { TestRunList } from '../model/testrunlist.model';\r\nimport { HttpClient } from '@angular/common/http';\r\nimport { Injectable } from '@angular/core';\r\nimport { ConfigService } from './config.service';\r\n\r\n@Injectable()\r\nexport class TestRunService {\r\n\r\n constructor(private httpClient: HttpClient, private configService: ConfigService) {\r\n }\r\n\r\n getTestRuns(testRunRequest: any) {\r\n const baseUrlWithVersion = this.configService.omtestSuiteAPI.baseUrl + '/api/' + this.configService.omtestSuiteAPI.apiVersion;\r\n return this.httpClient.post(baseUrlWithVersion + '/TestRun/list', testRunRequest);\r\n }\r\n\r\n createNewTestRun(newTestRunRequest: any) {\r\n const baseUrlWithVersion = this.configService.omtestSuiteAPI.baseUrl + '/api/' + this.configService.omtestSuiteAPI.apiVersion;\r\n return this.httpClient.post(baseUrlWithVersion + '/TestRun', newTestRunRequest);\r\n }\r\n}\r\n","import { ShipmentMockRequest } from '../model/shipment.model';\r\nimport { HttpClient } from '@angular/common/http';\r\nimport { Injectable } from '@angular/core';\r\nimport { ShipmentResponse } from '../model/shipmentresponse.model';\r\nimport { ConfigService } from './config.service';\r\n\r\n@Injectable()\r\nexport class ShipmentService {\r\n\r\n constructor(private httpClient: HttpClient, private configService: ConfigService) {\r\n }\r\n\r\n postMockShipmentRequest(shipmentMockRequest: ShipmentMockRequest) {\r\n const baseUrlWithVersion = this.configService.omtestSuiteAPI.baseUrl + '/api/' + this.configService.omtestSuiteAPI.apiVersion;\r\n return this.httpClient.post(baseUrlWithVersion + '/shipmentmock', shipmentMockRequest);\r\n }\r\n\r\n getOrderLines(doNumber: string) {\r\n const baseUrlWithVersion = this.configService.omtestSuiteAPI.baseUrl + '/api/' + this.configService.omtestSuiteAPI.apiVersion;\r\n return this.httpClient.get(baseUrlWithVersion + '/shipmentmock/deliveryorder/' + doNumber);\r\n }\r\n\r\n getPurchaseOrderLines(poNumber: string) {\r\n const baseUrlWithVersion = this.configService.omtestSuiteAPI.baseUrl + '/api/' + this.configService.omtestSuiteAPI.apiVersion;\r\n return this.httpClient.get(baseUrlWithVersion + '/shipmentmock/PurchaseOrder/' + poNumber);\r\n }\r\n\r\n getCustomerPurchaseOrderLine(customerPONumber: string) {\r\n const baseUrlWithVersion = this.configService.omtestSuiteAPI.baseUrl + '/api/' + this.configService.omtestSuiteAPI.apiVersion;\r\n return this.httpClient.get(baseUrlWithVersion + '/shipmentmock/CustomerPurchaseOrder/' + customerPONumber);\r\n }\r\n}\r\n","import {\r\n Component,\r\n OnInit,\r\n OnDestroy,\r\n Input,\r\n ViewChild,\r\n ViewEncapsulation,\r\n} from \"@angular/core\";\r\nimport { NgbModal } from \"@ng-bootstrap/ng-bootstrap\";\r\nimport { TemplateRef } from \"@angular/core\";\r\nimport { HttpClient } from \"@angular/common/http\";\r\nimport * as log from \"../../AppInsightsLogger\";\r\nimport { MsalService } from \"@azure/msal-angular\";\r\nimport { ConfigService } from \"../../service/config.service\";\r\nimport { Subject } from \"rxjs\";\r\nimport { TestCaseProjectService } from \"src/app/service/test-case-project.service\";\r\nimport { saveAs } from \"file-saver\";\r\nimport { ExcelFileService } from \"../../service/excelFile.service\";\r\nimport { Status } from \"../status/status.component\";\r\nimport { STATUS_LABELS } from \"../status/status.component\";\r\n@Component({\r\n selector: \"app-tracking-details\",\r\n templateUrl: \"./tracking-details.component.html\",\r\n styleUrls: [\"./tracking-details.component.css\"],\r\n encapsulation: ViewEncapsulation.None,\r\n})\r\nexport class TrackingDetailsComponent implements OnInit, OnDestroy {\r\n @Input() buttonText = \"View Details\";\r\n @Input() trackingDetails: Map;\r\n @Input() correlationId = \"\";\r\n @Input() testCaseIdentifier = \"\";\r\n @Input() testPlanName = \"\";\r\n @Input() disabled = false;\r\n\r\n @ViewChild(\"trackingModal\")\r\n trackingModal: TemplateRef;\r\n private modalRef;\r\n private rawData;\r\n private logger: log.AppInsightsLogger;\r\n isCollapsed: boolean = false;\r\n private destroy$ = new Subject();\r\n private tableSchema;\r\n private excel: Blob;\r\n rawDataDisable: boolean = false;\r\n status: string;\r\n sorter: any = {};\r\n\r\n constructor(\r\n private excelService: ExcelFileService,\r\n private httpClient: HttpClient,\r\n private modalService: NgbModal,\r\n private msalService: MsalService,\r\n private configService: ConfigService,\r\n private testCaseProjectService: TestCaseProjectService\r\n ) {\r\n this.logger = new log.AppInsightsLogger(configService, msalService);\r\n }\r\n\r\n ngOnInit(): void {\r\n this.setTableSchema();\r\n this.rawData = [\r\n {\r\n TestCaseId: \"\",\r\n MergedEvents: [],\r\n FinalResult: \"\",\r\n },\r\n ];\r\n this.rawDataDisable = true;\r\n }\r\n\r\n ngOnDestroy(): void {\r\n this.destroy$.next(); // trigger the unsubscribe\r\n this.destroy$.complete(); // finalize & clean up the subject stream\r\n }\r\n\r\n openModal() {\r\n try {\r\n this.rawData = this.trackingDetails.get(this.correlationId)[\r\n \"set_AllEventInfo\"\r\n ];\r\n if (this.rawData[0][\"FinalResult\"] == \"Fail\") this.status = Status.FAILED;\r\n else this.status = this.rawData[0][\"FinalResult\"];\r\n\r\n if (this.rawData[0][\"MergedEvents\"].length == 0) {\r\n this.rawDataDisable = true;\r\n } else {\r\n this.rawDataDisable = false;\r\n }\r\n } catch (Error) {\r\n if (this.rawData[0][\"MergedEvents\"].length == 0) {\r\n this.rawDataDisable = true;\r\n }\r\n }\r\n this.modalRef = this.modalService.open(this.trackingModal, {\r\n size: \"xl\",\r\n centered: true,\r\n backdropClass: \"modal-backdrop\",\r\n });\r\n }\r\n\r\n //Download excel for tracking Details\r\n downloadExcel() {\r\n try {\r\n const testPlanName: string = this.testPlanName.replace(/ /g, \"_\");\r\n let fileName: string =\r\n \"SCR_\" + testPlanName + \"_trackevents_\" + this.testCaseIdentifier;\r\n if (this.rawData[0][\"MergedEvents\"].length != 0) {\r\n this.rawDataDisable = false;\r\n this.excelService.exportAsExcelFile(\r\n 7,\r\n this.rawData[0][\"MergedEvents\"],\r\n fileName\r\n );\r\n }\r\n } catch (error) {\r\n this.logger.trackTrace(`Some error occured while exportAsExcelFile.`);\r\n this.logger.trackException(error);\r\n }\r\n }\r\n\r\n closeModal() {\r\n this.modalService.dismissAll(this.modalRef);\r\n }\r\n\r\n toggleCollapsed() {\r\n this.isCollapsed = !this.isCollapsed;\r\n }\r\n\r\n setTableSchema() {\r\n this.tableSchema = [\r\n {\r\n label: \"Step\",\r\n key: \"Step\",\r\n },\r\n {\r\n label: \"Correlation ID\",\r\n key: \"CorrelationId\",\r\n },\r\n {\r\n label: \"Tracking ID\",\r\n key: \"TrackingId\",\r\n },\r\n\r\n {\r\n label: \"Event Name\",\r\n key: \"EventName\",\r\n },\r\n {\r\n label: \"Event Date\",\r\n key: \"EventDate\",\r\n },\r\n {\r\n label: \"Event Status\",\r\n key: \"EventStatus\",\r\n },\r\n {\r\n label: \"Event Message\",\r\n key: \"EventMessage\",\r\n },\r\n ];\r\n }\r\n\r\n filterBy(column: string) {\r\n let keys: string[] = Object.keys(this.sorter);\r\n\r\n for (var key of keys) {\r\n if (key != column) {\r\n this.sorter[key] = 0;\r\n }\r\n }\r\n\r\n this.sorter[column] =\r\n this.sorter[column] == undefined || this.sorter[column] == 0 ? 1 : 0;\r\n\r\n if (this.sorter[column] == 1) {\r\n var comparator = function (taskA, taskB) {\r\n return taskA[column] < taskB[column] ? -1 : 1;\r\n };\r\n } else {\r\n var comparator = function (taskA, taskB) {\r\n return taskA[column] > taskB[column] ? -1 : 1;\r\n };\r\n }\r\n this.rawData[0][\"MergedEvents\"].sort(comparator);\r\n }\r\n}\r\n","
\r\n \r\n \r\n
\r\n\r\n
\r\n \r\n
\r\n
\r\n

\r\n Tracking Details\r\n

\r\n \r\n
\r\n
\r\n\r\n
\r\n
\r\n
\r\n \r\n Final Result: \r\n
\r\n
\r\n\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
#\r\n {{ header[\"label\"] }}\r\n \r\n \r\n \r\n
\r\n {{\r\n event[header.key]\r\n }}\r\n {{ event[header.key] }}\r\n
\r\n
\r\n
\r\n\r\n
\r\n
\r\n
","export class ProductRequestList {\r\n public ProductRequest: ProductRequest[];\r\n}\r\n\r\nexport class ProductRequest {\r\n public sku: string;\r\n public country: string;\r\n public hardwarePartNumber: string;\r\n public TestPlanInstanceId?: string;\r\n public RequestedBy:string;\r\n}\r\n","import { Component, OnInit } from '@angular/core';\r\nimport { LoadTestDetail, InputsModel } from '../model/loadtesting.model';\r\nimport { NgbModal } from '@ng-bootstrap/ng-bootstrap';\r\nimport { MsalService } from '@azure/msal-angular';\r\nimport { NgxUiLoaderService } from 'ngx-ui-loader';\r\nimport { FormlyFieldConfig } from '@ngx-formly/core';\r\nimport { ViewChild, ElementRef } from '@angular/core';\r\nimport { LoadTestService } from '../service/loadtest.service';\r\nimport { element } from 'protractor';\r\nimport { FormControl, Validators } from '@angular/forms';\r\n//import { TestObject } from 'protractor/built/driverProviders';\r\nimport { CreateLoadTestRequest, OutboundDC } from '../model/createloadtestrequest.model';\r\n\r\nimport { CreateLoadTestResponse } from '../model/createloadtestresponse.model';\r\nimport { ListTestRunsRequest, ListTestRunsResponse, ListUsersDetails, Response } from '../model/listTestRuns';\r\nimport { ManageScenariosService } from '../service/manage-scenarios.service';\r\nimport { TestRunsUsersDetails } from 'src/app/model/manage-testruns.model';\r\n\r\nimport { ConfigService } from '../service/config.service';\r\nimport * as log from '../AppInsightsLogger';\r\n\r\nimport { ApplicationInsights } from '@microsoft/applicationinsights-web';\r\n\r\n@Component({\r\n selector: 'app-loadtest',\r\n templateUrl: './loadtest.component.html',\r\n styleUrls: ['./loadtest.component.css']\r\n})\r\nexport class LoadTestComponent implements OnInit {\r\n\r\n sidebarOpened: boolean;\r\n loadTestDetail: LoadTestDetail;\r\n createLoadTestRequest: CreateLoadTestRequest;\r\n createLoadTestResponse: CreateLoadTestResponse;\r\n listTestRunsRequest: ListTestRunsRequest;\r\n listTestRunsResponse: ListTestRunsResponse;\r\n dcOutboundPartnerList: OutboundDC[] = [\r\n {\r\n TenantId: \"9000000013\",\r\n Scenario: \"OnlineStore\",\r\n PartnerId: \"ARVATO\",\r\n },\r\n {\r\n TenantId: \"8000000001\",\r\n Scenario: \"OnlineStore_Perf\",\r\n PartnerId: \"ARVATOPERF\",\r\n },\r\n ]\r\n\r\n partnerProfile: OutboundDC;\r\n\r\n msgTxt: string;\r\n name: string;\r\n wrapperHeight: number;\r\n sidebarWidthClass: string;\r\n email: string;\r\n Vertical: string;\r\n fulfillmentMethod: string;\r\n Section: string;\r\n responseData: Response[];\r\n selectedUserEmail: string;\r\n usersDetails: ListUsersDetails[] = [];\r\n mockDCnoclick: boolean;\r\n mockFMVnoclick: boolean;\r\n \r\n\r\n private logger: log.AppInsightsLogger;\r\n\r\n ngOnInit() {\r\n this.setOrgData();\r\n this.usersDetails = [];\r\n this.loadTestDetail = new LoadTestDetail();\r\n this.createLoadTestRequest = new CreateLoadTestRequest();\r\n this.listTestRunsRequest = new ListTestRunsRequest();\r\n this.listTestRunsResponse = new ListTestRunsResponse();\r\n this.loadTestRunsUsersDetails();\r\n this.createLoadTestRequest.PartnerId = ''\r\n \r\n this.wrapperHeight = document.getElementById('testRunsWrapper').scrollHeight;\r\n this.getLoadTestDetails();\r\n this.logger.trackTrace(\"Successfully landed to Load Test Page\");\r\n \r\n }\r\n\r\n\r\n setOrgData() {\r\n window.sessionStorage.setItem(\"orgSelected\", \"1\");\r\n }\r\n\r\n constructor(private configService: ConfigService, private manageTestRunsService: ManageScenariosService, private ngxLoader: NgxUiLoaderService, private modalService: NgbModal, private msalService: MsalService, private loadTestService: LoadTestService) {\r\n this.sidebarOpened = false;\r\n this.name = this.msalService.instance.getActiveAccount().name;\r\n this.email = this.msalService.instance.getActiveAccount().username;\r\n this.Vertical = \"Deliver\";\r\n this.fulfillmentMethod = \"DC Ship\";\r\n this.Section = \"DC fulfilment\";\r\n this.logger = new log.AppInsightsLogger(configService, msalService);\r\n }\r\n\r\n loadTestRunsUsersDetails() {\r\n this.loadTestService.getUsersList().subscribe((response: ListUsersDetails[]) => {\r\n this.usersDetails = [];\r\n if (response != undefined && response != null && response.length > 0) {\r\n this.usersDetails = [{ email: 'all', userName: 'All' }].concat(response.filter(x => {\r\n if (x.userName != null && x.userName != '' &&\r\n x.email != null && x.email != '') {\r\n return x;\r\n }\r\n }));\r\n this.logger.trackTrace(`Load Test Runs Users Details Successfully`);\r\n }\r\n }, (error: any) => {\r\n this.ngxLoader.stop();\r\n this.logger.trackTrace(`Some error occured while load Test Runs Users Details`);\r\n this.logger.trackException(error);\r\n });\r\n }\r\n getLoadTestCreateDetails(){\r\n this.loadTestService.getListTestRuns(this.listTestRunsRequest).subscribe((response) => {\r\n \r\n this.listTestRunsResponse = response;\r\n this.responseData = this.listTestRunsResponse.response;\r\n this.logger.trackTrace(`getLoadTestDetails successfully`);\r\n this.responseData.sort(function (a, b): any {\r\n return (Date.parse(b.createdAt) - Date.parse(a.createdAt));\r\n });\r\n }, (error: any) => {\r\n this.logger.trackTrace(`Some error occured while loading Load Test`);\r\n this.logger.trackException(error);\r\n try {\r\n this.ngxLoader.stop();\r\n } catch (ex) {\r\n this.msgTxt = 'Some error occured while loading';\r\n this.logger.trackTrace(`Some error occured while loading Load Test`);\r\n this.logger.trackException(ex);\r\n this.ngxLoader.stop();\r\n }\r\n });\r\n }\r\n getLoadTestDetails() {\r\n this.manageTestRunsService.ngxLoaderConfig.text = 'Loading Test Details! Please wait!';\r\n this.ngxLoader.start();\r\n this.responseData = [];\r\n if (this.selectedUserEmail == null || this.selectedUserEmail == '') {\r\n this.listTestRunsRequest.UserEmail = this.email;\r\n } else if (this.selectedUserEmail == 'All' || this.selectedUserEmail == 'all') {\r\n this.listTestRunsRequest.UserEmail = \"\";\r\n } else {\r\n this.listTestRunsRequest.UserEmail = this.selectedUserEmail;\r\n }\r\n this.loadTestService.getListTestRuns(this.listTestRunsRequest).subscribe((response) => {\r\n this.ngxLoader.stop();\r\n this.listTestRunsResponse = response;\r\n this.responseData = this.listTestRunsResponse.response;\r\n this.logger.trackTrace(`getLoadTestDetails successfully`);\r\n this.responseData.sort(function (a, b): any {\r\n return (Date.parse(b.createdAt) - Date.parse(a.createdAt));\r\n });\r\n }, (error: any) => {\r\n this.logger.trackTrace(`Some error occured while loading Load Test`);\r\n this.logger.trackException(error);\r\n try {\r\n this.ngxLoader.stop();\r\n } catch (ex) {\r\n this.msgTxt = 'Some error occured while loading';\r\n this.logger.trackTrace(`Some error occured while loading Load Test`);\r\n this.logger.trackException(ex);\r\n this.ngxLoader.stop();\r\n }\r\n });\r\n }\r\n\r\n toggleSidebar() {\r\n this.sidebarOpened = !this.sidebarOpened;\r\n }\r\n\r\n checkOverflow() {\r\n return document.getElementById('testRunsWrapper').scrollHeight <= this.wrapperHeight;\r\n }\r\n\r\n scrollToTop() {\r\n document.getElementById('testRunsWrapper').scrollTop = 0;\r\n }\r\n\r\n\r\n checkBoxMockFMV(event) {\r\n //this.createLoadTestRequest.MockFMV = true; // this updates the model\r\n //event.target.checked = true; //this updates the view\r\n this.mockFMVnoclick = event.target.checked;\r\n this.createLoadTestRequest.MockFMV = event.target.checked;\r\n console.log(this.createLoadTestRequest.MockFMV)\r\n }\r\n\r\n checkBoxMockDC(event) {\r\n //this.createLoadTestRequest.MockDC = true; // this updates the model\r\n //event.target.checked = true; //this updates the view\r\n this.mockDCnoclick = event.target.checked;\r\n this.createLoadTestRequest.MockDC = event.target.checked;\r\n console.log(this.createLoadTestRequest.MockDC)\r\n }\r\n\r\n orgChanged(org: string) {\r\n if(org === 'LDCA'){\r\n this.createLoadTestRequest.Country = 'CA';\r\n }\r\n else if(org === 'WST'){\r\n this.createLoadTestRequest.Country = 'US';\r\n }\r\n }\r\n\r\n onSubmitClick() {\r\n for (var i = 0; i < this.dcOutboundPartnerList.length; i++) {\r\n let partner = this.dcOutboundPartnerList[i];\r\n if (partner.Scenario === this.createLoadTestRequest.Scenario) {\r\n this.createLoadTestRequest.TenantId = partner.TenantId;\r\n this.createLoadTestRequest.PartnerId = partner.PartnerId;\r\n break;\r\n }\r\n }\r\n\r\n //if (this.createLoadTestRequest.Scenario == 'Online_Perf') {\r\n // this.createLoadTestRequest.PartnerId = 'ARVATOPERF'\r\n // this.createLoadTestRequest.TenantId = '8000000001'\r\n //} else if (this.createLoadTestRequest.Scenario == 'Online') {\r\n // this.createLoadTestRequest.PartnerId = 'ARVATO'\r\n // this.createLoadTestRequest.TenantId = '9000000013'\r\n //}\r\n\r\n\r\n if (this.createLoadTestRequest.TypeOfTest == 1) {\r\n if (this.createLoadTestRequest.Scenario == 'OnlineStore_Perf') {\r\n if (this.mockDCnoclick == undefined) {\r\n this.createLoadTestRequest.MockDC = true;\r\n console.log(this.createLoadTestRequest.MockDC)\r\n }\r\n }\r\n }\r\n\r\n if (this.createLoadTestRequest.TypeOfTest == 1) {\r\n if (this.createLoadTestRequest.Scenario == 'OnlineStore_Perf') {\r\n if (this.mockFMVnoclick == undefined) {\r\n this.createLoadTestRequest.MockFMV = true;\r\n console.log(this.createLoadTestRequest.MockFMV)\r\n }\r\n }\r\n }\r\n\r\n console.log(this.createLoadTestRequest.MockFMV)\r\n\r\n this.createLoadTestRequest.QuantityPerLine = 1;\r\n\r\n this.createLoadTestRequest.UserEmail = this.email;\r\n this.createLoadTestRequest.UserName = this.name;\r\n \r\n this.loadTestService.storeCreateLoadTest(this.createLoadTestRequest).subscribe((response) => {\r\n console.log(\"req\", this.createLoadTestRequest)\r\n console.log(this.createLoadTestResponse)\r\n this.createLoadTestResponse = response;\r\n this.logger.trackTrace(`Load Test Created Successfully`);\r\n this.createLoadTestRequest = new CreateLoadTestRequest();\r\n this.getLoadTestCreateDetails();\r\n }, (error: any) => {\r\n\r\n this.logger.trackTrace(`Some error occured while Creating new load test ${error}`);\r\n this.logger.trackException(error);\r\n\r\n try {\r\n } catch (ex) {\r\n this.msgTxt = 'Some error occured while loading';\r\n this.logger.trackTrace(`Some error occured while while Creating new load test ${ex}`);\r\n this.logger.trackException(ex);\r\n }\r\n \r\n });\r\n \r\n }\r\n\r\n}\r\n","
\r\n

Load Test

\r\n

Please run any Load Tests with more than 10 orders only after getting sign off from SCTestSupport@microsoft.com and SAP Deliver team sumitar@microsoft.com

\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n
Create New Load Test
\r\n
\r\n
\r\n
\r\n \r\n ×\r\n \r\n
\r\n
\r\n
\r\n
\r\n

Did you get a sign off for running load tests?

\r\n
\r\n
\r\n
\r\n \r\n Load Test Name: \r\n \r\n \r\n Load Test Name is required\r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n Type Of Test profile is required\r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n Business Process (L4) profile is required\r\n \r\n \r\n
\r\n
\r\n\r\n
\r\n
\r\n\r\n
\r\n \r\n
\r\n \r\n \r\n \r\n \r\n
\r\n
\r\n\r\n
\r\n \r\n
\r\n \r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n\r\n
\r\n
\r\n \r\n \r\n \r\n Receiver profile is required\r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n Number Of Lines Per Order\r\n \r\n \r\n Number Of Lines Per Order is required\r\n \r\n \r\n
\r\n
\r\n\r\n \r\n \r\n\r\n
\r\n
\r\n \r\n \r\n \r\n Region profile is required\r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n Sales Org profile is required\r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n Country profile is required\r\n \r\n \r\n
\r\n
\r\n\r\n
\r\n
\r\n \r\n Number Of Orders\r\n \r\n \r\n Number Of Orders is required\r\n \r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n Search by user :\r\n Select Load Tests by User!\r\n \r\n 0\"\r\n arial-label=\"Select User\" title=\"Select User\" aria-expanded=\"false\"\r\n aria-required=\"true\" [ngbTooltip]=\"selectUserTooltip\" placement=\"right\"\r\n [openDelay]=\"500\" [closeDelay]=\"1500\">\r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n Test Name:  {{label.name}}\r\n \r\n \r\n \r\n \r\n Created By:  {{label.userName}}\r\n \r\n \r\n \r\n \r\n Created  {{ (label.createdAt) | date: 'MM/dd/yyyy hh:mm a'}}\r\n \r\n \r\n
\r\n
\r\n \r\n \r\n SCOR Function  {{Vertical}}\r\n \r\n \r\n Business Processes (L4)  {{Section}}\r\n \r\n \r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n","import { Component, OnInit, Inject } from '@angular/core';\r\nimport { MatDialog, MatDialogConfig } from '@angular/material/dialog';\r\nimport { MAT_DIALOG_DATA, MatDialogRef } from \"@angular/material/dialog\";\r\n\r\n@Component({\r\n selector: 'app-generateTestResults',\r\n templateUrl: './generateTestResults.component.html',\r\n styleUrls: ['./generateTestResults.component.css'],\r\n})\r\nexport class GenerateTestResultsComponent implements OnInit {\r\n\r\n id: string;\r\n title: { text: string, type: string }[] = [];\r\n\r\n constructor(public modalDialog: MatDialogRef, @Inject(MAT_DIALOG_DATA) data) {\r\n this.id = data.id;\r\n this.title = [];\r\n\r\n for (let idx = 0; idx < data.title.length; ++idx) {\r\n let rawText: string = data.title[idx];\r\n let type = \"TEXT\";\r\n if (rawText.indexOf(\"{{{CODE}}}\") > -1) {\r\n rawText = rawText.replace(\"{{{CODE}}}\", \"\");\r\n type = \"CODE\";\r\n }\r\n this.title.push({\r\n text: rawText,\r\n type: type\r\n });\r\n }\r\n }\r\n\r\n ngOnInit() {\r\n }\r\n\r\n}\r\n","
\r\n
\r\n
\r\n

Generate Test Results

\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n

\r\n Follow below steps to get the reconcilled report for this test run \r\n

\r\n
\r\n
{{content.text}}
\r\n
{{content.text}}
\r\n
\r\n
\r\n
\r\n\r\n","export class SkuNumberSearchRequest {\r\n public sku: string;\r\n public startDate: string;\r\n public endDate: string;\r\n public sortOrder: string;\r\n public skip: number;\r\n public take: number;\r\n}\r\n","import { enableProdMode } from '@angular/core';\r\nimport { platformBrowserDynamic } from '@angular/platform-browser-dynamic';\r\n\r\nimport { AppModule } from './app/app.module';\r\nimport { environment } from './environments/environment';\r\n\r\nif (environment.production) {\r\n enableProdMode();\r\n}\r\n\r\nplatformBrowserDynamic().bootstrapModule(AppModule)\r\n .catch(err => console.log(err));\r\n"],"sourceRoot":"webpack:///"}