fix SSR injection context issue with Angulartics

This commit is contained in:
Art Lowel
2021-01-18 16:20:17 +01:00
committed by Giuseppe Digilio
parent 9db9539725
commit 4e826f7ee8
4 changed files with 22 additions and 9 deletions

View File

@@ -15,7 +15,7 @@ import { MetadataService } from './core/metadata/metadata.service';
import { NativeWindowRef, NativeWindowService } from './core/services/window.service';
import { TranslateLoaderMock } from './shared/mocks/translate-loader.mock';
import { MetadataServiceMock } from './shared/mocks/metadata-service.mock';
import { AngularticsMock } from './shared/mocks/angulartics.service.mock';
import { AngularticsProviderMock } from './shared/mocks/angulartics-provider.service.mock';
import { AuthServiceMock } from './shared/mocks/auth.service.mock';
import { AuthService } from './core/auth/auth.service';
import { MenuService } from './shared/menu/menu.service';
@@ -65,8 +65,8 @@ describe('App component', () => {
providers: [
{ provide: NativeWindowService, useValue: new NativeWindowRef() },
{ provide: MetadataService, useValue: new MetadataServiceMock() },
{ provide: Angulartics2GoogleAnalytics, useValue: new AngularticsMock() },
{ provide: Angulartics2DSpace, useValue: new AngularticsMock() },
{ provide: Angulartics2GoogleAnalytics, useValue: new AngularticsProviderMock() },
{ provide: Angulartics2DSpace, useValue: new AngularticsProviderMock() },
{ provide: AuthService, useValue: new AuthServiceMock() },
{ provide: Router, useValue: new RouterMock() },
{ provide: ActivatedRoute, useValue: new MockActivatedRoute() },

View File

@@ -2,7 +2,7 @@ import { Injectable } from '@angular/core';
/* tslint:disable:no-empty */
@Injectable()
export class AngularticsMock {
export class AngularticsProviderMock {
public eventTrack(action, properties) { }
public startTracking(): void {}
}

View File

@@ -0,0 +1,9 @@
import { Injectable } from '@angular/core';
/* tslint:disable:no-empty */
@Injectable()
export class Angulartics2Mock {
public eventTrack = {
next: (param: any): void => {}
};
}

View File

@@ -19,17 +19,18 @@ import { AuthService } from '../../app/core/auth/auth.service';
import { ServerAuthService } from '../../app/core/auth/server-auth.service';
import { Angulartics2GoogleAnalytics } from 'angulartics2/ga';
import { AngularticsMock } from '../../app/shared/mocks/angulartics.service.mock';
import { AngularticsProviderMock } from '../../app/shared/mocks/angulartics-provider.service.mock';
import { SubmissionService } from '../../app/submission/submission.service';
import { ServerSubmissionService } from '../../app/submission/server-submission.service';
import { Angulartics2DSpace } from '../../app/statistics/angulartics/dspace-provider';
import { Angulartics2RouterlessModule } from 'angulartics2/routerlessmodule';
import { ServerLocaleService } from '../../app/core/locale/server-locale.service';
import { LocaleService } from '../../app/core/locale/locale.service';
import { HTTP_INTERCEPTORS } from '@angular/common/http';
import { ForwardClientIpInterceptor } from '../../app/core/forward-client-ip/forward-client-ip.interceptor';
import { HardRedirectService } from '../../app/core/services/hard-redirect.service';
import { ServerHardRedirectService } from '../../app/core/services/server-hard-redirect.service';
import { Angulartics2 } from 'angulartics2';
import { Angulartics2Mock } from '../../app/shared/mocks/angulartics2.service.mock';
export function createTranslateLoader() {
return new TranslateJson5UniversalLoader('dist/server/assets/i18n/', '.json5');
@@ -53,18 +54,21 @@ export function createTranslateLoader() {
deps: []
}
}),
Angulartics2RouterlessModule.forRoot(),
ServerModule,
AppModule
],
providers: [
{
provide: Angulartics2,
useClass: Angulartics2Mock
},
{
provide: Angulartics2GoogleAnalytics,
useClass: AngularticsMock
useClass: AngularticsProviderMock
},
{
provide: Angulartics2DSpace,
useClass: AngularticsMock
useClass: AngularticsProviderMock
},
{
provide: AuthService,