Skip to content
Snippets Groups Projects
Commit 24b8f179 authored by OZGCloud's avatar OZGCloud
Browse files

OZG-4527 OZG-4756 implement history for set aktenzeichen

parent 3d1e7a80
No related branches found
No related tags found
No related merge requests found
Showing with 157 additions and 1 deletion
......@@ -89,7 +89,8 @@ export enum CommandOrderType {
POSTFACH_NACHRICHT = 'PostfachNachricht',
VORGANG = 'Vorgang',
WIEDERVORLAGE = 'Wiedervorlage',
LOESCH_ANFORDERUNG = 'LoeschAnforderung'
LOESCH_ANFORDERUNG = 'LoeschAnforderung',
SET_AKTENZEICHEN = 'SetAktenzeichen',
}
export const ORDER_TYPE_BY_COMMAND_ORDER = {
......@@ -117,6 +118,7 @@ export const ORDER_TYPE_BY_COMMAND_ORDER = {
[CommandOrder.VORGANG_ZUM_LOESCHEN_MARKIEREN]: CommandOrderType.LOESCH_ANFORDERUNG,
[CommandOrder.VORGANG_LOESCHEN]: CommandOrderType.LOESCH_ANFORDERUNG,
[CommandOrder.LOESCH_ANFORDERUNG_ZURUECKNEHMEN]: CommandOrderType.LOESCH_ANFORDERUNG,
[CommandOrder.SET_AKTENZEICHEN]: CommandOrderType.SET_AKTENZEICHEN,
}
export interface CreateCommandProps {
......
<div class="mat-expansion-panel" *ngIf="aktenzeichenDeleted; else expandable">
<alfa-historie-item-header [headline]="headline" [resource]="command" data-test-id="historie-item-aktenzeichen-header"></alfa-historie-item-header>
</div>
<ng-template #expandable>
<alfa-expansion-panel-with-user [headline]="headline" [resource]="command">
<p data-test-class="aktenzeichen-text">Aktenzeichen: {{ aktenzeichen }}</p>
</alfa-expansion-panel-with-user>
</ng-template>
\ No newline at end of file
import { ComponentFixture, TestBed } from '@angular/core/testing';
import { CommandOrder, CommandResource } from '@alfa-client/command-shared';
import { createCommandResource } from 'libs/command-shared/test/command';
import { MockComponent } from 'ng-mocks';
import { ExpansionPanelWithUserComponent } from '../expansion-panel-with-user/expansion-panel-with-user.component';
import { HistorieItemAttachmentComponent } from '../historie-item-attachment/historie-item-attachment.component';
import { HistorieItemAktenzeichenComponent } from './historie-item-aktenzeichen.component';
import { getElementFromFixture } from '@alfa-client/test-utils';
import { getDataTestClassOf, getDataTestIdOf } from '../../../../../../tech-shared/test/data-test';
import { HistorieItemHeaderComponent } from '../historie-item-header/historie-item-header.component';
describe('HistorieItemAktenzeichenComponent', () => {
let component: HistorieItemAktenzeichenComponent;
let fixture: ComponentFixture<HistorieItemAktenzeichenComponent>;
const kommentarCommand: CommandResource = {
...createCommandResource(),
order: CommandOrder.CREATE_KOMMENTAR,
body: { item: { text: 'Beispiel text fuer einen Kommentar' } }
};
beforeEach(async () => {
await TestBed.configureTestingModule({
declarations: [
HistorieItemAktenzeichenComponent,
MockComponent(ExpansionPanelWithUserComponent),
MockComponent(HistorieItemAttachmentComponent),
MockComponent(HistorieItemHeaderComponent),
],
}).compileComponents();
})
beforeEach(() => {
fixture = TestBed.createComponent(HistorieItemAktenzeichenComponent);
component = fixture.componentInstance;
component.command = kommentarCommand;
fixture.detectChanges();
})
it('should create', () => {
expect(component).toBeTruthy();
})
it('should render non expandable historie item', () => {
component.aktenzeichenDeleted = true;
fixture.detectChanges();
const historieItem = getElementFromFixture(fixture, getDataTestIdOf('historie-item-aktenzeichen-header'));
expect(historieItem).toBeInstanceOf(HTMLElement);
})
it('should render expandable historie item', () => {
component.aktenzeichenDeleted = false;
fixture.detectChanges();
const aktenzeichenText = getElementFromFixture(fixture, getDataTestClassOf('aktenzeichen-text'));
expect(aktenzeichenText).toBeInstanceOf(HTMLElement);
})
describe('ngOnInit', () => {
it('should set headline for order ' + CommandOrder.SET_AKTENZEICHEN, () => {
component.command = { ...kommentarCommand, order: CommandOrder.SET_AKTENZEICHEN };
component.command.body.aktenzeichen = '1';
component.ngOnInit()
expect(component.headline).toBe('das Aktenzeichen geändert.');
})
it('should set headline for deleted aktenzeichen', () => {
component.command.body.aktenzeichen = null;
component.command = { ...kommentarCommand, order: CommandOrder.SET_AKTENZEICHEN };
component.ngOnInit()
expect(component.headline).toBe('das Aktenzeichen gelöscht.');
})
it('should mark aktenzeichen as deleted', () => {
component.command.body.aktenzeichen = null;
component.ngOnInit();
expect(component.aktenzeichenDeleted).toBeTruthy();
})
it('should mark aktenzeichen as NOT deleted', () => {
component.command.body.aktenzeichen = '1';
component.ngOnInit();
expect(component.aktenzeichenDeleted).toBeFalsy();
})
})
});
import { Component, Input, OnInit } from '@angular/core';
import { CommandOrder, CommandResource } from '@alfa-client/command-shared';
import { CommandLinkRel } from 'libs/command-shared/src/lib/command.linkrel';
import { isEmpty, isNull } from 'lodash-es';
import { hasContent } from '@alfa-client/tech-shared';
@Component({
selector: 'alfa-historie-item-aktenzeichen',
templateUrl: './historie-item-aktenzeichen.component.html',
styleUrls: ['./historie-item-aktenzeichen.component.scss'],
})
export class HistorieItemAktenzeichenComponent implements OnInit {
@Input() command: CommandResource;
headline: string;
aktenzeichenDeleted = false;
get aktenzeichen(): any {
return this.command.body.aktenzeichen;
}
ngOnInit(): void {
this.aktenzeichenDeleted = isEmpty(this.aktenzeichen);
this.setHeadline();
}
private setHeadline(): void {
if (this.aktenzeichenDeleted) {
this.headline = 'das Aktenzeichen gelöscht.';
} else {
this.headline = HISTORIE_TEXT_BY_KOMMENTAR_ORDER[this.command.order];
}
}
}
const HISTORIE_TEXT_BY_KOMMENTAR_ORDER: { [order: string]: string } = {
[CommandOrder.SET_AKTENZEICHEN]: 'das Aktenzeichen geändert.',
}
\ No newline at end of file
......@@ -45,6 +45,9 @@
<ng-container *ngSwitchCase="commandOrderType.LOESCH_ANFORDERUNG">
<alfa-historie-item-loesch-anforderung [command]="historieCommand" data-test-id="historie-item-loesch-anforderung"></alfa-historie-item-loesch-anforderung>
</ng-container>
<ng-container *ngSwitchCase="commandOrderType.SET_AKTENZEICHEN">
<alfa-historie-item-aktenzeichen [command]="historieCommand" data-test-id="historie-item-aktenzeichen"></alfa-historie-item-aktenzeichen>
</ng-container>
<ng-container *ngSwitchDefault>
<alfa-historie-item-unknown [headline]="historieCommand.order" [resource]="historieCommand" data-test-id="historie-item-unknown"></alfa-historie-item-unknown>
</ng-container>
......
......@@ -45,6 +45,7 @@ import { HistorieItemWiedervorlageStatusComponent } from './historie-container/h
import { HistorieItemWiedervorlageComponent } from './historie-container/historie-list/historie-item-wiedervorlage/historie-item-wiedervorlage.component';
import { HistorieListItemComponent } from './historie-container/historie-list/historie-list-item/historie-list-item.component';
import { HistorieListComponent } from './historie-container/historie-list/historie-list.component';
import { HistorieItemAktenzeichenComponent } from './historie-container/historie-list/historie-item-aktenzeichen/historie-item-aktenzeichen.component';
@NgModule({
imports: [
......@@ -73,6 +74,7 @@ import { HistorieListComponent } from './historie-container/historie-list/histor
HistorieItemWiedervorlageStatusComponent,
HistorieItemAttachmentComponent,
HistorieItemLoeschAnforderungComponent,
HistorieItemAktenzeichenComponent,
],
exports: [HistorieContainerComponent],
})
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment