diff --git a/goofy-client/libs/tech-shared/src/lib/pipes/format-date-with-time.spec.ts b/goofy-client/libs/tech-shared/src/lib/pipes/format-date-with-time.spec.ts index d8fcdd020af8853756f3a509097e4b39055a9497..74e424f2eaa3ede73ce5b867000e7b1d9d307727 100644 --- a/goofy-client/libs/tech-shared/src/lib/pipes/format-date-with-time.spec.ts +++ b/goofy-client/libs/tech-shared/src/lib/pipes/format-date-with-time.spec.ts @@ -27,4 +27,16 @@ describe('FormatDateWithTimePipe', () => { expect(result).toBe('01.01.2021, 0:00:00'); }) + + it('should return undefined on null', () => { + const result: string = pipe.transform(null); + + expect(result).toBe(undefined); + }) + + it('should return undefined on undefined', () => { + const result: string = pipe.transform(undefined); + + expect(result).toBe(undefined); + }) }) \ No newline at end of file diff --git a/goofy-client/libs/tech-shared/src/lib/pipes/format-date-with-time.ts b/goofy-client/libs/tech-shared/src/lib/pipes/format-date-with-time.ts index 56502b81c38d4f9a78b52b4db1931e03c5883f49..9fbfcf9d99a1efa8b9885d0861718abe7016aaa6 100644 --- a/goofy-client/libs/tech-shared/src/lib/pipes/format-date-with-time.ts +++ b/goofy-client/libs/tech-shared/src/lib/pipes/format-date-with-time.ts @@ -1,5 +1,6 @@ import { formatDate } from '@angular/common'; import { Pipe, PipeTransform } from '@angular/core'; +import { isNil } from 'lodash'; @Pipe({ name: 'formatDateWithTimePipe' }) export class FormatDateWithTimePipe implements PipeTransform { @@ -7,6 +8,7 @@ export class FormatDateWithTimePipe implements PipeTransform { dateTimeFormat: string = 'dd.MM.y, H:mm:ss'; transform(date: Date, withDay: boolean = true) { + if (isNil(date)) return undefined; const formatter: string = withDay ? this.dateTimeWithDayFormat : this.dateTimeFormat; return formatDate(date, formatter, 'de'); diff --git a/goofy-client/libs/vorgang-detail/src/lib/vorgang-detail-page/vorgang-detail-area/vorgang-redirect-container/vorgang-redirect-info/vorgang-redirect-info.component.html b/goofy-client/libs/vorgang-detail/src/lib/vorgang-detail-page/vorgang-detail-area/vorgang-redirect-container/vorgang-redirect-info/vorgang-redirect-info.component.html index 04bffbfde925bf6aaf5bbe716cdbe7b74992f315..70c2fd804711fd855e13516e9b6c54558da2c56a 100644 --- a/goofy-client/libs/vorgang-detail/src/lib/vorgang-detail-page/vorgang-detail-area/vorgang-redirect-container/vorgang-redirect-info/vorgang-redirect-info.component.html +++ b/goofy-client/libs/vorgang-detail/src/lib/vorgang-detail-page/vorgang-detail-area/vorgang-redirect-container/vorgang-redirect-info/vorgang-redirect-info.component.html @@ -1 +1,4 @@ -<p [innerHTML]="msg"></p> \ No newline at end of file +<p> + {{ command.createdByName }} hat den Vorgang am {{ command.createdAt | formatDateWithTimePipe }} an {{ command.redirectRequest.email }} weitergeleitet.<br> + Versendet am {{ command.finishedAt | formatDateWithTimePipe }} +</p> \ No newline at end of file diff --git a/goofy-client/libs/vorgang-detail/src/lib/vorgang-detail-page/vorgang-detail-area/vorgang-redirect-container/vorgang-redirect-info/vorgang-redirect-info.component.spec.ts b/goofy-client/libs/vorgang-detail/src/lib/vorgang-detail-page/vorgang-detail-area/vorgang-redirect-container/vorgang-redirect-info/vorgang-redirect-info.component.spec.ts index 975ad31966b2a227da540c1674e407cec28ac0d0..6b4feb1b14ab91de54f3e78744322c1556b4ad74 100644 --- a/goofy-client/libs/vorgang-detail/src/lib/vorgang-detail-page/vorgang-detail-area/vorgang-redirect-container/vorgang-redirect-info/vorgang-redirect-info.component.spec.ts +++ b/goofy-client/libs/vorgang-detail/src/lib/vorgang-detail-page/vorgang-detail-area/vorgang-redirect-container/vorgang-redirect-info/vorgang-redirect-info.component.spec.ts @@ -1,3 +1,6 @@ +import { registerLocaleData } from '@angular/common'; +import localeDe from '@angular/common/locales/de'; +import localeDeExtra from '@angular/common/locales/extra/de'; import { LOCALE_ID } from '@angular/core'; import { ComponentFixture, TestBed } from '@angular/core/testing'; import { MAT_DATE_LOCALE } from '@angular/material/core'; @@ -6,6 +9,8 @@ import { createCommandResource } from 'libs/command-shared/test/command'; import { configureTestSuite } from 'ng-bullet'; import { VorgangRedirectInfoComponent } from './vorgang-redirect-info.component'; +registerLocaleData(localeDe, 'de', localeDeExtra); + describe('VorgangRedirectInfoComponent', () => { let component: VorgangRedirectInfoComponent; let fixture: ComponentFixture<VorgangRedirectInfoComponent>; @@ -13,10 +18,10 @@ describe('VorgangRedirectInfoComponent', () => { configureTestSuite(() => { TestBed.configureTestingModule({ declarations: [ - VorgangRedirectInfoComponent + VorgangRedirectInfoComponent, + FormatDateWithTimePipe ], providers: [ - FormatDateWithTimePipe, { provide: LOCALE_ID, useValue: 'de' }, { provide: MAT_DATE_LOCALE, useValue: 'de-DE' } ] @@ -26,7 +31,7 @@ describe('VorgangRedirectInfoComponent', () => { beforeEach(() => { fixture = TestBed.createComponent(VorgangRedirectInfoComponent); component = fixture.componentInstance; - component.command = createCommandResource(); + component.command = { ...createCommandResource(), redirectRequest: { email: 'alles@super.de' } }; fixture.detectChanges(); }); diff --git a/goofy-client/libs/vorgang-detail/src/lib/vorgang-detail-page/vorgang-detail-area/vorgang-redirect-container/vorgang-redirect-info/vorgang-redirect-info.component.ts b/goofy-client/libs/vorgang-detail/src/lib/vorgang-detail-page/vorgang-detail-area/vorgang-redirect-container/vorgang-redirect-info/vorgang-redirect-info.component.ts index 391f7d3644a94e8bffb03a1692dbcc819047ca63..27d0d631c0f6077665b96d10582512e421de0366 100644 --- a/goofy-client/libs/vorgang-detail/src/lib/vorgang-detail-page/vorgang-detail-area/vorgang-redirect-container/vorgang-redirect-info/vorgang-redirect-info.component.ts +++ b/goofy-client/libs/vorgang-detail/src/lib/vorgang-detail-page/vorgang-detail-area/vorgang-redirect-container/vorgang-redirect-info/vorgang-redirect-info.component.ts @@ -1,39 +1,12 @@ -import { Component, Input, OnChanges } from '@angular/core'; +import { Component, Input } from '@angular/core'; import { CommandResource } from '@goofy-client/command-shared'; -import { FormatDateWithTimePipe, replacePlaceholders } from '@goofy-client/tech-shared'; -import { VorgangMessages } from '@goofy-client/vorgang-shared'; -import { isNil } from 'lodash-es'; @Component({ selector: 'goofy-client-vorgang-redirect-info', templateUrl: './vorgang-redirect-info.component.html', - styleUrls: ['./vorgang-redirect-info.component.scss'], - providers: [FormatDateWithTimePipe] + styleUrls: ['./vorgang-redirect-info.component.scss'] }) -export class VorgangRedirectInfoComponent implements OnChanges { +export class VorgangRedirectInfoComponent { - @Input() command: CommandResource; - - public msg: string = undefined; - - constructor(private dateWithTimePipe: FormatDateWithTimePipe) { } - - ngOnChanges(): void { - if (!isNil(this.command)) { - this.msg = replacePlaceholders(VorgangMessages.WEITERGELEITET, this.buildReplacement()); - } - } - - private buildReplacement(): { [key: string]: string } { - return { - createdAt: this.formatAsDateTime(this.command.createdAt), - createdByName: this.command.createdByName, - email: this.command.redirectRequest.email, - finishedAt: this.formatAsDateTime(this.command.finishedAt) - } - } - - private formatAsDateTime(date: Date): string { - return isNil(date) ? undefined : this.dateWithTimePipe.transform(date, false); - } + @Input() public command: CommandResource; } \ No newline at end of file diff --git a/goofy-client/libs/vorgang-shared/src/lib/vorgang.messages.ts b/goofy-client/libs/vorgang-shared/src/lib/vorgang.messages.ts index e7ff1b0a7100c47ed73105c63cfb3a258cded901..60467b85e5c6c6a8591c28ab19a7e33c955441f4 100644 --- a/goofy-client/libs/vorgang-shared/src/lib/vorgang.messages.ts +++ b/goofy-client/libs/vorgang-shared/src/lib/vorgang.messages.ts @@ -18,6 +18,5 @@ export enum VorgangMessages { BESCHIEDEN = 'Der Vorgang wurde beschieden.', ZURUECKGESTELLT = 'Der Vorgang wurde zurückgestellt.', ABGESCHLOSSEN = 'Der Vorgang wurde abgeschlossen.', - WIEDEREROEFFNET = 'Der Vorgang wurde wiedereröffnet.', - WEITERGELEITET = '{createdByName} hat den Vorgang am {createdAt} an {email} weitergeleitet. </br> Versendet am {finishedAt}' + WIEDEREROEFFNET = 'Der Vorgang wurde wiedereröffnet.' } \ No newline at end of file