From 586382ba457caaf14e975a187dcc812ff374e041 Mon Sep 17 00:00:00 2001 From: MoritzWeber Date: Mon, 7 Oct 2024 18:25:10 +0200 Subject: [PATCH] fix: Minor frontend fixes for T4C instance components - Capella version and license server are now set properly while editing. - Some stories have been improved. - The REST API is not experimental anymore; the corresponding text has been removed. --- .../capellacollab/core/database/migration.py | 1 + .../edit-t4c-instance.component.html | 11 +++- .../edit-t4c-instance.component.ts | 2 + .../edit-t4c-instance.stories.ts | 57 ++++++++++++++++--- 4 files changed, 60 insertions(+), 11 deletions(-) diff --git a/backend/capellacollab/core/database/migration.py b/backend/capellacollab/core/database/migration.py index 0ec5b9975..050d7563b 100644 --- a/backend/capellacollab/core/database/migration.py +++ b/backend/capellacollab/core/database/migration.py @@ -378,6 +378,7 @@ def create_t4c_instance_and_repositories(db): host="localhost", port=2036, cdo_port=12036, + http_port=8080, license_server=default_license_server, rest_api="http://localhost:8081/api/v1.0", username="admin", diff --git a/frontend/src/app/settings/modelsources/t4c-settings/edit-t4c-instance/edit-t4c-instance.component.html b/frontend/src/app/settings/modelsources/t4c-settings/edit-t4c-instance/edit-t4c-instance.component.html index de26619b5..015c72ee2 100644 --- a/frontend/src/app/settings/modelsources/t4c-settings/edit-t4c-instance/edit-t4c-instance.component.html +++ b/frontend/src/app/settings/modelsources/t4c-settings/edit-t4c-instance/edit-t4c-instance.component.html @@ -151,10 +151,10 @@

- Experimental REST API + REST API @if (form.controls.rest_api.errors?.required) { - The REST server URL is required. + The REST API server URL is required. } @else if (form.controls.rest_api.errors?.pattern) { The URL should start with "http(s)://" } @@ -207,7 +207,12 @@

(t4cInstanceWrapperService.t4cInstance$ | async) !== undefined ) { @if (!isArchived) { - } @else { diff --git a/frontend/src/app/settings/modelsources/t4c-settings/edit-t4c-instance/edit-t4c-instance.component.ts b/frontend/src/app/settings/modelsources/t4c-settings/edit-t4c-instance/edit-t4c-instance.component.ts index d76a068ba..3c41a8c48 100644 --- a/frontend/src/app/settings/modelsources/t4c-settings/edit-t4c-instance/edit-t4c-instance.component.ts +++ b/frontend/src/app/settings/modelsources/t4c-settings/edit-t4c-instance/edit-t4c-instance.component.ts @@ -139,6 +139,8 @@ export class EditT4CInstanceComponent implements OnInit, OnDestroy { const t4cInstance = { ...initialT4CInstance, password: '***********', + version_id: initialT4CInstance.version.id, + license_server_id: initialT4CInstance.license_server.id, }; this.isArchived = t4cInstance.is_archived; this.form.patchValue(t4cInstance); diff --git a/frontend/src/app/settings/modelsources/t4c-settings/edit-t4c-instance/edit-t4c-instance.stories.ts b/frontend/src/app/settings/modelsources/t4c-settings/edit-t4c-instance/edit-t4c-instance.stories.ts index 7c339ba7d..a8ca32930 100644 --- a/frontend/src/app/settings/modelsources/t4c-settings/edit-t4c-instance/edit-t4c-instance.stories.ts +++ b/frontend/src/app/settings/modelsources/t4c-settings/edit-t4c-instance/edit-t4c-instance.stories.ts @@ -2,11 +2,17 @@ * SPDX-FileCopyrightText: Copyright DB InfraGO AG and contributors * SPDX-License-Identifier: Apache-2.0 */ +import { ActivatedRoute } from '@angular/router'; import { Meta, StoryObj, moduleMetadata } from '@storybook/angular'; +import { userEvent, within } from '@storybook/test'; import { T4CInstanceWrapperService } from 'src/app/services/settings/t4c-instance.service'; +import { T4CLicenseServerWrapperService } from 'src/app/services/settings/t4c-license-server.service'; +import { MockActivedRoute } from 'src/storybook/routes'; import { MockT4CInstanceWrapperService, + MockT4CLicenseServerWrapperService, mockT4CInstance, + mockT4CLicenseServer, } from 'src/storybook/t4c'; import { mockToolVersion } from 'src/storybook/tool'; import { EditT4CInstanceComponent } from './edit-t4c-instance.component'; @@ -14,6 +20,22 @@ import { EditT4CInstanceComponent } from './edit-t4c-instance.component'; const meta: Meta = { title: 'Settings Components/Modelsources/T4C/Server Instance', component: EditT4CInstanceComponent, + args: { + capellaVersions: [mockToolVersion], + }, + decorators: [ + moduleMetadata({ + providers: [ + { + provide: T4CLicenseServerWrapperService, + useFactory: () => + new MockT4CLicenseServerWrapperService(mockT4CLicenseServer, [ + mockT4CLicenseServer, + ]), + }, + ], + }), + ], }; export default meta; @@ -26,7 +48,6 @@ export const AddInstance: Story = { export const ExistingInstance: Story = { args: { existing: true, - capellaVersions: [mockToolVersion], }, decorators: [ moduleMetadata({ @@ -38,17 +59,20 @@ export const ExistingInstance: Story = { mockT4CInstance, ]), }, + { + provide: ActivatedRoute, + useFactory: () => + new MockActivedRoute({ + instance: -1, + }), + }, ], }), ], }; export const EditExistingInstance: Story = { - args: { - existing: true, - editing: true, - capellaVersions: [mockToolVersion], - }, + args: {}, decorators: [ moduleMetadata({ providers: [ @@ -59,16 +83,26 @@ export const EditExistingInstance: Story = { mockT4CInstance, ]), }, + { + provide: ActivatedRoute, + useFactory: () => + new MockActivedRoute({ + instance: -1, + }), + }, ], }), ], + play: async ({ canvasElement }) => { + const canvas = within(canvasElement); + const editButton = canvas.getByTestId('edit-button'); + await userEvent.click(editButton); + }, }; export const ArchivedInstance: Story = { args: { - existing: true, isArchived: true, - capellaVersions: [mockToolVersion], }, decorators: [ moduleMetadata({ @@ -80,6 +114,13 @@ export const ArchivedInstance: Story = { mockT4CInstance, ]), }, + { + provide: ActivatedRoute, + useFactory: () => + new MockActivedRoute({ + instance: -1, + }), + }, ], }), ],