From d3350df7e85d7b5cf36ec071351efd96938471d3 Mon Sep 17 00:00:00 2001 From: 4gray Date: Thu, 25 Feb 2021 21:19:32 +0100 Subject: [PATCH] test: scaffold test file --- src/app/settings/settings.component.spec.ts | 67 +++++++++++++++++++++ 1 file changed, 67 insertions(+) create mode 100644 src/app/settings/settings.component.spec.ts diff --git a/src/app/settings/settings.component.spec.ts b/src/app/settings/settings.component.spec.ts new file mode 100644 index 000000000..b9d37d9b0 --- /dev/null +++ b/src/app/settings/settings.component.spec.ts @@ -0,0 +1,67 @@ +import { MatFormFieldModule } from '@angular/material/form-field'; +import { MatListModule } from '@angular/material/list'; +import { MatCardModule } from '@angular/material/card'; +import { HeaderComponent } from './../shared/components/header/header.component'; +import { TranslateServiceStub } from './../../testing/translate.stub'; +import { RouterTestingModule } from '@angular/router/testing'; +import { SettingsComponent } from './settings.component'; +import { MatTooltipModule } from '@angular/material/tooltip'; +import { TranslatePipe, TranslateService } from '@ngx-translate/core'; +import { ComponentFixture, TestBed, waitForAsync } from '@angular/core/testing'; +import { MockModule, MockPipe, MockComponent } from 'ng-mocks'; +import { MatSidenavModule } from '@angular/material/sidenav'; +import { MatIconModule } from '@angular/material/icon'; +import { MatToolbarModule } from '@angular/material/toolbar'; +import { MatSnackBar } from '@angular/material/snack-bar'; +import { FormsModule, ReactiveFormsModule } from '@angular/forms'; +import { HttpClientTestingModule } from '@angular/common/http/testing'; + +class MatSnackBarStub { + open(): void {} +} + +describe('SettingsComponent', () => { + let component: SettingsComponent; + let fixture: ComponentFixture; + + beforeEach( + waitForAsync(() => { + TestBed.configureTestingModule({ + declarations: [ + SettingsComponent, + MockComponent(HeaderComponent), + MockPipe(TranslatePipe), + ], + providers: [ + { provide: MatSnackBar, useClass: MatSnackBarStub }, + { + provide: TranslateService, + useClass: TranslateServiceStub, + }, + ], + imports: [ + HttpClientTestingModule, + MockModule(FormsModule), + MockModule(MatSidenavModule), + MockModule(MatIconModule), + MockModule(MatToolbarModule), + MockModule(MatTooltipModule), + MockModule(ReactiveFormsModule), + MockModule(RouterTestingModule), + MockModule(MatCardModule), + MockModule(MatListModule), + MockModule(MatFormFieldModule), + ], + }).compileComponents(); + }) + ); + + beforeEach(() => { + fixture = TestBed.createComponent(SettingsComponent); + component = fixture.componentInstance; + }); + + it('should create and init component', () => { + expect(component).toBeTruthy(); + }); +});