Skip to content

Commit af366bb

Browse files
sam0r040timonback
andcommitted
chore(springwolf-ui): adapt component tests
Co-authored-by: Timon Back <timonback@users.noreply.github.com>
1 parent 7c92e7c commit af366bb

18 files changed

+206
-208
lines changed

springwolf-ui/src/app/app.component.spec.ts

Lines changed: 0 additions & 12 deletions
This file was deleted.
Lines changed: 28 additions & 29 deletions
Original file line numberDiff line numberDiff line change
@@ -1,34 +1,33 @@
11
/* SPDX-License-Identifier: Apache-2.0 */
2-
import {Component} from "@angular/core";
3-
import {MaterialModule} from "./material.module";
4-
import {FormsModule} from "@angular/forms";
5-
import {MarkdownModule} from "ngx-markdown";
6-
import {SchemasComponent} from "./components/schemas/schemas.component";
7-
import {InfoComponent} from "./components/info/info.component";
8-
import {ServersComponent} from "./components/servers/servers.component";
9-
import {ChannelsComponent} from "./components/channels/channels.component";
10-
import {SidenavComponent} from "./components/sidenav/sidenav.component";
11-
import {HeaderComponent} from "./components/header/header.component";
12-
import {CommonModule} from "@angular/common";
13-
import {NavigationTargetDirective} from "./components/sidenav/navigation.directive";
14-
2+
import { Component } from "@angular/core";
3+
import { MaterialModule } from "./material.module";
4+
import { FormsModule } from "@angular/forms";
5+
import { MarkdownModule } from "ngx-markdown";
6+
import { SchemasComponent } from "./components/schemas/schemas.component";
7+
import { InfoComponent } from "./components/info/info.component";
8+
import { ServersComponent } from "./components/servers/servers.component";
9+
import { ChannelsComponent } from "./components/channels/channels.component";
10+
import { SidenavComponent } from "./components/sidenav/sidenav.component";
11+
import { HeaderComponent } from "./components/header/header.component";
12+
import { CommonModule } from "@angular/common";
13+
import { NavigationTargetDirective } from "./components/sidenav/navigation.directive";
1514

1615
@Component({
17-
selector: "app-root",
18-
templateUrl: "./app.component.html",
19-
styleUrls: ["./app.component.css"],
20-
imports: [
21-
CommonModule,
22-
MaterialModule,
23-
FormsModule,
24-
MarkdownModule,
25-
HeaderComponent,
26-
SidenavComponent,
27-
InfoComponent,
28-
ServersComponent,
29-
ChannelsComponent,
30-
SchemasComponent,
31-
NavigationTargetDirective
32-
],
16+
selector: "app-root",
17+
templateUrl: "./app.component.html",
18+
styleUrls: ["./app.component.css"],
19+
imports: [
20+
CommonModule,
21+
MaterialModule,
22+
FormsModule,
23+
MarkdownModule,
24+
HeaderComponent,
25+
SidenavComponent,
26+
InfoComponent,
27+
ServersComponent,
28+
ChannelsComponent,
29+
SchemasComponent,
30+
NavigationTargetDirective,
31+
],
3332
})
3433
export class AppComponent {}
Lines changed: 23 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -1,16 +1,23 @@
1-
import {ApplicationConfig, importProvidersFrom} from "@angular/core";
2-
import {provideAnimationsAsync} from "@angular/platform-browser/animations/async";
3-
import {provideHttpClient, withInterceptorsFromDi} from "@angular/common/http";
4-
import {environment} from "../environments/environment";
5-
import {InMemoryWebApiModule} from "angular-in-memory-web-api";
6-
import {MockServer} from "./service/mock/mock-server";
7-
import {provideMarkdown} from "ngx-markdown";
8-
import {AssetService, IAssetService} from "./service/asset.service";
9-
import {AsyncApiService} from "./service/asyncapi/asyncapi.service";
10-
import {AsyncApiMapperService} from "./service/asyncapi/asyncapi-mapper.service";
11-
import {INotificationService, NotificationService} from "./service/notification.service";
12-
import {PublisherService} from "./service/publisher.service";
13-
import {IUiService, UiService} from "./service/ui.service";
1+
/* SPDX-License-Identifier: Apache-2.0 */
2+
import { ApplicationConfig, importProvidersFrom } from "@angular/core";
3+
import { provideAnimationsAsync } from "@angular/platform-browser/animations/async";
4+
import {
5+
provideHttpClient,
6+
withInterceptorsFromDi,
7+
} from "@angular/common/http";
8+
import { environment } from "../environments/environment";
9+
import { InMemoryWebApiModule } from "angular-in-memory-web-api";
10+
import { MockServer } from "./service/mock/mock-server";
11+
import { provideMarkdown } from "ngx-markdown";
12+
import { AssetService, IAssetService } from "./service/asset.service";
13+
import { AsyncApiService } from "./service/asyncapi/asyncapi.service";
14+
import { AsyncApiMapperService } from "./service/asyncapi/asyncapi-mapper.service";
15+
import {
16+
INotificationService,
17+
NotificationService,
18+
} from "./service/notification.service";
19+
import { PublisherService } from "./service/publisher.service";
20+
import { IUiService, UiService } from "./service/ui.service";
1421

