Skip to content

Commit 9a3dbb6

Browse files
committed
feat: add organization-managment & remove luigiCoreService
1 parent 051cb0c commit 9a3dbb6

File tree

4 files changed

+15
-20
lines changed

4 files changed

+15
-20
lines changed

projects/wc/src/app/components/organization-management/organization-management.component.spec.ts

Lines changed: 4 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -9,8 +9,7 @@ import { MutationResult } from '@apollo/client';
99
import { LuigiClient } from '@luigi-project/client/luigi-element';
1010
import {
1111
ClientEnvironment, EnvConfigService,
12-
I18nService,
13-
LuigiCoreService, LuigiGlobalContext, NodeContext,
12+
I18nService, LuigiGlobalContext, NodeContext,
1413
} from '@openmfp/portal-ui-lib';
1514
import { ResourceService } from '@platform-mesh/portal-ui-lib/services';
1615
import { of, throwError } from 'rxjs';
@@ -21,7 +20,6 @@ describe('OrganizationManagementComponent', () => {
2120
let fixture: ComponentFixture<OrganizationManagementComponent>;
2221
let resourceServiceMock: jest.Mocked<ResourceService>;
2322
let i18nServiceMock: jest.Mocked<I18nService>;
24-
let luigiCoreServiceMock: jest.Mocked<LuigiCoreService>;
2523
let envConfigServiceMock: jest.Mocked<EnvConfigService>;
2624
let luigiClientMock: jest.Mocked<LuigiClient>;
2725

@@ -36,11 +34,6 @@ describe('OrganizationManagementComponent', () => {
3634
getTranslation: jest.fn(),
3735
} as any;
3836

39-
luigiCoreServiceMock = {
40-
getGlobalContext: jest.fn(),
41-
showAlert: jest.fn(),
42-
} as any;
43-
4437
envConfigServiceMock = {
4538
getEnvConfig: jest.fn(),
4639
} as any;
@@ -56,7 +49,6 @@ describe('OrganizationManagementComponent', () => {
5649
providers: [
5750
{ provide: ResourceService, useValue: resourceServiceMock },
5851
{ provide: I18nService, useValue: i18nServiceMock },
59-
{ provide: LuigiCoreService, useValue: luigiCoreServiceMock },
6052
{ provide: EnvConfigService, useValue: envConfigServiceMock },
6153
],
6254
schemas: [CUSTOM_ELEMENTS_SCHEMA, NO_ERRORS_SCHEMA],
@@ -111,7 +103,8 @@ describe('OrganizationManagementComponent', () => {
111103
organization: 'org1',
112104
portalBaseUrl: 'https://test.com',
113105
};
114-
luigiCoreServiceMock.getGlobalContext.mockReturnValue(mockGlobalContext);
106+
107+
component.context = (() => mockGlobalContext) as any;
115108
resourceServiceMock.readOrganizations.mockReturnValue(
116109
of(mockOrganizations as any),
117110
);
@@ -158,7 +151,7 @@ describe('OrganizationManagementComponent', () => {
158151

159152
component.onboardOrganization();
160153

161-
expect(luigiCoreServiceMock.showAlert).toHaveBeenCalledWith({
154+
expect(component.LuigiClient().uxManager().showAlert).toHaveBeenCalledWith({
162155
text: 'Failure! Could not create organization: newOrg.',
163156
type: 'error',
164157
});

projects/wc/src/app/components/organization-management/organization-management.component.ts

Lines changed: 4 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -13,9 +13,8 @@ import { LuigiClient } from '@luigi-project/client/luigi-element';
1313
import {
1414
EnvConfigService,
1515
I18nService,
16-
LuigiCoreService,
1716
Resource,
18-
ResourceDefinition,
17+
ResourceDefinition
1918
} from '@openmfp/portal-ui-lib';
2019
import { ResourceNodeContext, ResourceService } from '@platform-mesh/portal-ui-lib/services';
2120
import { generateGraphQLFields } from '@platform-mesh/portal-ui-lib/utils';
@@ -47,7 +46,6 @@ import {
4746
export class OrganizationManagementComponent implements OnInit {
4847
private i18nService = inject(I18nService);
4948
private resourceService = inject(ResourceService);
50-
private luigiCoreService = inject(LuigiCoreService);
5149
private envConfigService = inject(EnvConfigService);
5250
context = input<ResourceNodeContext>();
5351
LuigiClient = input<LuigiClient>();
@@ -92,7 +90,7 @@ export class OrganizationManagementComponent implements OnInit {
9290
.map((o) => o.metadata.name)
9391
.filter(
9492
(o) =>
95-
o !== this.luigiCoreService.getGlobalContext().organization,
93+
o !== this.context()['organization']
9694
),
9795
);
9896
},
@@ -129,7 +127,7 @@ export class OrganizationManagementComponent implements OnInit {
129127
});
130128
},
131129
error: (error) => {
132-
this.luigiCoreService.showAlert({
130+
this.LuigiClient().uxManager().showAlert({
133131
text: `Failure! Could not create organization: ${resource.metadata.name}.`,
134132
type: 'error',
135133
});
@@ -185,7 +183,7 @@ export class OrganizationManagementComponent implements OnInit {
185183
const sanitizedOrg = this.sanitizeSubdomainInput(this.organizationToSwitch);
186184

187185
if (!sanitizedOrg) {
188-
this.luigiCoreService.showAlert({
186+
this.LuigiClient().uxManager().showAlert({
189187
text: 'Organization name is not valid for subdomain usage, accrording to RFC 1034/1123.',
190188
type: 'error',
191189
});

projects/wc/src/app/initializers/luigi-wc-initializer.spec.ts

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,11 @@
1-
import { ApplicationInitStatus, Injector } from '@angular/core';
1+
import { ApplicationInitStatus } from '@angular/core';
22
import { TestBed } from '@angular/core/testing';
33

4-
import { provideLuigiWebComponents } from './luigi-wc-initializer';
5-
import { ListViewComponent } from '../components/generic-ui/list-view/list-view.component';
64
import { DetailViewComponent } from '../components/generic-ui/detail-view/detail-view.component';
5+
import { ListViewComponent } from '../components/generic-ui/list-view/list-view.component';
6+
import { provideLuigiWebComponents } from './luigi-wc-initializer';
77

8+
import { OrganizationManagementComponent } from '../components/organization-management/organization-management.component';
89
import * as wc from '../utils/wc';
910

1011
describe('provideLuigiWebComponents', () => {
@@ -26,6 +27,7 @@ describe('provideLuigiWebComponents', () => {
2627
const expectedMap = {
2728
'generic-list-view': ListViewComponent,
2829
'generic-detail-view': DetailViewComponent,
30+
'organization-management': OrganizationManagementComponent,
2931
} as Record<string, any>;
3032

3133
// Validate first arg equals the components map

projects/wc/src/app/initializers/luigi-wc-initializer.ts

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
import { Injector, inject, provideAppInitializer } from '@angular/core';
22
import { DetailViewComponent } from '../components/generic-ui/detail-view/detail-view.component';
33
import { ListViewComponent } from '../components/generic-ui/list-view/list-view.component';
4+
import { OrganizationManagementComponent } from '../components/organization-management/organization-management.component';
45
import { registerLuigiWebComponents } from '../utils/wc';
56

67
export const provideLuigiWebComponents = () =>
@@ -10,6 +11,7 @@ export const provideLuigiWebComponents = () =>
1011
{
1112
'generic-list-view': ListViewComponent,
1213
'generic-detail-view': DetailViewComponent,
14+
'organization-management': OrganizationManagementComponent,
1315
},
1416
injector,
1517
);

0 commit comments

Comments
 (0)