Browse Source

feat: create a TestCoreModule and return it from forTest

pull/3698/head
Arman Ozak 6 years ago
parent
commit
8f6d01c2b8
  1. 27
      npm/ng-packs/packages/core/src/lib/core.module.ts

27
npm/ng-packs/packages/core/src/lib/core.module.ts

@ -1,4 +1,4 @@
import { CommonModule } from '@angular/common';
import { APP_BASE_HREF, CommonModule } from '@angular/common';
import { HttpClientModule, HTTP_INTERCEPTORS } from '@angular/common/http';
import { APP_INITIALIZER, Injector, ModuleWithProviders, NgModule } from '@angular/core';
import { FormsModule, ReactiveFormsModule } from '@angular/forms';
@ -24,6 +24,7 @@ import { VisibilityDirective } from './directives/visibility.directive';
import { ApiInterceptor } from './interceptors/api.interceptor';
import { LocalizationModule } from './localization.module';
import { ABP } from './models/common';
import { LocalizationPipe, MockLocalizationPipe } from './pipes/localization.pipe';
import { SortPipe } from './pipes/sort.pipe';
import { ConfigPlugin, NGXS_CONFIG_PLUGIN_OPTIONS } from './plugins/config.plugin';
import { LocaleProvider } from './providers/locale.provider';
@ -118,6 +119,17 @@ export class BaseCoreModule {}
})
export class RootCoreModule {}
/**
* TestCoreModule is the module that will be used in tests
* and it provides mock alternatives
*/
@NgModule({
exports: [RouterModule, BaseCoreModule, MockLocalizationPipe],
imports: [RouterModule.forRoot([]), BaseCoreModule],
declarations: [MockLocalizationPipe],
})
export class TestCoreModule {}
/**
* CoreModule is the module that is publicly available
*/
@ -126,6 +138,19 @@ export class RootCoreModule {}
imports: [BaseCoreModule, LocalizationModule],
})
export class CoreModule {
static forTest({ baseHref = '/' } = {} as ABP.Test): ModuleWithProviders<TestCoreModule> {
return {
ngModule: TestCoreModule,
providers: [
{ provide: APP_BASE_HREF, useValue: baseHref },
{
provide: LocalizationPipe,
useClass: MockLocalizationPipe,
},
],
};
}
static forRoot(options = {} as ABP.Root): ModuleWithProviders<RootCoreModule> {
return {
ngModule: RootCoreModule,

Loading…
Cancel
Save