Skip to content

Commit

Permalink
test(ui): cover all components
Browse files Browse the repository at this point in the history
Are absent

Refs springwolf#378
  • Loading branch information
aerfus committed Mar 27, 2024
1 parent e1e38ba commit 54b799e
Show file tree
Hide file tree
Showing 7 changed files with 215 additions and 16 deletions.
Original file line number Diff line number Diff line change
@@ -0,0 +1,46 @@
/* SPDX-License-Identifier: Apache-2.0 */
import { AsyncApiService } from "../../../service/asyncapi/asyncapi.service";
import { ComponentFixture, TestBed } from "@angular/core/testing";
import { ChannelMainComponent } from "./channel-main.component";
import { PublisherService } from "../../../service/publisher.service";
import { MatDivider } from "@angular/material/divider";
import { MatTab, MatTabGroup, MatTabHeader } from "@angular/material/tabs";
import { JsonComponent } from "../../json/json.component";
import { MarkdownModule } from "ngx-markdown";

describe("ChannelMainComponent", () => {
let component: ChannelMainComponent;
let fixture: ComponentFixture<ChannelMainComponent>;

let mockedAsyncApiService = {
getAsyncApi: jest.fn(),
};
let mockedPublisherService = {
getAsyncApi: jest.fn(),
};

beforeEach(() => {
TestBed.configureTestingModule({
declarations: [
ChannelMainComponent,
JsonComponent,
MatDivider,
MatTabGroup,
MatTab,
MatTabHeader,
],
imports: [MarkdownModule.forRoot()],
providers: [
{ provide: AsyncApiService, useValue: mockedAsyncApiService },
{ provide: PublisherService, useValue: mockedPublisherService },
],
}).compileComponents();

fixture = TestBed.createComponent(ChannelMainComponent as any);
component = fixture.debugElement.componentInstance;
});

it("should create the component", () => {
expect(component).toBeTruthy();
});
});
Original file line number Diff line number Diff line change
@@ -0,0 +1,30 @@
/* SPDX-License-Identifier: Apache-2.0 */
import { AsyncApiService } from "../../service/asyncapi/asyncapi.service";
import { ComponentFixture, TestBed } from "@angular/core/testing";
import { ChannelsComponent } from "./channels.component";
import { MatAccordion } from "@angular/material/expansion";

describe("ChannelsComponent", () => {
let component: ChannelsComponent;
let fixture: ComponentFixture<ChannelsComponent>;

let mockedAsyncApiService = {
getAsyncApi: jest.fn(),
};

beforeEach(() => {
TestBed.configureTestingModule({
declarations: [ChannelsComponent, MatAccordion],
providers: [
{ provide: AsyncApiService, useValue: mockedAsyncApiService },
],
}).compileComponents();

fixture = TestBed.createComponent(ChannelsComponent as any);
component = fixture.debugElement.componentInstance;
});

it("should create the component", () => {
expect(component).toBeTruthy();
});
});
23 changes: 23 additions & 0 deletions springwolf-ui/src/app/components/header/header.component.spec.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@
/* SPDX-License-Identifier: Apache-2.0 */
import { MatToolbarModule } from "@angular/material/toolbar";
import { HeaderComponent } from "./header.component";
import { ComponentFixture, TestBed } from "@angular/core/testing";

describe("HeaderComponent", () => {
let component: HeaderComponent;
let fixture: ComponentFixture<HeaderComponent>;

beforeEach(() => {
TestBed.configureTestingModule({
declarations: [HeaderComponent],
imports: [MatToolbarModule],
}).compileComponents();

fixture = TestBed.createComponent(HeaderComponent as any);
component = fixture.debugElement.componentInstance;
});

it("should create the component", () => {
expect(component).toBeTruthy();
});
});
28 changes: 12 additions & 16 deletions springwolf-ui/src/app/components/info/info.component.spec.ts
Original file line number Diff line number Diff line change
@@ -1,10 +1,10 @@
/* SPDX-License-Identifier: Apache-2.0 */
import {ComponentFixture, TestBed} from "@angular/core/testing";
import {InfoComponent} from "./info.component";
import {AsyncApiService} from "../../service/asyncapi/asyncapi.service";
import {of} from "rxjs/internal/observable/of";
import {MatChipsModule} from "@angular/material/chips";
import {MarkdownModule} from "ngx-markdown";
import { ComponentFixture, TestBed } from "@angular/core/testing";
import { InfoComponent } from "./info.component";
import { AsyncApiService } from "../../service/asyncapi/asyncapi.service";
import { of } from "rxjs/internal/observable/of";
import { MatChipsModule } from "@angular/material/chips";
import { MarkdownModule } from "ngx-markdown";

