{"version":3,"file":"onecx-portal-integration-angular-mocks.mjs","sources":["../../../../libs/portal-integration-angular/mocks/fake-topic.ts","../../../../libs/portal-integration-angular/mocks/portal-message-service-mock.ts","../../../../libs/portal-integration-angular/mocks/onecx-portal-integration-angular-mocks.ts"],"sourcesContent":["import { Subject, Observable, Observer, Subscription, UnaryFunction, BehaviorSubject, ReplaySubject } from 'rxjs'\n\nexport class FakeTopic<T> {\n  private state: Subject<T>\n  constructor(initialValue: T | undefined = undefined) {\n    if (initialValue !== undefined) {\n      this.state = new BehaviorSubject<T>(initialValue)\n    } else {\n      this.state = new ReplaySubject<T>(1)\n    }\n  }\n  asObservable(): Observable<T> {\n    return this.state.asObservable()\n  }\n\n  subscribe(\n    observerOrNext?: Partial<Observer<T>> | ((value: T) => void),\n    error?: (error: any) => void,\n    complete?: () => void\n  ): Subscription {\n    return (<any>this.asObservable()).subscribe(observerOrNext, error, complete)\n  }\n\n  pipe(...operations: UnaryFunction<any, any>[]): unknown {\n    return (<any>this.asObservable()).pipe(...operations)\n  }\n\n  publish(value: T): Promise<void> {\n    this.state.next(value)\n    return Promise.resolve()\n  }\n}\n","import { Injectable, Optional } from '@angular/core'\nimport { TranslateService } from '@ngx-translate/core'\nimport { combineLatest, of } from 'rxjs'\n// eslint-disable-next-line\nimport { Message, PortalMessageService } from '@onecx/angular-integration-interface'\nimport { Message as TopicMessage } from '@onecx/integration-interface'\nimport { FakeTopic } from './fake-topic'\n\nexport function providePortalMessageServiceMock() {\n  return [\n    { provide: PortalMessageServiceMock, useClass: PortalMessageServiceMock },\n    { provide: PortalMessageService, useExisting: PortalMessageServiceMock },\n  ]\n}\n\n@Injectable()\nexport class PortalMessageServiceMock {\n  constructor(@Optional() private translateService?: TranslateService) {}\n  lastMessages: { type: 'success' | 'info' | 'error' | 'warning'; value: Message }[] = []\n  message$ = new FakeTopic<TopicMessage>()\n\n  success(msg: Message) {\n    this.lastMessages.push({ type: 'success', value: msg })\n    this.addTranslated('success', msg)\n  }\n\n  info(msg: Message) {\n    this.lastMessages.push({ type: 'info', value: msg })\n    this.addTranslated('info', msg)\n  }\n\n  error(msg: Message) {\n    this.lastMessages.push({ type: 'error', value: msg })\n    this.addTranslated('error', msg)\n  }\n\n  warning(msg: Message) {\n    this.lastMessages.push({ type: 'warning', value: msg })\n    this.addTranslated('warning', msg)\n  }\n\n  private addTranslated(severity: string, msg: Message) {\n    if (this.translateService) {\n      combineLatest([\n        msg.summaryKey ? this.translateService.get(msg.summaryKey || '', msg.summaryParameters) : of(undefined),\n        msg.detailKey ? this.translateService.get(msg.detailKey, msg.detailParameters) : of(undefined),\n      ]).subscribe(([summaryTranslation, detailTranslation]: string[]) => {\n        this.message$.publish({\n          ...msg,\n          severity: severity,\n          summary: summaryTranslation,\n          detail: detailTranslation,\n        })\n      })\n    } else {\n      console.log('TranslationModule not imported in TestBed. Therefore message$ is not updated.')\n    }\n  }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}