diff --git a/package.json b/package.json index 52996db92f..abef6f7f23 100644 --- a/package.json +++ b/package.json @@ -146,7 +146,7 @@ "test:starter": "cd starter && npm run test-fast && cd ../..", "test:starter:e2e": "cd starter && npm run e2e && cd ../..", "test:starter:e2e:browserstack": "cd starter && npm run e2e:browserstack && cd ../..", - "test:ci:all": "npm run test:ci:stark-core && npm run test:ci:stark-ui && npm run test:ci:starter && npm run test:ci:starter", + "test:ci:all": "npm run test:ci:stark-core && npm run test:ci:stark-ui && npm run test:ci:starter && npm run test:ci:showcase", "test:ci:stark-core": "cd packages/stark-core && npm run test-fast:ci && cd ../..", "test:ci:stark-ui": "cd packages/stark-ui && npm run test-fast:ci && cd ../..", "test:ci:showcase": "cd showcase && npm run test-fast:ci && cd ../..", diff --git a/packages/stark-ui/src/modules/action-bar/components/action-bar.component.spec.ts b/packages/stark-ui/src/modules/action-bar/components/action-bar.component.spec.ts index eeaf300ade..1551453055 100644 --- a/packages/stark-ui/src/modules/action-bar/components/action-bar.component.spec.ts +++ b/packages/stark-ui/src/modules/action-bar/components/action-bar.component.spec.ts @@ -3,8 +3,10 @@ import { async, ComponentFixture, TestBed } from "@angular/core/testing"; import { MatButtonModule } from "@angular/material/button"; import { MatMenuModule } from "@angular/material/menu"; import { MatTooltipModule } from "@angular/material/tooltip"; +import { HAMMER_LOADER } from "@angular/platform-browser"; import { STARK_LOGGING_SERVICE, STARK_ROUTING_SERVICE } from "@nationalbankbelgium/stark-core"; import { MockStarkLoggingService, MockStarkRoutingService } from "@nationalbankbelgium/stark-core/testing"; +import { Subject } from "rxjs"; import { StarkSvgViewBoxModule } from "../../svg-view-box/svg-view-box.module"; import { StarkActionBarComponent } from "./action-bar.component"; import { StarkActionBarConfig } from "./action-bar-config.intf"; @@ -24,7 +26,12 @@ describe("ActionBarComponent", () => { providers: [ { provide: STARK_LOGGING_SERVICE, useValue: new MockStarkLoggingService() }, { provide: STARK_ROUTING_SERVICE, useClass: MockStarkRoutingService }, - TranslateService + TranslateService, + { + // See https://github.com/NationalBankBelgium/stark/issues/1088 + provide: HAMMER_LOADER, + useValue: () => new Subject<any>().toPromise() + } ], schemas: [NO_ERRORS_SCHEMA] // tells the Angular compiler to ignore unrecognized elements and attributes (svgIcon) }).compileComponents(); diff --git a/packages/stark-ui/src/modules/app-logout/components/app-logout.component.spec.ts b/packages/stark-ui/src/modules/app-logout/components/app-logout.component.spec.ts index 2db28e9f74..4276fb84ff 100644 --- a/packages/stark-ui/src/modules/app-logout/components/app-logout.component.spec.ts +++ b/packages/stark-ui/src/modules/app-logout/components/app-logout.component.spec.ts @@ -12,9 +12,11 @@ import { import { MockStarkLoggingService, MockStarkRoutingService, MockStarkSessionService } from "@nationalbankbelgium/stark-core/testing"; import { StarkAppLogoutComponent } from "./app-logout.component"; import { StarkSvgViewBoxModule } from "../../svg-view-box/svg-view-box.module"; -import { MatTooltipModule } from "@angular/material/tooltip"; import { MatButtonModule } from "@angular/material/button"; +import { MatTooltipModule } from "@angular/material/tooltip"; +import { HAMMER_LOADER } from "@angular/platform-browser"; import { TranslateModule } from "@ngx-translate/core"; +import { Subject } from "rxjs"; import Spy = jasmine.Spy; describe("AppLogoutComponent", () => { @@ -37,7 +39,12 @@ describe("AppLogoutComponent", () => { { provide: STARK_LOGGING_SERVICE, useValue: new MockStarkLoggingService() }, { provide: STARK_SESSION_SERVICE, useValue: new MockStarkSessionService() }, { provide: STARK_ROUTING_SERVICE, useClass: MockStarkRoutingService }, - { provide: STARK_SESSION_CONFIG, useValue: mockStarkSessionConfig } + { provide: STARK_SESSION_CONFIG, useValue: mockStarkSessionConfig }, + { + // See https://github.com/NationalBankBelgium/stark/issues/1088 + provide: HAMMER_LOADER, + useValue: () => new Subject<any>().toPromise() + } ], schemas: [NO_ERRORS_SCHEMA] // tells the Angular compiler to ignore unrecognized elements and attributes (svgIcon) }) diff --git a/packages/stark-ui/src/modules/app-sidebar/components/app-sidebar.component.spec.ts b/packages/stark-ui/src/modules/app-sidebar/components/app-sidebar.component.spec.ts index da89f5d925..f1843f543a 100644 --- a/packages/stark-ui/src/modules/app-sidebar/components/app-sidebar.component.spec.ts +++ b/packages/stark-ui/src/modules/app-sidebar/components/app-sidebar.component.spec.ts @@ -65,7 +65,7 @@ describe("AppSidebarComponent", () => { } ); - mockBreakPointObserver = jasmine.createSpyObj("BreakPointObserver", ["isMatched", "observe"]); + mockBreakPointObserver = jasmine.createSpyObj("BreakPointObserver", ["isMatched", "observe", "ngOnDestroy"]); // add functionality to the `observe` Spy mockBreakPointObserver.observe.and.callFake((value: string | string[]) => { expect([[BREAKPOINT_STRING], BREAKPOINT_STRING]).toContain(value); diff --git a/packages/stark-ui/src/modules/minimap/components/minimap.component.spec.ts b/packages/stark-ui/src/modules/minimap/components/minimap.component.spec.ts index 64dd0613bb..9d36bc67e2 100644 --- a/packages/stark-ui/src/modules/minimap/components/minimap.component.spec.ts +++ b/packages/stark-ui/src/modules/minimap/components/minimap.component.spec.ts @@ -3,6 +3,7 @@ import { StarkMinimapComponent } from "./minimap.component"; import { StarkMinimapItemProperties } from "./item-properties.intf"; import { async, ComponentFixture, TestBed } from "@angular/core/testing"; import { FormsModule } from "@angular/forms"; +import { HAMMER_LOADER } from "@angular/platform-browser"; import { NoopAnimationsModule } from "@angular/platform-browser/animations"; import { TranslateModule, TranslateService } from "@ngx-translate/core"; import { STARK_LOGGING_SERVICE } from "@nationalbankbelgium/stark-core"; @@ -10,6 +11,7 @@ import { MockStarkLoggingService } from "@nationalbankbelgium/stark-core/testing import { Component, EventEmitter, NO_ERRORS_SCHEMA, ViewChild } from "@angular/core"; import { MatCheckboxModule } from "@angular/material/checkbox"; import { MatTooltipModule } from "@angular/material/tooltip"; +import { Subject } from "rxjs"; import { ItemVisibility } from "./item-visibility.intf"; import createSpyObj = jasmine.createSpyObj; import SpyObj = jasmine.SpyObj; @@ -39,7 +41,15 @@ describe("MinimapComponent", () => { return TestBed.configureTestingModule({ imports: [FormsModule, MatCheckboxModule, MatTooltipModule, NoopAnimationsModule, TranslateModule.forRoot()], declarations: [StarkMinimapComponent, TestHostComponent], - providers: [{ provide: STARK_LOGGING_SERVICE, useValue: new MockStarkLoggingService() }, TranslateService], + providers: [ + { provide: STARK_LOGGING_SERVICE, useValue: new MockStarkLoggingService() }, + TranslateService, + { + // See https://github.com/NationalBankBelgium/stark/issues/1088 + provide: HAMMER_LOADER, + useValue: () => new Subject<any>().toPromise() + } + ], schemas: [NO_ERRORS_SCHEMA] // to avoid errors due to "mat-icon" directive not known (which we don't want to add in these tests) }).compileComponents(); })); diff --git a/packages/stark-ui/src/modules/route-search/components/route-search.component.spec.ts b/packages/stark-ui/src/modules/route-search/components/route-search.component.spec.ts index cfc076febc..ef3c5c192b 100644 --- a/packages/stark-ui/src/modules/route-search/components/route-search.component.spec.ts +++ b/packages/stark-ui/src/modules/route-search/components/route-search.component.spec.ts @@ -11,6 +11,7 @@ import { MatFormFieldModule } from "@angular/material/form-field"; import { MatAutocompleteModule } from "@angular/material/autocomplete"; import { MatSelectModule } from "@angular/material/select"; import { MatOptionModule } from "@angular/material/core"; +import { HAMMER_LOADER } from "@angular/platform-browser"; import { TranslateModule, TranslateService } from "@ngx-translate/core"; import { Ng2StateDeclaration, StateDeclaration } from "@uirouter/angular"; import { @@ -24,7 +25,7 @@ import { MockStarkLoggingService, MockStarkRoutingService } from "@nationalbankb import { StarkRouteSearchComponent } from "./route-search.component"; import { StarkRouteSearchEntry } from "../components/route-search-entry.intf"; import { StarkMenuConfig, StarkMenuGroup } from "../../app-menu"; -import { of, throwError } from "rxjs"; +import { of, Subject, throwError } from "rxjs"; import { mergeUiTranslations } from "../../../common/translations/merge-translations"; import Spy = jasmine.Spy; @@ -110,7 +111,12 @@ describe("RouteSearchComponent", () => { declarations: [StarkRouteSearchComponent, TestHostComponent], providers: [ { provide: STARK_ROUTING_SERVICE, useValue: mockRoutingService }, - { provide: STARK_LOGGING_SERVICE, useValue: mockLoggingService } + { provide: STARK_LOGGING_SERVICE, useValue: mockLoggingService }, + { + // See https://github.com/NationalBankBelgium/stark/issues/1088 + provide: HAMMER_LOADER, + useValue: () => new Subject<any>().toPromise() + } ], schemas: [NO_ERRORS_SCHEMA] // to avoid errors due to "mat-icon" directive not known (which we don't want to add in these tests) }).compileComponents(); diff --git a/packages/stark-ui/src/modules/table/components/table.component.spec.ts b/packages/stark-ui/src/modules/table/components/table.component.spec.ts index 8ff83117a4..0a3883f70e 100644 --- a/packages/stark-ui/src/modules/table/components/table.component.spec.ts +++ b/packages/stark-ui/src/modules/table/components/table.component.spec.ts @@ -10,12 +10,14 @@ import { MatCheckboxModule } from "@angular/material/checkbox"; import { MatTooltipModule } from "@angular/material/tooltip"; import { MatPaginatorModule } from "@angular/material/paginator"; import { MatDialogModule } from "@angular/material/dialog"; -import { StarkTableMultisortDialogComponent } from "./dialogs/multisort.component"; import { MatSelectModule } from "@angular/material/select"; import { MatInputModule } from "@angular/material/input"; +import { HAMMER_LOADER } from "@angular/platform-browser"; import { TranslateModule, TranslateService } from "@ngx-translate/core"; import { STARK_LOGGING_SERVICE } from "@nationalbankbelgium/stark-core"; import { MockStarkLoggingService } from "@nationalbankbelgium/stark-core/testing"; +import { Subject } from "rxjs"; +import { StarkTableMultisortDialogComponent } from "./dialogs/multisort.component"; import { StarkTableComponent } from "./table.component"; import { StarkTableColumnComponent } from "./column.component"; import { StarkPaginationComponent } from "../../pagination/components"; @@ -101,7 +103,15 @@ describe("TableComponent", () => { StarkTableMultisortDialogComponent, TestHostComponent ], - providers: [{ provide: STARK_LOGGING_SERVICE, useValue: new MockStarkLoggingService() }, TranslateService], + providers: [ + { provide: STARK_LOGGING_SERVICE, useValue: new MockStarkLoggingService() }, + TranslateService, + { + // See https://github.com/NationalBankBelgium/stark/issues/1088 + provide: HAMMER_LOADER, + useValue: () => new Subject<any>().toPromise() + } + ], schemas: [NO_ERRORS_SCHEMA] // to avoid errors due to "mat-icon" directive not known (which we don't want to add in these tests) }).compileComponents(); })); diff --git a/showcase/src/app/shared/components/example-viewer/example-viewer.component.spec.ts b/showcase/src/app/shared/components/example-viewer/example-viewer.component.spec.ts index 9949165535..45e6527d79 100644 --- a/showcase/src/app/shared/components/example-viewer/example-viewer.component.spec.ts +++ b/showcase/src/app/shared/components/example-viewer/example-viewer.component.spec.ts @@ -4,6 +4,7 @@ import { async, ComponentFixture, TestBed } from "@angular/core/testing"; import { MatButtonModule } from "@angular/material/button"; import { MatTabsModule } from "@angular/material/tabs"; import { MatTooltipModule } from "@angular/material/tooltip"; +import { HAMMER_LOADER } from "@angular/platform-browser"; import { Observable, of, Subject, throwError } from "rxjs"; import { delay, filter } from "rxjs/operators"; import { STARK_LOGGING_SERVICE, StarkLoggingService } from "@nationalbankbelgium/stark-core"; @@ -30,6 +31,11 @@ describe("ExampleViewerComponent", () => { { provide: FileService, useValue: jasmine.createSpyObj("FileServiceSpy", ["fetchFile"]) + }, + { + // See https://github.com/NationalBankBelgium/stark/issues/1088 + provide: HAMMER_LOADER, + useValue: () => new Subject<any>().toPromise() } ], schemas: [NO_ERRORS_SCHEMA] // tells the Angular compiler to ignore unrecognized elements and attributes: mat-icon