1522
export const appConfig: ApplicationConfig = {
1623
providers: [
@@ -20,8 +27,8 @@ export const appConfig: ApplicationConfig = {
2027
environment.production
2128
? []
2229
: importProvidersFrom(
23-
InMemoryWebApiModule.forRoot(MockServer, { delay: 100 })
24-
),
30+
InMemoryWebApiModule.forRoot(MockServer, { delay: 100 })
31+
),
2532
provideMarkdown(),
2633

2734
{ provide: IAssetService, useClass: AssetService },
@@ -31,5 +38,4 @@ export const appConfig: ApplicationConfig = {
3138
PublisherService,
3239
{ provide: IUiService, useClass: UiService },
3340
],
34-
35-
}
41+
};

springwolf-ui/src/app/components/channels/channel-main/channel-operation.component.ts

Lines changed: 34 additions & 31 deletions
Original file line numberDiff line numberDiff line change
@@ -1,24 +1,28 @@
11
/* SPDX-License-Identifier: Apache-2.0 */
2-
import {Component, computed, input, OnInit} from "@angular/core";
3-
import {MatSnackBar} from "@angular/material/snack-bar";
4-
import {STATUS} from "angular-in-memory-web-api";
5-
import {Binding} from "../../../models/bindings.model";
6-
import {Example} from "../../../models/example.model";
7-
import {Operation} from "../../../models/operation.model";
8-
import {Schema} from "../../../models/schema.model";
9-
import {AsyncApiService} from "../../../service/asyncapi/asyncapi.service";
10-
import {PublisherService} from "../../../service/publisher.service";
11-
import {wrapException} from "../../../util/error-boundary";
12-
import {initExample, initSchema, noExample,} from "../../../service/mock/init-values";
13-
import {IUiService} from "../../../service/ui.service";
14-
import {CommonModule} from "@angular/common";
15-
import {MarkdownModule} from "ngx-markdown";
16-
import {MatChipsModule} from "@angular/material/chips";
17-
import {MatIconModule} from "@angular/material/icon";
18-
import {PrismEditorComponent} from "../../code/prism-editor.component";
19-
import {SchemaComponent} from "../../schema/schema.component";
20-
import {CdkCopyToClipboard} from "@angular/cdk/clipboard";
21-
import {MatButtonModule} from "@angular/material/button";
2+
import { Component, computed, input, OnInit } from "@angular/core";
3+
import { MatSnackBar } from "@angular/material/snack-bar";
4+
import { STATUS } from "angular-in-memory-web-api";
5+
import { Binding } from "../../../models/bindings.model";
6+
import { Example } from "../../../models/example.model";
7+
import { Operation } from "../../../models/operation.model";
8+
import { Schema } from "../../../models/schema.model";
9+
import { AsyncApiService } from "../../../service/asyncapi/asyncapi.service";
10+
import { PublisherService } from "../../../service/publisher.service";
11+
import { wrapException } from "../../../util/error-boundary";
12+
import {
13+
initExample,
14+
initSchema,
15+
noExample,
16+
} from "../../../service/mock/init-values";
17+
import { IUiService } from "../../../service/ui.service";
18+
import { CommonModule } from "@angular/common";
19+
import { MarkdownModule } from "ngx-markdown";
20+
import { MatChipsModule } from "@angular/material/chips";
21+
import { MatIconModule } from "@angular/material/icon";
22+
import { PrismEditorComponent } from "../../code/prism-editor.component";
23+
import { SchemaComponent } from "../../schema/schema.component";
24+
import { ClipboardModule } from "@angular/cdk/clipboard";
25+
import { MatButtonModule } from "@angular/material/button";
2226