describe("InfoComponent", function () {
let component: InfoComponent;
Expand All @@ -20,14 +20,14 @@ describe("InfoComponent", function () {
url: "https://test.com",
email: {
name: "springwolf",
href: "link"
}
href: "link",
},
},
license: {
name: "Apache License 2.0"
name: "Apache License 2.0",
},
asyncApiJson: null,
}
};

beforeEach(() => {
mockedAsyncApiService = {
Expand All @@ -38,7 +38,7 @@ describe("InfoComponent", function () {
declarations: [InfoComponent],
imports: [MatChipsModule, MarkdownModule.forRoot()],
providers: [
{provide: AsyncApiService, useValue: mockedAsyncApiService},
{ provide: AsyncApiService, useValue: mockedAsyncApiService },
],
}).compileComponents();

Expand All @@ -56,9 +56,7 @@ describe("InfoComponent", function () {

fixture.detectChanges();
const compiled = fixture.debugElement.nativeElement;
expect(compiled.querySelector("h1").textContent).toContain(
"title"
);
expect(compiled.querySelector("h1").textContent).toContain("title");
expect(compiled.querySelector("h5").textContent).toContain(
" API version 1.0.0 - Download AsyncAPI file"
);
Expand All @@ -73,6 +71,4 @@ describe("InfoComponent", function () {
"License: Apache License 2.0 https://test.com springwolf "
);
});

});

Original file line number Diff line number Diff line change
@@ -0,0 +1,47 @@
/* SPDX-License-Identifier: Apache-2.0 */
import { ComponentFixture, TestBed } from "@angular/core/testing";

import { SchemaComponent } from "./schema.component";
import { SchemaRangeComponent } from "../range/schema-range.component";
import { MatChipsModule } from "@angular/material/chips";
import { MarkdownModule } from "ngx-markdown";
import { Example } from "../../../models/example.model";

describe("SchemaComponent", () => {
let component: SchemaComponent;
let fixture: ComponentFixture<SchemaComponent>;

let mockedSchemaRangeComponent = jest.mock("../range/schema-range.component");

beforeEach(() => {
TestBed.configureTestingModule({
declarations: [SchemaComponent, SchemaRangeComponent],
imports: [MatChipsModule, MarkdownModule.forRoot()],
providers: [
{ provide: SchemaRangeComponent, useValue: mockedSchemaRangeComponent },
],
}).compileComponents();

fixture = TestBed.createComponent(SchemaComponent as any);
component = fixture.debugElement.componentInstance;
});

it("should create the component", () => {
expect(component).toBeTruthy();
});

it("should render primitive string", async () => {
component.schema = {
title: "String",
type: "string",
example: new Example("string"),
};

fixture.detectChanges();
const compiled = fixture.debugElement.nativeElement;
expect(compiled.querySelector(".type").textContent).toContain("string");
expect(compiled.querySelector(".example").textContent).toContain(
"example: string"
);
});
});
30 changes: 30 additions & 0 deletions springwolf-ui/src/app/components/schemas/schemas.component.spec.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,30 @@
/* SPDX-License-Identifier: Apache-2.0 */
import { ComponentFixture, TestBed } from "@angular/core/testing";
import { SchemasComponent } from "./schemas.component";
import { AsyncApiService } from "../../service/asyncapi/asyncapi.service";
import { MatAccordion } from "@angular/material/expansion";

describe("SchemasComponent", () => {
let component: SchemasComponent;
let fixture: ComponentFixture<SchemasComponent>;

let mockedAsyncApiService = {
getAsyncApi: jest.fn(),
};

beforeEach(() => {
TestBed.configureTestingModule({
declarations: [SchemasComponent, MatAccordion],
providers: [
{ provide: AsyncApiService, useValue: mockedAsyncApiService },
],
}).compileComponents();

fixture = TestBed.createComponent(SchemasComponent as any);
component = fixture.debugElement.componentInstance;
});

it("should create the component", () => {
expect(component).toBeTruthy();
});
});
27 changes: 27 additions & 0 deletions springwolf-ui/src/app/components/servers/servers.component.spec.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,27 @@
/* SPDX-License-Identifier: Apache-2.0 */
import { ComponentFixture, TestBed } from "@angular/core/testing";
import { ServersComponent } from "./servers.component";
import { AsyncApiService } from "../../service/asyncapi/asyncapi.service";

describe("ServerComponent", () => {
let component: ServersComponent;
let fixture: ComponentFixture<ServersComponent>;

let mockedAsyncApiService!: { getAsyncApi: jest.Mock };

beforeEach(() => {
TestBed.configureTestingModule({
declarations: [ServersComponent],
providers: [
{ provide: AsyncApiService, useValue: mockedAsyncApiService },
],
}).compileComponents();

fixture = TestBed.createComponent(ServersComponent as any);
component = fixture.debugElement.componentInstance;
});

it("should create the component", () => {
expect(component).toBeTruthy();
});
});

0 comments on commit 54b799e

Please sign in to comment.