diff --git a/goofy-client/.gitignore b/goofy-client/.gitignore index 4fd9280cfc1fbd0aa4b37c6d3c2c5798c3aea859..92abdb41d7fa17686e58d3ccf2fcb843520c83e7 100644 --- a/goofy-client/.gitignore +++ b/goofy-client/.gitignore @@ -45,3 +45,5 @@ testem.log # System Files .DS_Store Thumbs.db + +.angular diff --git a/goofy-client/angular.json b/goofy-client/angular.json index dc95c00d557171ac0c83278366be1a3a1463395a..faabb2288332d4d7fda6e994cf2e3450a17e6c01 100644 --- a/goofy-client/angular.json +++ b/goofy-client/angular.json @@ -741,6 +741,32 @@ }, "tags": [] }, + "vorgang-historie": { + "projectType": "library", + "root": "libs/vorgang-historie", + "sourceRoot": "libs/vorgang-historie/src", + "prefix": "goofy-client", + "architect": { + "test": { + "builder": "@nrwl/jest:jest", + "outputs": ["coverage/libs/vorgang-historie"], + "options": { + "jestConfig": "libs/vorgang-historie/jest.config.js", + "passWithNoTests": true + } + }, + "lint": { + "builder": "@nrwl/linter:eslint", + "options": { + "lintFilePatterns": [ + "libs/vorgang-historie/src/**/*.ts", + "libs/vorgang-historie/src/**/*.html" + ] + } + } + }, + "tags": [] + }, "vorgang-shared": { "projectType": "library", "root": "libs/vorgang-shared", diff --git a/goofy-client/apps/goofy/src/styles/abstracts/_variables.scss b/goofy-client/apps/goofy/src/styles/abstracts/_variables.scss index 89fc0e3b6c753a8f96b78f11004fe86ce9892805..25c38013e2a41900e131a44781410d0a7947294c 100644 --- a/goofy-client/apps/goofy/src/styles/abstracts/_variables.scss +++ b/goofy-client/apps/goofy/src/styles/abstracts/_variables.scss @@ -1,6 +1,7 @@ @use '@angular/material' as mat; $grey: #777; +$greyLight: rgba(0, 0, 0, 0.08); $background: #fafafa; $dark-background: #303030; diff --git a/goofy-client/libs/tech-shared/src/index.ts b/goofy-client/libs/tech-shared/src/index.ts index b607f46b67b53b24bfee67f8af75735ed9d821f2..7e0f749f00c0b9bc0c3f6c8895db70bec44535fb 100644 --- a/goofy-client/libs/tech-shared/src/index.ts +++ b/goofy-client/libs/tech-shared/src/index.ts @@ -11,6 +11,7 @@ export * from './lib/pipe/file-size.pipe'; export * from './lib/pipe/format-date-with-time.pipe'; export * from './lib/pipe/format-to-pretty-date.pipe'; export * from './lib/pipe/has-link.pipe'; +export * from './lib/pipe/not-has-link.pipe'; export * from './lib/pipe/to-embedded-resource.pipe'; export * from './lib/pipe/to-resource-uri.pipe'; export * from './lib/pipe/to-traffic-light-tooltip.pipe'; diff --git a/goofy-client/libs/tech-shared/src/lib/pipe/not-has-link.pipe.spec.ts b/goofy-client/libs/tech-shared/src/lib/pipe/not-has-link.pipe.spec.ts new file mode 100644 index 0000000000000000000000000000000000000000..c7517c2753666e5651cbfae1fcfa477f60780b86 --- /dev/null +++ b/goofy-client/libs/tech-shared/src/lib/pipe/not-has-link.pipe.spec.ts @@ -0,0 +1,21 @@ +import { Resource } from '@ngxp/rest'; +import { createDummyResource } from 'libs/tech-shared/test/resource'; +import { NotHasLinkPipe } from './not-has-link.pipe'; + +describe('NotHasLinkPipe', () => { + const selfLink: string = 'self'; + const dummyLink: string = 'dummy'; + const resource: Resource = createDummyResource([selfLink]); + const pipe: NotHasLinkPipe = new NotHasLinkPipe(); + + it('resource has link', () => { + const result: boolean = pipe.transform(resource, selfLink); + + expect(result).toBe(false); + }) + it('resource doesnt has link', () => { + const result: boolean = pipe.transform(resource, dummyLink); + + expect(result).toBe(true); + }) +}) diff --git a/goofy-client/libs/tech-shared/src/lib/pipe/not-has-link.pipe.ts b/goofy-client/libs/tech-shared/src/lib/pipe/not-has-link.pipe.ts new file mode 100644 index 0000000000000000000000000000000000000000..d68f0417cea19776db39a12a21129d85b0f11269 --- /dev/null +++ b/goofy-client/libs/tech-shared/src/lib/pipe/not-has-link.pipe.ts @@ -0,0 +1,9 @@ +import { Pipe, PipeTransform } from '@angular/core'; +import { hasLink, Resource } from '@ngxp/rest'; + +@Pipe({ name: 'notHasLink' }) +export class NotHasLinkPipe implements PipeTransform { + transform(resource: Resource, link: string) { + return !hasLink(resource, link); + } +} diff --git a/goofy-client/libs/tech-shared/src/lib/tech-shared.module.ts b/goofy-client/libs/tech-shared/src/lib/tech-shared.module.ts index 2ed55173a712884078afff7af605bde8623913b7..67328c81f7d110f528ba7d4282651a251f6ddf24 100644 --- a/goofy-client/libs/tech-shared/src/lib/tech-shared.module.ts +++ b/goofy-client/libs/tech-shared/src/lib/tech-shared.module.ts @@ -8,6 +8,7 @@ import { FileSizePipe } from './pipe/file-size.pipe'; import { FormatDateWithTimePipe } from './pipe/format-date-with-time.pipe'; import { FormatToPrettyDatePipe } from './pipe/format-to-pretty-date.pipe'; import { HasLinkPipe } from './pipe/has-link.pipe'; +import { NotHasLinkPipe } from './pipe/not-has-link.pipe'; import { ToEmbeddedResourcesPipe } from './pipe/to-embedded-resource.pipe'; import { ToResourceUriPipe } from './pipe/to-resource-uri.pipe'; import { ToTrafficLightTooltipPipe } from './pipe/to-traffic-light-tooltip.pipe'; @@ -20,6 +21,7 @@ import { ToTrafficLightPipe } from './pipe/to-traffic-light.pipe'; EnumToLabelPipe, FormatDateWithTimePipe, HasLinkPipe, + NotHasLinkPipe, ToResourceUriPipe, ToTrafficLightPipe, ToTrafficLightTooltipPipe, @@ -32,6 +34,7 @@ import { ToTrafficLightPipe } from './pipe/to-traffic-light.pipe'; EnumToLabelPipe, FormatDateWithTimePipe, HasLinkPipe, + NotHasLinkPipe, ToResourceUriPipe, ToTrafficLightPipe, ToTrafficLightTooltipPipe, diff --git a/goofy-client/libs/vorgang-detail/src/lib/vorgang-detail-page/vorgang-detail-area/vorgang-detail-formular-daten/vorgang-detail-formular-daten.component.html b/goofy-client/libs/vorgang-detail/src/lib/vorgang-detail-page/vorgang-detail-area/vorgang-detail-formular-daten/vorgang-detail-formular-daten.component.html index 97fc42277eea4729dd3fa51424713417da6a6027..ff0b56b12c6f6d87b776e80c11e1f1ae1206c2af 100644 --- a/goofy-client/libs/vorgang-detail/src/lib/vorgang-detail-page/vorgang-detail-area/vorgang-detail-formular-daten/vorgang-detail-formular-daten.component.html +++ b/goofy-client/libs/vorgang-detail/src/lib/vorgang-detail-page/vorgang-detail-area/vorgang-detail-formular-daten/vorgang-detail-formular-daten.component.html @@ -12,17 +12,23 @@ </goofy-client-vorgang-detail-meta-data> </mat-tab> <mat-tab label="Datenrepräsentation ({{vorgangWithEingang.eingang.numberOfRepresentations}})" - [disabled]="!(vorgangWithEingang | hasLink:vorgangWithEingangLinkRel.REPRESENTATIONS)"> + [disabled]="vorgangWithEingang | notHasLink:vorgangWithEingangLinkRel.REPRESENTATIONS"> <ng-template matTabContent> <goofy-client-vorgang-detail-representation-list data-test-id="tab-representations-list" [vorgangWithEingang]="vorgangWithEingang"></goofy-client-vorgang-detail-representation-list> </ng-template> </mat-tab> <mat-tab label="Anhänge ({{vorgangWithEingang.eingang.numberOfAttachments}})" - [disabled]="!(vorgangWithEingang | hasLink:vorgangWithEingangLinkRel.ATTACHMENTS)"> + [disabled]="vorgangWithEingang | notHasLink:vorgangWithEingangLinkRel.ATTACHMENTS"> <ng-template matTabContent> <goofy-client-vorgang-detail-attachment-list data-test-id="tab-attachments-list" [vorgangWithEingang]="vorgangWithEingang"></goofy-client-vorgang-detail-attachment-list> </ng-template> </mat-tab> + <mat-tab label="Historie" + [disabled]="vorgangWithEingang | notHasLink:vorgangWithEingangLinkRel.HISTORIE"> + <ng-template matTabContent> + <goofy-client-vorgang-historie-container data-test-id="tab-historie-container" [vorgangWithEingang]="vorgangWithEingang"></goofy-client-vorgang-historie-container> + </ng-template> + </mat-tab> </mat-tab-group> </goofy-client-expansion-panel> diff --git a/goofy-client/libs/vorgang-detail/src/lib/vorgang-detail-page/vorgang-detail-area/vorgang-detail-formular-daten/vorgang-detail-formular-daten.component.spec.ts b/goofy-client/libs/vorgang-detail/src/lib/vorgang-detail-page/vorgang-detail-area/vorgang-detail-formular-daten/vorgang-detail-formular-daten.component.spec.ts index 0511ec5727b1138a01d3327dddf91f25c386258d..b74f145f6a4c2a12b3df59389fa252368328565a 100644 --- a/goofy-client/libs/vorgang-detail/src/lib/vorgang-detail-page/vorgang-detail-area/vorgang-detail-formular-daten/vorgang-detail-formular-daten.component.spec.ts +++ b/goofy-client/libs/vorgang-detail/src/lib/vorgang-detail-page/vorgang-detail-area/vorgang-detail-formular-daten/vorgang-detail-formular-daten.component.spec.ts @@ -1,9 +1,10 @@ import { ComponentFixture, TestBed } from '@angular/core/testing'; import { MatTabsModule } from '@angular/material/tabs'; import { BrowserAnimationsModule } from '@angular/platform-browser/animations'; -import { HasLinkPipe } from '@goofy-client/tech-shared'; +import { HasLinkPipe, NotHasLinkPipe } from '@goofy-client/tech-shared'; import { getElementFromFixture } from '@goofy-client/test-utils'; import { ExpansionPanelComponent } from '@goofy-client/ui'; +import { VorgangHistorieContainerComponent } from '@goofy-client/vorgang-historie'; import { VorgangWithEingangLinkRel, VorgangWithEingangResource } from '@goofy-client/vorgang-shared'; import { createVorgangWithEingangResource } from 'libs/vorgang-shared/test/vorgang'; import { MockComponent } from 'ng-mocks'; @@ -20,10 +21,12 @@ describe('VorgangDetailFormularDatenComponent', () => { const tabMetaData: string = 'div[role=tab]:nth-child(2)'; const tabRepresentations: string = 'div[role=tab]:nth-child(3)'; const tabAttachments: string = 'div[role=tab]:nth-child(4)'; + const tabHistorie: string = 'div[role=tab]:nth-child(5)'; const vorgang: VorgangWithEingangResource = createVorgangWithEingangResource(); const vorgangWithAttachments: VorgangWithEingangResource = createVorgangWithEingangResource([VorgangWithEingangLinkRel.ATTACHMENTS]); const vorgangWithRepresentations: VorgangWithEingangResource = createVorgangWithEingangResource([VorgangWithEingangLinkRel.REPRESENTATIONS]); + const vorgangWithHistorie: VorgangWithEingangResource = createVorgangWithEingangResource([VorgangWithEingangLinkRel.HISTORIE]); beforeEach(async () => { await TestBed.configureTestingModule({ @@ -33,12 +36,14 @@ describe('VorgangDetailFormularDatenComponent', () => { ], declarations: [ HasLinkPipe, + NotHasLinkPipe, VorgangDetailFormularDatenComponent, MockComponent(VorgangDetailAntragDataComponent), MockComponent(VorgangDetailMetaDataComponent), MockComponent(VorgangDetailAttachmentListComponent), MockComponent(VorgangDetailRepresentationListComponent), MockComponent(ExpansionPanelComponent), + MockComponent(VorgangHistorieContainerComponent), ] }).compileComponents(); }); @@ -139,4 +144,24 @@ describe('VorgangDetailFormularDatenComponent', () => { }) }) + describe('Tab Historie', () => { + it('should be enabled if Link "historie" exists', () => { + component.vorgangWithEingang = vorgangWithHistorie; + + fixture.detectChanges(); + const tab = getElementFromFixture(fixture, tabHistorie); + + expect(tab).not.toHaveClass('mat-tab-disabled'); + }) + + it('should be disable if no Link "historie"', () => { + component.vorgangWithEingang = vorgang; + + fixture.detectChanges(); + const tab = getElementFromFixture(fixture, tabHistorie); + + expect(tab).toHaveClass('mat-tab-disabled'); + }) + }) + }); diff --git a/goofy-client/libs/vorgang-detail/src/lib/vorgang-detail.module.ts b/goofy-client/libs/vorgang-detail/src/lib/vorgang-detail.module.ts index 4ea2a3fedfb8a38e50c2c0c1879bac72b8f830f6..fbb58cedeb0551ee16dbdaee75859f158ae3b8e6 100644 --- a/goofy-client/libs/vorgang-detail/src/lib/vorgang-detail.module.ts +++ b/goofy-client/libs/vorgang-detail/src/lib/vorgang-detail.module.ts @@ -10,6 +10,7 @@ import { TechSharedModule } from '@goofy-client/tech-shared'; import { UiModule } from '@goofy-client/ui'; import { UserProfileModule } from '@goofy-client/user-profile'; import { UserProfileSharedModule } from '@goofy-client/user-profile-shared'; +import { VorgangHistorieModule } from '@goofy-client/vorgang-historie'; import { VorgangSharedModule } from '@goofy-client/vorgang-shared'; import { VorgangSharedUiModule } from '@goofy-client/vorgang-shared-ui'; import { WiedervorlageModule } from '@goofy-client/wiedervorlage'; @@ -59,7 +60,8 @@ const routes: Routes = [ UserProfileModule, UserProfileSharedModule, PostfachSharedModule, - PostfachModule + PostfachModule, + VorgangHistorieModule ], declarations: [ VorgangDetailPageComponent, diff --git a/goofy-client/libs/vorgang-historie/.eslintrc.json b/goofy-client/libs/vorgang-historie/.eslintrc.json new file mode 100644 index 0000000000000000000000000000000000000000..28f19b630511beab4ad3ff61ffce5a45f7430728 --- /dev/null +++ b/goofy-client/libs/vorgang-historie/.eslintrc.json @@ -0,0 +1,36 @@ +{ + "extends": ["../../.eslintrc.json"], + "ignorePatterns": ["!**/*"], + "overrides": [ + { + "files": ["*.ts"], + "extends": [ + "plugin:@nrwl/nx/angular", + "plugin:@angular-eslint/template/process-inline-templates" + ], + "rules": { + "@angular-eslint/directive-selector": [ + "error", + { + "type": "attribute", + "prefix": "goofyClient", + "style": "camelCase" + } + ], + "@angular-eslint/component-selector": [ + "error", + { + "type": "element", + "prefix": "goofy-client", + "style": "kebab-case" + } + ] + } + }, + { + "files": ["*.html"], + "extends": ["plugin:@nrwl/nx/angular-template"], + "rules": {} + } + ] +} diff --git a/goofy-client/libs/vorgang-historie/README.md b/goofy-client/libs/vorgang-historie/README.md new file mode 100644 index 0000000000000000000000000000000000000000..0412a90d25be161803edbe2751e3635c48dcbc31 --- /dev/null +++ b/goofy-client/libs/vorgang-historie/README.md @@ -0,0 +1,7 @@ +# vorgang-historie + +This library was generated with [Nx](https://nx.dev). + +## Running unit tests + +Run `nx test vorgang-historie` to execute the unit tests. diff --git a/goofy-client/libs/vorgang-historie/jest.config.js b/goofy-client/libs/vorgang-historie/jest.config.js new file mode 100644 index 0000000000000000000000000000000000000000..707cb488ad0a8db33a85c90c2fab768d9ecac3f5 --- /dev/null +++ b/goofy-client/libs/vorgang-historie/jest.config.js @@ -0,0 +1,21 @@ +module.exports = { + displayName: 'vorgang-historie', + preset: '../../jest.preset.js', + setupFilesAfterEnv: ['<rootDir>/src/test-setup.ts'], + globals: { + 'ts-jest': { + tsconfig: '<rootDir>/tsconfig.spec.json', + stringifyContentPathRegex: '\\.(html|svg)$', + }, + }, + coverageDirectory: '../../coverage/libs/vorgang-historie', + transform: { + '^.+\\.(ts|mjs|js|html)$': 'jest-preset-angular', + }, + transformIgnorePatterns: ['node_modules/(?!.*\\.mjs$)'], + snapshotSerializers: [ + 'jest-preset-angular/build/serializers/no-ng-attributes', + 'jest-preset-angular/build/serializers/ng-snapshot', + 'jest-preset-angular/build/serializers/html-comment', + ], +}; diff --git a/goofy-client/libs/vorgang-historie/src/index.ts b/goofy-client/libs/vorgang-historie/src/index.ts new file mode 100644 index 0000000000000000000000000000000000000000..41a6b1400e8baf95216e1d8593b45b0b8faff17d --- /dev/null +++ b/goofy-client/libs/vorgang-historie/src/index.ts @@ -0,0 +1,3 @@ +export * from './lib/vorgang-historie.module'; + +export * from './lib/vorgang-historie-container/vorgang-historie-container.component'; diff --git a/goofy-client/libs/vorgang-historie/src/lib/vorgang-historie-container/vorgang-historie-container.component.html b/goofy-client/libs/vorgang-historie/src/lib/vorgang-historie-container/vorgang-historie-container.component.html new file mode 100644 index 0000000000000000000000000000000000000000..429eccc43389cd64517c4b3bb1998f2ba7ca5037 --- /dev/null +++ b/goofy-client/libs/vorgang-historie/src/lib/vorgang-historie-container/vorgang-historie-container.component.html @@ -0,0 +1 @@ +<goofy-client-vorgang-historie-list data-test-id="tab-historie-list-container" [vorgangWithEingang]="vorgangWithEingang"></goofy-client-vorgang-historie-list> \ No newline at end of file diff --git a/goofy-client/libs/vorgang-historie/src/lib/vorgang-historie-container/vorgang-historie-container.component.scss b/goofy-client/libs/vorgang-historie/src/lib/vorgang-historie-container/vorgang-historie-container.component.scss new file mode 100644 index 0000000000000000000000000000000000000000..e69de29bb2d1d6434b8b29ae775ad8c2e48c5391 diff --git a/goofy-client/libs/vorgang-historie/src/lib/vorgang-historie-container/vorgang-historie-container.component.spec.ts b/goofy-client/libs/vorgang-historie/src/lib/vorgang-historie-container/vorgang-historie-container.component.spec.ts new file mode 100644 index 0000000000000000000000000000000000000000..5fbc53485f39ab439b2bcff922b89ce61a04f872 --- /dev/null +++ b/goofy-client/libs/vorgang-historie/src/lib/vorgang-historie-container/vorgang-historie-container.component.spec.ts @@ -0,0 +1,24 @@ +import { ComponentFixture, TestBed } from '@angular/core/testing'; + +import { VorgangHistorieContainerComponent } from './vorgang-historie-container.component'; + +describe('VorgangHistorieContainerComponent', () => { + let component: VorgangHistorieContainerComponent; + let fixture: ComponentFixture<VorgangHistorieContainerComponent>; + + beforeEach(async () => { + await TestBed.configureTestingModule({ + declarations: [VorgangHistorieContainerComponent], + }).compileComponents(); + }); + + beforeEach(() => { + fixture = TestBed.createComponent(VorgangHistorieContainerComponent); + component = fixture.componentInstance; + fixture.detectChanges(); + }); + + it('should create', () => { + expect(component).toBeTruthy(); + }); +}); diff --git a/goofy-client/libs/vorgang-historie/src/lib/vorgang-historie-container/vorgang-historie-container.component.ts b/goofy-client/libs/vorgang-historie/src/lib/vorgang-historie-container/vorgang-historie-container.component.ts new file mode 100644 index 0000000000000000000000000000000000000000..7da65f22da2b3028a257b27b3826bfa7154d4461 --- /dev/null +++ b/goofy-client/libs/vorgang-historie/src/lib/vorgang-historie-container/vorgang-historie-container.component.ts @@ -0,0 +1,13 @@ +import { Component, Input } from '@angular/core'; +import { VorgangWithEingangResource } from '@goofy-client/vorgang-shared'; + +@Component({ + selector: 'goofy-client-vorgang-historie-container', + templateUrl: './vorgang-historie-container.component.html', + styleUrls: ['./vorgang-historie-container.component.scss'], +}) +export class VorgangHistorieContainerComponent { + + @Input() vorgangWithEingang: VorgangWithEingangResource; + +} diff --git a/goofy-client/libs/vorgang-historie/src/lib/vorgang-historie-container/vorgang-historie-list/vorgang-historie-list.component.html b/goofy-client/libs/vorgang-historie/src/lib/vorgang-historie-container/vorgang-historie-list/vorgang-historie-list.component.html new file mode 100644 index 0000000000000000000000000000000000000000..4ffbccbc10733efb76f1ecaf553a57a727d43d2f --- /dev/null +++ b/goofy-client/libs/vorgang-historie/src/lib/vorgang-historie-container/vorgang-historie-list/vorgang-historie-list.component.html @@ -0,0 +1,3 @@ +<ul> + <li data-test-id="created-at">Der Vorgang wurde am {{ vorgangWithEingang.createdAt | formatDateWithTimePipe:false }} erstellt.</li> +</ul> \ No newline at end of file diff --git a/goofy-client/libs/vorgang-historie/src/lib/vorgang-historie-container/vorgang-historie-list/vorgang-historie-list.component.scss b/goofy-client/libs/vorgang-historie/src/lib/vorgang-historie-container/vorgang-historie-list/vorgang-historie-list.component.scss new file mode 100644 index 0000000000000000000000000000000000000000..72a25c5cf822d4d8165725a12287832f6269080d --- /dev/null +++ b/goofy-client/libs/vorgang-historie/src/lib/vorgang-historie-container/vorgang-historie-list/vorgang-historie-list.component.scss @@ -0,0 +1,12 @@ +@import "variables"; + +ul { + margin-top: 0; + padding-left: 0; + width: 100%; + + li { + border-bottom: 1px solid $greyLight; + padding: 0.75rem 0; + } +} \ No newline at end of file diff --git a/goofy-client/libs/vorgang-historie/src/lib/vorgang-historie-container/vorgang-historie-list/vorgang-historie-list.component.spec.ts b/goofy-client/libs/vorgang-historie/src/lib/vorgang-historie-container/vorgang-historie-list/vorgang-historie-list.component.spec.ts new file mode 100644 index 0000000000000000000000000000000000000000..1908346811cd19a353c854de26805f98f5ad4073 --- /dev/null +++ b/goofy-client/libs/vorgang-historie/src/lib/vorgang-historie-container/vorgang-historie-list/vorgang-historie-list.component.spec.ts @@ -0,0 +1,48 @@ +import { registerLocaleData } from '@angular/common'; +import localeDe from '@angular/common/locales/de'; +import { ComponentFixture, TestBed } from '@angular/core/testing'; +import { FormatDateWithTimePipe } from '@goofy-client/tech-shared'; +import { getElementFromFixture } from '@goofy-client/test-utils'; +import { VorgangWithEingangLinkRel, VorgangWithEingangResource } from '@goofy-client/vorgang-shared'; +import { getDataTestIdOf } from 'libs/tech-shared/test/data-test'; +import { createVorgangWithEingangResource } from 'libs/vorgang-shared/test/vorgang'; +import { VorgangHistorieListComponent } from './vorgang-historie-list.component'; + +registerLocaleData(localeDe); + +describe('VorgangHistorieListComponent', () => { + let component: VorgangHistorieListComponent; + let fixture: ComponentFixture<VorgangHistorieListComponent>; + + const vorgangWithHistorie: VorgangWithEingangResource = createVorgangWithEingangResource([VorgangWithEingangLinkRel.HISTORIE]); + const createdAtElement: string = getDataTestIdOf('created-at'); + + beforeEach(async () => { + await TestBed.configureTestingModule({ + declarations: [ + FormatDateWithTimePipe, + VorgangHistorieListComponent + ], + }).compileComponents(); + }); + + beforeEach(() => { + fixture = TestBed.createComponent(VorgangHistorieListComponent); + component = fixture.componentInstance; + component.vorgangWithEingang = vorgangWithHistorie; + fixture.detectChanges(); + }); + + it('should create', () => { + expect(component).toBeTruthy(); + }); + + describe('on vorgang', () => { + + it('should have Historie list', () => { + const element = getElementFromFixture(fixture, createdAtElement); + + expect(element).toBeInstanceOf(HTMLLIElement); + }); + }); +}); diff --git a/goofy-client/libs/vorgang-historie/src/lib/vorgang-historie-container/vorgang-historie-list/vorgang-historie-list.component.ts b/goofy-client/libs/vorgang-historie/src/lib/vorgang-historie-container/vorgang-historie-list/vorgang-historie-list.component.ts new file mode 100644 index 0000000000000000000000000000000000000000..bd015726a6fe0a1979b9fdd5d83bff0d87d72670 --- /dev/null +++ b/goofy-client/libs/vorgang-historie/src/lib/vorgang-historie-container/vorgang-historie-list/vorgang-historie-list.component.ts @@ -0,0 +1,13 @@ +import { Component, Input } from '@angular/core'; +import { VorgangWithEingangResource } from '@goofy-client/vorgang-shared'; + +@Component({ + selector: 'goofy-client-vorgang-historie-list', + templateUrl: './vorgang-historie-list.component.html', + styleUrls: ['./vorgang-historie-list.component.scss'], +}) +export class VorgangHistorieListComponent { + + @Input() vorgangWithEingang: VorgangWithEingangResource; + +} diff --git a/goofy-client/libs/vorgang-historie/src/lib/vorgang-historie.module.ts b/goofy-client/libs/vorgang-historie/src/lib/vorgang-historie.module.ts new file mode 100644 index 0000000000000000000000000000000000000000..41f06719072483d05854a282803e6dc699e8f779 --- /dev/null +++ b/goofy-client/libs/vorgang-historie/src/lib/vorgang-historie.module.ts @@ -0,0 +1,20 @@ +import { CommonModule } from '@angular/common'; +import { NgModule } from '@angular/core'; +import { TechSharedModule } from '@goofy-client/tech-shared'; +import { VorgangHistorieContainerComponent } from './vorgang-historie-container/vorgang-historie-container.component'; +import { VorgangHistorieListComponent } from './vorgang-historie-container/vorgang-historie-list/vorgang-historie-list.component'; + +@NgModule({ + imports: [ + CommonModule, + TechSharedModule + ], + declarations: [ + VorgangHistorieContainerComponent, + VorgangHistorieListComponent, + ], + exports: [ + VorgangHistorieContainerComponent, + ], +}) +export class VorgangHistorieModule {} diff --git a/goofy-client/libs/vorgang-historie/src/test-setup.ts b/goofy-client/libs/vorgang-historie/src/test-setup.ts new file mode 100644 index 0000000000000000000000000000000000000000..1100b3e8a6ed08f4b5c27a96471846d57023c320 --- /dev/null +++ b/goofy-client/libs/vorgang-historie/src/test-setup.ts @@ -0,0 +1 @@ +import 'jest-preset-angular/setup-jest'; diff --git a/goofy-client/libs/vorgang-historie/tsconfig.json b/goofy-client/libs/vorgang-historie/tsconfig.json new file mode 100644 index 0000000000000000000000000000000000000000..518abe89089dd06c8c6430da3f5f7c9105c10cd2 --- /dev/null +++ b/goofy-client/libs/vorgang-historie/tsconfig.json @@ -0,0 +1,13 @@ +{ + "extends": "../../tsconfig.base.json", + "files": [], + "include": [], + "references": [ + { + "path": "./tsconfig.lib.json" + }, + { + "path": "./tsconfig.spec.json" + } + ] +} diff --git a/goofy-client/libs/vorgang-historie/tsconfig.lib.json b/goofy-client/libs/vorgang-historie/tsconfig.lib.json new file mode 100644 index 0000000000000000000000000000000000000000..a2a53880f8274e73d8c264e347047cbd8c1f1cf8 --- /dev/null +++ b/goofy-client/libs/vorgang-historie/tsconfig.lib.json @@ -0,0 +1,12 @@ +{ + "extends": "./tsconfig.json", + "compilerOptions": { + "outDir": "../../dist/out-tsc", + "declaration": true, + "declarationMap": true, + "inlineSources": true, + "types": [] + }, + "exclude": ["src/test-setup.ts", "**/*.spec.ts", "**/*.test.ts"], + "include": ["**/*.ts"] +} diff --git a/goofy-client/libs/vorgang-historie/tsconfig.spec.json b/goofy-client/libs/vorgang-historie/tsconfig.spec.json new file mode 100644 index 0000000000000000000000000000000000000000..ff36e0edd33bbc39279480063c3c8e62e8be27ef --- /dev/null +++ b/goofy-client/libs/vorgang-historie/tsconfig.spec.json @@ -0,0 +1,10 @@ +{ + "extends": "./tsconfig.json", + "compilerOptions": { + "outDir": "../../dist/out-tsc", + "module": "commonjs", + "types": ["jest", "node"] + }, + "files": ["src/test-setup.ts"], + "include": ["**/*.test.ts", "**/*.spec.ts", "**/*.d.ts"] +} diff --git a/goofy-client/libs/vorgang-shared/src/lib/vorgang.linkrel.ts b/goofy-client/libs/vorgang-shared/src/lib/vorgang.linkrel.ts index aa3c06d5f237beb44245203e769956ba7a26d298..0f7f646640c7cff4edebda7b522e51b1c286e786 100644 --- a/goofy-client/libs/vorgang-shared/src/lib/vorgang.linkrel.ts +++ b/goofy-client/libs/vorgang-shared/src/lib/vorgang.linkrel.ts @@ -28,4 +28,5 @@ export enum VorgangWithEingangLinkRel { PENDING_COMMANDS = 'pending-commands', ASSIGN = 'assign', REPRESENTATIONS = 'representations', + HISTORIE = 'historie', } \ No newline at end of file diff --git a/goofy-client/tsconfig.base.json b/goofy-client/tsconfig.base.json index b68afb258404cae674d402b8eb66078fa7beab24..b077313028be1be67cf372d6f755f0cf1e126102 100644 --- a/goofy-client/tsconfig.base.json +++ b/goofy-client/tsconfig.base.json @@ -54,6 +54,9 @@ "@goofy-client/vorgang-detail": [ "libs/vorgang-detail/src/index.ts" ], + "@goofy-client/vorgang-historie": [ + "libs/vorgang-historie/src/index.ts" + ], "@goofy-client/vorgang-shared": [ "libs/vorgang-shared/src/index.ts" ],