2327
@Component({
2428
selector: "app-channel-operation",
@@ -31,9 +35,9 @@ import {MatButtonModule} from "@angular/material/button";
3135
MatIconModule,
3236
PrismEditorComponent,
3337
SchemaComponent,
34-
CdkCopyToClipboard,
35-
MatButtonModule
36-
]
38+
ClipboardModule,
39+
MatButtonModule,
40+
],
3741
})
3842
export class ChannelOperationComponent implements OnInit {
3943
channelName = input.required<string>();
@@ -62,8 +66,7 @@ export class ChannelOperationComponent implements OnInit {
6266
private publisherService: PublisherService,
6367
private uiService: IUiService,
6468
private snackBar: MatSnackBar
65-
) {
66-
}
69+
) {}
6770

6871
ngOnInit(): void {
6972
this.asyncApiService.getAsyncApi().subscribe((asyncapi) => {
@@ -156,16 +159,16 @@ export class ChannelOperationComponent implements OnInit {
156159
headers === ""
157160
? {}
158161
: wrapException(
159-
"Unable to convert headers to JSON object (nor is empty)",
160-
() => JSON.parse(headers || "")
161-
);
162+
"Unable to convert headers to JSON object (nor is empty)",
163+
() => JSON.parse(headers || "")
164+
);
162165
const bindingsJson =
163166
bindings === ""
164167
? {}
165168
: wrapException(
166-
"Unable to convert bindings to JSON object (nor is empty)",
167-
() => JSON.parse(bindings || "")
168-
);
169+
"Unable to convert bindings to JSON object (nor is empty)",
170+
() => JSON.parse(bindings || "")
171+
);
169172

170173
this.publisherService
171174
.publish(

springwolf-ui/src/app/components/channels/channels.component.spec.ts

Lines changed: 12 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,14 +13,25 @@ import {
1313
MockPrismEditorComponent,
1414
} from "../mock-components.spec";
1515
import { IUiService } from "../../service/ui.service";
16+
import { CommonModule } from "@angular/common";
17+
import { PrismEditorComponent } from "../code/prism-editor.component";
18+
import { MatCardModule } from "@angular/material/card";
19+
import { NavigationTargetDirective } from "../sidenav/navigation.directive";
1620

1721
describe("ChannelsNewComponent", () => {
1822
beforeEach(async () => {
1923
mockedAsyncApiService.getAsyncApi.mockClear();
2024

2125
await render(ChannelsComponent, {
2226
imports: [MaterialModule],
23-
declarations: [MockChannelOperationComponent, MockPrismEditorComponent],
27+
declarations: [MockPrismEditorComponent],
28+
componentImports: [
29+
MockChannelOperationComponent,
30+
PrismEditorComponent,
31+
CommonModule,
32+
MatCardModule,
33+
NavigationTargetDirective,
34+
],
2435
providers: [
2536
{ provide: IUiService, useValue: mockedUiService },
2637
{ provide: AsyncApiService, useValue: mockedAsyncApiService },

springwolf-ui/src/app/components/channels/channels.component.ts

Lines changed: 14 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -1,25 +1,25 @@
11
/* SPDX-License-Identifier: Apache-2.0 */
2-
import {Component, OnInit} from "@angular/core";
3-
import {AsyncApiService} from "../../service/asyncapi/asyncapi.service";
4-
import {Channel} from "../../models/channel.model";
5-
import {IUiService} from "../../service/ui.service";
6-
import {PrismEditorComponent} from "../code/prism-editor.component";
7-
import {CommonModule} from "@angular/common";
8-
import {MatCardModule} from "@angular/material/card";
9-
import {ChannelOperationComponent} from "./channel-main/channel-operation.component";
10-
import {NavigationTargetDirective} from "../sidenav/navigation.directive";
2+
import { Component, OnInit } from "@angular/core";
3+
import { AsyncApiService } from "../../service/asyncapi/asyncapi.service";
4+
import { Channel } from "../../models/channel.model";
5+
import { IUiService } from "../../service/ui.service";
6+
import { PrismEditorComponent } from "../code/prism-editor.component";
7+
import { CommonModule } from "@angular/common";
8+
import { MatCardModule } from "@angular/material/card";
9+
import { ChannelOperationComponent } from "./channel-main/channel-operation.component";
10+
import { NavigationTargetDirective } from "../sidenav/navigation.directive";
1111

1212
@Component({
13-
selector: "app-channels",
14-
templateUrl: "./channels.component.html",
15-
styleUrls: ["./channels.component.css"],
13+
selector: "app-channels",
14+
templateUrl: "./channels.component.html",
15+
styleUrls: ["./channels.component.css"],
1616
imports: [
1717
PrismEditorComponent,
1818
CommonModule,
1919
MatCardModule,
2020
ChannelOperationComponent,
21-
NavigationTargetDirective
22-
]
21+
NavigationTargetDirective,
22+
],
2323
})
2424
export class ChannelsComponent implements OnInit {
2525
channels: Channel[] = [];

springwolf-ui/src/app/components/code/prism-editor.component.ts

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -23,15 +23,15 @@ import "prism-code-editor/prism/languages/markdown";
2323
import "prism-code-editor/prism/languages/xml";
2424

2525
@Component({
26-
selector: "app-prism-editor",
27-
template: "<div #editorContainer></div>",
28-
styles: [
29-
`
26+
selector: "app-prism-editor",
27+
template: "<div #editorContainer></div>",
28+
styles: [
29+
`
3030
:host > div {
3131
margin-bottom: 0.5em;
3232
}
3333
`,
34-
],
34+
],
3535
})
3636
export class PrismEditorComponent implements AfterViewInit, OnChanges {
3737
code = model<string>("");

springwolf-ui/src/app/components/header/header.component.spec.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ import { HeaderComponent } from "./header.component";
44
import { render, screen, fireEvent } from "@testing-library/angular";
55
import { AsyncApiService } from "../../service/asyncapi/asyncapi.service";
66
import { mockedAsyncApiService } from "../../service/mock/mock-asyncapi.service";
7-
import { MatMenuModule } from "@angular/material/menu";
7+
import { MatMenu, MatMenuModule } from "@angular/material/menu";
88
import { IAssetService } from "../../service/asset.service";
99
import { mockedAssetService } from "../../service/mock/mock-asset.service";
1010
import {
@@ -18,7 +18,7 @@ describe("HeaderComponent", () => {
1818
beforeEach(async () => {
1919
await render(HeaderComponent, {
2020
declarations: [MockMatIcon],
21-
imports: [MatToolbarModule, MatMenuModule],
21+
imports: [MatToolbarModule, MatMenuModule, MatMenu],
2222
providers: [
2323
{ provide: IUiService, useValue: mockedUiService },
2424
{ provide: IAssetService, useValue: mockedAssetService },

springwolf-ui/src/app/components/header/header.component.ts

Lines changed: 19 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -1,30 +1,30 @@
11
/* SPDX-License-Identifier: Apache-2.0 */
2-
import {Component, OnInit} from "@angular/core";
3-
import {IUiService} from "../../service/ui.service";
4-
import {AsyncApiService} from "../../service/asyncapi/asyncapi.service";
5-
import {IAssetService} from "../../service/asset.service";
6-
import {CommonModule} from "@angular/common";
7-
import {MatButtonModule} from "@angular/material/button";
8-
import {MatMenuModule} from "@angular/material/menu";
9-
import {MatToolbarModule} from "@angular/material/toolbar";
10-
import {MatIconModule} from "@angular/material/icon";
2+
import { Component, OnInit } from "@angular/core";
3+
import { IUiService } from "../../service/ui.service";
4+
import { AsyncApiService } from "../../service/asyncapi/asyncapi.service";
5+
import { IAssetService } from "../../service/asset.service";
6+
import { CommonModule } from "@angular/common";
7+
import { MatButtonModule } from "@angular/material/button";
8+
import { MatMenuModule } from "@angular/material/menu";
9+
import { MatToolbarModule } from "@angular/material/toolbar";
10+
import { MatIconModule } from "@angular/material/icon";
1111

1212
interface Group {
1313
value: string;
1414
viewValue: string;
1515
}
1616

1717
@Component({
18-
selector: "app-header",
19-
templateUrl: "./header.component.html",
20-
styleUrls: ["./header.component.css"],
21-
imports: [
22-
MatToolbarModule,
23-
MatButtonModule,
24-
MatMenuModule,
25-
MatIconModule,
26-
CommonModule,
27-
]
18+
selector: "app-header",
19+
templateUrl: "./header.component.html",
20+
styleUrls: ["./header.component.css"],
21+
imports: [
22+
MatToolbarModule,
23+
MatButtonModule,
24+
MatMenuModule,
25+
MatIconModule,
26+
CommonModule,
27+
],
2828
})
2929
export class HeaderComponent implements OnInit {
3030
groups: Group[] = [];

0 commit comments

Comments
 (0)