diff --git a/src/app/app.component.spec.ts b/src/app/app.component.spec.ts index f6fe445e..e3c06260 100644 --- a/src/app/app.component.spec.ts +++ b/src/app/app.component.spec.ts @@ -14,7 +14,7 @@ * this program. If not, see . */ import {CUSTOM_ELEMENTS_SCHEMA} from '@angular/core'; -import {TestBed, waitForAsync} from '@angular/core/testing'; +import {TestBed} from '@angular/core/testing'; import {Platform} from '@ionic/angular'; @@ -43,68 +43,64 @@ describe('AppComponent', () => { let platformIsSpy; let storageProvider: jasmine.SpyObj; - beforeEach( - waitForAsync(() => { - platformReadySpy = Promise.resolve(); - platformIsSpy = Promise.resolve(); - platformSpy = jasmine.createSpyObj('Platform', { - ready: platformReadySpy, - is: platformIsSpy, - }); - translateServiceSpy = jasmine.createSpyObj('TranslateService', [ - 'setDefaultLang', - 'use', - ]); - thingTranslateServiceSpy = jasmine.createSpyObj('ThingTranslateService', [ - 'init', - ]); - settingsProvider = jasmine.createSpyObj('SettingsProvider', [ - 'getSettingValue', - 'provideSetting', - 'setCategoriesOrder', - ]); - scheduleSyncServiceSpy = jasmine.createSpyObj('ScheduleSyncService', [ - 'getDifferences', - 'postDifferencesNotification', - ]); - configProvider = jasmine.createSpyObj('ConfigProvider', [ - 'init', - 'getAnyValue', - ]); - configProvider.getAnyValue = jasmine - .createSpy() - .and.callFake(function () { - return sampleAuthConfiguration; - }); - ngxLogger = jasmine.createSpyObj('NGXLogger', ['log', 'error', 'warn']); - storageProvider = jasmine.createSpyObj('StorageProvider', [ - 'init', - 'get', - 'has', - 'put', - ]); + beforeEach(() => { + platformReadySpy = Promise.resolve(); + platformIsSpy = Promise.resolve(); + platformSpy = jasmine.createSpyObj('Platform', { + ready: platformReadySpy, + is: platformIsSpy, + }); + translateServiceSpy = jasmine.createSpyObj('TranslateService', [ + 'setDefaultLang', + 'use', + ]); + thingTranslateServiceSpy = jasmine.createSpyObj('ThingTranslateService', [ + 'init', + ]); + settingsProvider = jasmine.createSpyObj('SettingsProvider', [ + 'getSettingValue', + 'provideSetting', + 'setCategoriesOrder', + ]); + scheduleSyncServiceSpy = jasmine.createSpyObj('ScheduleSyncService', [ + 'getDifferences', + 'postDifferencesNotification', + ]); + configProvider = jasmine.createSpyObj('ConfigProvider', [ + 'init', + 'getAnyValue', + ]); + configProvider.getAnyValue = jasmine.createSpy().and.callFake(function () { + return sampleAuthConfiguration; + }); + ngxLogger = jasmine.createSpyObj('NGXLogger', ['log', 'error', 'warn']); + storageProvider = jasmine.createSpyObj('StorageProvider', [ + 'init', + 'get', + 'has', + 'put', + ]); - TestBed.configureTestingModule({ - imports: [ - RouterTestingModule.withRoutes([]), - HttpClientTestingModule, - AuthModule, - ], - declarations: [AppComponent], - providers: [ - {provide: Platform, useValue: platformSpy}, - {provide: TranslateService, useValue: translateServiceSpy}, - {provide: ThingTranslateService, useValue: thingTranslateServiceSpy}, - {provide: ScheduleSyncService, useValue: scheduleSyncServiceSpy}, - {provide: SettingsProvider, useValue: settingsProvider}, - {provide: ConfigProvider, useValue: configProvider}, - {provide: NGXLogger, useValue: ngxLogger}, - {provide: StorageProvider, useValue: storageProvider}, - ], - schemas: [CUSTOM_ELEMENTS_SCHEMA], - }).compileComponents(); - }), - ); + TestBed.configureTestingModule({ + imports: [ + RouterTestingModule.withRoutes([]), + HttpClientTestingModule, + AuthModule, + ], + declarations: [AppComponent], + providers: [ + {provide: Platform, useValue: platformSpy}, + {provide: TranslateService, useValue: translateServiceSpy}, + {provide: ThingTranslateService, useValue: thingTranslateServiceSpy}, + {provide: ScheduleSyncService, useValue: scheduleSyncServiceSpy}, + {provide: SettingsProvider, useValue: settingsProvider}, + {provide: ConfigProvider, useValue: configProvider}, + {provide: NGXLogger, useValue: ngxLogger}, + {provide: StorageProvider, useValue: storageProvider}, + ], + schemas: [CUSTOM_ELEMENTS_SCHEMA], + }).compileComponents(); + }); it('should create the app', () => { const fixture = TestBed.createComponent(AppComponent); diff --git a/src/app/modules/data/detail/data-detail.component.spec.ts b/src/app/modules/data/detail/data-detail.component.spec.ts index c4a40763..11db1e47 100644 --- a/src/app/modules/data/detail/data-detail.component.spec.ts +++ b/src/app/modules/data/detail/data-detail.component.spec.ts @@ -14,7 +14,7 @@ * this program. If not, see . */ import {CUSTOM_ELEMENTS_SCHEMA, DebugElement} from '@angular/core'; -import {ComponentFixture, TestBed, waitForAsync} from '@angular/core/testing'; +import {ComponentFixture, TestBed} from '@angular/core/testing'; import {ActivatedRoute, RouterModule} from '@angular/router'; import {IonRefresher, IonTitle} from '@ionic/angular'; import { @@ -71,33 +71,31 @@ describe('DataDetailComponent', () => { 'search', ]); - beforeEach( - waitForAsync(() => { - TestBed.configureTestingModule({ - imports: [ - RouterModule.forRoot([], {relativeLinkResolution: 'legacy'}), - DataRoutingModule, - DataModule, - TranslateModule.forRoot({ - loader: {provide: TranslateLoader, useClass: TranslateFakeLoader}, - }), - ], - providers: [ - { - provide: ActivatedRoute, - useValue: fakeActivatedRoute, - }, - { - provide: StorageProvider, - useValue: storageProviderSpy, - }, - ], - schemas: [CUSTOM_ELEMENTS_SCHEMA], - }).compileComponents(); - }), - ); + beforeEach(() => { + TestBed.configureTestingModule({ + imports: [ + RouterModule.forRoot([], {relativeLinkResolution: 'legacy'}), + DataRoutingModule, + DataModule, + TranslateModule.forRoot({ + loader: {provide: TranslateLoader, useClass: TranslateFakeLoader}, + }), + ], + providers: [ + { + provide: ActivatedRoute, + useValue: fakeActivatedRoute, + }, + { + provide: StorageProvider, + useValue: storageProviderSpy, + }, + ], + schemas: [CUSTOM_ELEMENTS_SCHEMA], + }).compileComponents(); + }); - beforeEach(async () => { + beforeEach(() => { dataProvider = TestBed.get(DataProvider); translateService = TestBed.get(TranslateService); refresher = jasmine.createSpyObj('refresher', ['complete']); @@ -105,7 +103,7 @@ describe('DataDetailComponent', () => { Promise.resolve(sampleThing), ); spyOn(DataDetailComponent.prototype, 'getItem').and.callThrough(); - fixture = await TestBed.createComponent(DataDetailComponent); + fixture = TestBed.createComponent(DataDetailComponent); comp = fixture.componentInstance; detailPage = fixture.debugElement; translateService.use('foo'); diff --git a/src/app/modules/data/list/data-list.component.spec.ts b/src/app/modules/data/list/data-list.component.spec.ts index a8818770..e60a1f98 100644 --- a/src/app/modules/data/list/data-list.component.spec.ts +++ b/src/app/modules/data/list/data-list.component.spec.ts @@ -1,4 +1,4 @@ -import {ComponentFixture, TestBed, waitForAsync} from '@angular/core/testing'; +import {ComponentFixture, TestBed} from '@angular/core/testing'; import {DataListComponent} from './data-list.component'; import {TranslateModule} from '@ngx-translate/core'; @@ -10,21 +10,19 @@ describe('DataListComponent', () => { let fixture: ComponentFixture; let configProviderMock: jasmine.SpyObj; - beforeEach( - waitForAsync(() => { - configProviderMock = jasmine.createSpyObj('ConfigProvider', { - getValue: () => { - return {lat: 123, lng: 123}; - }, - }); - TestBed.configureTestingModule({ - declarations: [DataListComponent], - imports: [TranslateModule.forRoot()], - schemas: [CUSTOM_ELEMENTS_SCHEMA], - providers: [{provide: ConfigProvider, useValue: configProviderMock}], - }).compileComponents(); - }), - ); + beforeEach(() => { + configProviderMock = jasmine.createSpyObj('ConfigProvider', { + getValue: () => { + return {lat: 123, lng: 123}; + }, + }); + TestBed.configureTestingModule({ + declarations: [DataListComponent], + imports: [TranslateModule.forRoot()], + schemas: [CUSTOM_ELEMENTS_SCHEMA], + providers: [{provide: ConfigProvider, useValue: configProviderMock}], + }).compileComponents(); + }); beforeEach(() => { fixture = TestBed.createComponent(DataListComponent); diff --git a/src/app/modules/hebis/daia-availability/daia-availability.component.spec.ts b/src/app/modules/hebis/daia-availability/daia-availability.component.spec.ts index 067c232a..4c507016 100644 --- a/src/app/modules/hebis/daia-availability/daia-availability.component.spec.ts +++ b/src/app/modules/hebis/daia-availability/daia-availability.component.spec.ts @@ -14,7 +14,7 @@ * this program. If not, see . */ import {CUSTOM_ELEMENTS_SCHEMA} from '@angular/core'; -import {ComponentFixture, TestBed, waitForAsync} from '@angular/core/testing'; +import {ComponentFixture, TestBed} from '@angular/core/testing'; import {ActivatedRoute, RouterModule} from '@angular/router'; import {IonRefresher} from '@ionic/angular'; import { @@ -72,43 +72,41 @@ describe('DaiaAvailabilityComponent', () => { 'search', ]); - beforeEach( - waitForAsync(() => { - configProviderMock = jasmine.createSpyObj('ConfigProvider', [ - 'init', - 'getValue', - 'getAnyValue', - ]); - TestBed.configureTestingModule({ - imports: [ - RouterModule.forRoot([], {relativeLinkResolution: 'legacy'}), - HebisRoutingModule, - HebisModule, - TranslateModule.forRoot({ - loader: {provide: TranslateLoader, useClass: TranslateFakeLoader}, - }), - LoggerModule, - ], - providers: [ - { - provide: ActivatedRoute, - useValue: fakeActivatedRoute, - }, - { - provide: StorageProvider, - useValue: storageProviderSpy, - }, - { - provide: ConfigProvider, - useValue: configProviderMock, - }, - NGXLogger, - LoggerConfig, - ], - schemas: [CUSTOM_ELEMENTS_SCHEMA], - }).compileComponents(); - }), - ); + beforeEach(() => { + configProviderMock = jasmine.createSpyObj('ConfigProvider', [ + 'init', + 'getValue', + 'getAnyValue', + ]); + TestBed.configureTestingModule({ + imports: [ + RouterModule.forRoot([], {relativeLinkResolution: 'legacy'}), + HebisRoutingModule, + HebisModule, + TranslateModule.forRoot({ + loader: {provide: TranslateLoader, useClass: TranslateFakeLoader}, + }), + LoggerModule, + ], + providers: [ + { + provide: ActivatedRoute, + useValue: fakeActivatedRoute, + }, + { + provide: StorageProvider, + useValue: storageProviderSpy, + }, + { + provide: ConfigProvider, + useValue: configProviderMock, + }, + NGXLogger, + LoggerConfig, + ], + schemas: [CUSTOM_ELEMENTS_SCHEMA], + }).compileComponents(); + }); beforeEach(async () => { dataProvider = TestBed.get(DaiaDataProvider); diff --git a/src/app/modules/hebis/hebis-detail/hebis-detail.component.spec.ts b/src/app/modules/hebis/hebis-detail/hebis-detail.component.spec.ts index cbce65b0..5e4f5e3f 100644 --- a/src/app/modules/hebis/hebis-detail/hebis-detail.component.spec.ts +++ b/src/app/modules/hebis/hebis-detail/hebis-detail.component.spec.ts @@ -1,4 +1,3 @@ -/* eslint-disable @typescript-eslint/no-non-null-assertion,@typescript-eslint/no-explicit-any */ /* * Copyright (C) 2018, 2019 StApps * This program is free software: you can redistribute it and/or modify it @@ -13,8 +12,9 @@ * You should have received a copy of the GNU General Public License along with * this program. If not, see . */ +/* eslint-disable @typescript-eslint/no-non-null-assertion,@typescript-eslint/no-explicit-any */ import {CUSTOM_ELEMENTS_SCHEMA} from '@angular/core'; -import {ComponentFixture, TestBed, waitForAsync} from '@angular/core/testing'; +import {ComponentFixture, TestBed} from '@angular/core/testing'; import {ActivatedRoute, RouterModule} from '@angular/router'; import {IonRefresher} from '@ionic/angular'; import { @@ -69,33 +69,31 @@ describe('HebisDetailComponent', () => { 'search', ]); - beforeEach( - waitForAsync(() => { - TestBed.configureTestingModule({ - imports: [ - RouterModule.forRoot([], {relativeLinkResolution: 'legacy'}), - HebisRoutingModule, - HebisModule, - TranslateModule.forRoot({ - loader: {provide: TranslateLoader, useClass: TranslateFakeLoader}, - }), - ], - providers: [ - { - provide: ActivatedRoute, - useValue: fakeActivatedRoute, - }, - { - provide: StorageProvider, - useValue: storageProviderSpy, - }, - ], - schemas: [CUSTOM_ELEMENTS_SCHEMA], - }).compileComponents(); - }), - ); + beforeEach(() => { + TestBed.configureTestingModule({ + imports: [ + RouterModule.forRoot([], {relativeLinkResolution: 'legacy'}), + HebisRoutingModule, + HebisModule, + TranslateModule.forRoot({ + loader: {provide: TranslateLoader, useClass: TranslateFakeLoader}, + }), + ], + providers: [ + { + provide: ActivatedRoute, + useValue: fakeActivatedRoute, + }, + { + provide: StorageProvider, + useValue: storageProviderSpy, + }, + ], + schemas: [CUSTOM_ELEMENTS_SCHEMA], + }).compileComponents(); + }); - beforeEach(async () => { + beforeEach(() => { dataProvider = TestBed.get(HebisDataProvider); translateService = TestBed.get(TranslateService); refresher = jasmine.createSpyObj('refresher', ['complete']); @@ -103,7 +101,7 @@ describe('HebisDetailComponent', () => { Promise.resolve(sampleThing), ); spyOn(HebisDetailComponent.prototype, 'getItem').and.callThrough(); - fixture = await TestBed.createComponent(HebisDetailComponent); + fixture = TestBed.createComponent(HebisDetailComponent); comp = fixture.componentInstance; translateService.use('foo'); fixture.detectChanges(); diff --git a/src/app/modules/menu/context/context-menu.component.spec.ts b/src/app/modules/menu/context/context-menu.component.spec.ts index dc61b7b3..11a6657c 100644 --- a/src/app/modules/menu/context/context-menu.component.spec.ts +++ b/src/app/modules/menu/context/context-menu.component.spec.ts @@ -12,6 +12,7 @@ * You should have received a copy of the GNU General Public License along with * this program. If not, see . */ +/* eslint-disable @typescript-eslint/no-non-null-assertion,@typescript-eslint/ban-ts-comment */ import { APP_BASE_HREF, CommonModule, @@ -36,22 +37,21 @@ import {FilterContext, SortContext} from './context-type'; import {Component} from '@angular/core'; import {By} from '@angular/platform-browser'; +// prettier-ignore @Component({ - template: ` - - - `, + template: ` +`, }) -class ContextMenuComponentContainer { -} +class ContextMenuContainerComponent {} describe('ContextMenuComponent', async () => { - let fixture: ComponentFixture; + let fixture: ComponentFixture; let instance: ContextMenuComponent; beforeEach(() => { TestBed.configureTestingModule({ - declarations: [ContextMenuComponent, ContextMenuComponentContainer], + declarations: [ContextMenuComponent, ContextMenuContainerComponent], providers: [ ChildrenOutletContexts, Location, @@ -70,8 +70,10 @@ describe('ContextMenuComponent', async () => { ], }).compileComponents(); - fixture = TestBed.createComponent(ContextMenuComponentContainer); - instance = fixture.debugElement.query(By.directive(ContextMenuComponent)).componentInstance; + fixture = TestBed.createComponent(ContextMenuContainerComponent); + instance = fixture.debugElement.query( + By.directive(ContextMenuComponent), + ).componentInstance; }); it('should show items in sort context', () => { diff --git a/src/app/modules/menu/context/context-menu.service.spec.ts b/src/app/modules/menu/context/context-menu.service.spec.ts index a1f50124..49adf6da 100644 --- a/src/app/modules/menu/context/context-menu.service.spec.ts +++ b/src/app/modules/menu/context/context-menu.service.spec.ts @@ -27,11 +27,11 @@ describe('ContextMenuService', () => { }); it('should update filterQuery', done => { - service.filterContextChanged$.subscribe(() => { - service.contextFilterChanged(filterContext); - }); - service.filterQueryChanged$.subscribe(result => { + service.filterContextChanged$.subscribe(result => { expect(result).toBeDefined(); + expect(service.contextFilter.options[0].buckets.length).toEqual( + filterContext.options[0].buckets.length, + ); done(); }); service.updateContextFilter(facetsMock); @@ -46,10 +46,7 @@ describe('ContextMenuService', () => { }); it('should update sortQuery', done => { - service.sortContextChanged$.subscribe(() => { - service.contextSortChanged(sortContext); - }); - service.sortQueryChanged$.subscribe(result => { + service.sortContextChanged$.subscribe(result => { expect(result).toBeDefined(); done(); }); diff --git a/src/app/modules/profile/page/profile-page.component.spec.ts b/src/app/modules/profile/page/profile-page.component.spec.ts index 9dd35b1f..5893810d 100644 --- a/src/app/modules/profile/page/profile-page.component.spec.ts +++ b/src/app/modules/profile/page/profile-page.component.spec.ts @@ -14,7 +14,7 @@ */ import {CUSTOM_ELEMENTS_SCHEMA} from '@angular/core'; -import {async, ComponentFixture, TestBed} from '@angular/core/testing'; +import {ComponentFixture, TestBed} from '@angular/core/testing'; import {HttpClientTestingModule} from '@angular/common/http/testing'; import {RouterTestingModule} from '@angular/router/testing'; import {AuthModule} from '../../auth/auth.module'; @@ -30,7 +30,7 @@ describe('ProfilePage', () => { let configProvider: ConfigProvider; let storageProvider: jasmine.SpyObj; - beforeEach(async(() => { + beforeEach(() => { configProvider = jasmine.createSpyObj('ConfigProvider', [ 'init', 'getAnyValue', @@ -59,7 +59,7 @@ describe('ProfilePage', () => { ], schemas: [CUSTOM_ELEMENTS_SCHEMA], }).compileComponents(); - })); + }); beforeEach(() => { fixture = TestBed.createComponent(ProfilePageComponent); diff --git a/src/app/modules/storage/storage.provider.spec.ts b/src/app/modules/storage/storage.provider.spec.ts index db6eab1c..16788e9f 100644 --- a/src/app/modules/storage/storage.provider.spec.ts +++ b/src/app/modules/storage/storage.provider.spec.ts @@ -13,7 +13,7 @@ * this program. If not, see . */ -/* eslint-disable @typescript-eslint/no-explicit-any */ +/* eslint-disable @typescript-eslint/no-explicit-any, @typescript-eslint/ban-ts-comment */ import {TestBed} from '@angular/core/testing'; import {Storage} from '@ionic/storage-angular'; import {StorageModule} from './storage.module'; @@ -52,7 +52,7 @@ describe('StorageProvider', () => { it('should call ready method of storage on init', async () => { // @ts-ignore - spyOn(storage, 'create').and.callFake(() => Promise.resolve(undefined)); + spyOn(storage, 'create').and.callFake(() => Promise.resolve()); await storageProvider.init(); expect(storage.create).toHaveBeenCalled(); @@ -69,9 +69,9 @@ describe('StorageProvider', () => { spyOn(storage, 'get').and.callFake(() => Promise.resolve()); try { await storageProvider.get('some-uid'); + } catch { + // if not caught, causes issues and tests fail } - // if not caught, causes issues and tests fail - catch {} expect(storage.get).toHaveBeenCalledWith('some-uid'); }); @@ -144,7 +144,9 @@ describe('StorageProvider', () => { }); it('should delete one or more entries from the storage', async () => { - const storageRemoveSpy = spyOn(storage, 'remove').and.callFake(() => Promise.resolve()); + const storageRemoveSpy = spyOn(storage, 'remove').and.callFake(() => + Promise.resolve(), + ); await storageProvider.delete('bar'); expect(storage.remove).toHaveBeenCalledTimes(1);