@o3r/testing
Version:
The module provides testing (e2e, unit test) utilities to help you build your own E2E pipeline integrating visual testing.
74 lines • 3.26 kB
JavaScript
;
var LocalizationDependencyMocks_1;
Object.defineProperty(exports, "__esModule", { value: true });
exports.LocalizationDependencyMocks = exports.O3rTranslatePipeMock = exports.TranslatePipeMock = void 0;
exports.mockTranslationModules = mockTranslationModules;
const tslib_1 = require("tslib");
const core_1 = require("@angular/core");
const core_2 = require("@ngx-translate/core");
const localization_1 = require("@o3r/localization");
const rxjs_1 = require("rxjs");
const defaultLocalizationConfiguration = {
supportedLocales: ['en'],
language: 'en',
endPointUrl: '',
fallbackLanguage: 'en'
};
let TranslatePipeMock = class TranslatePipeMock {
transform(...args) {
return args && args.map((arg) => JSON.parse(arg)).join(', ');
}
};
exports.TranslatePipeMock = TranslatePipeMock;
exports.TranslatePipeMock = TranslatePipeMock = tslib_1.__decorate([
(0, core_1.Pipe)({ name: 'translate' })
], TranslatePipeMock);
let O3rTranslatePipeMock = class O3rTranslatePipeMock {
transform(...args) {
return args && args.map((arg) => JSON.parse(arg)).join(', ');
}
};
exports.O3rTranslatePipeMock = O3rTranslatePipeMock;
exports.O3rTranslatePipeMock = O3rTranslatePipeMock = tslib_1.__decorate([
(0, core_1.Pipe)({ name: 'o3rTranslate' })
], O3rTranslatePipeMock);
let LocalizationDependencyMocks = LocalizationDependencyMocks_1 = class LocalizationDependencyMocks {
static forTest(pipeWithPrefix = false) {
return {
ngModule: LocalizationDependencyMocks_1,
providers: [{ provide: localization_1.O3rLocalizationTranslatePipe, useClass: pipeWithPrefix ? O3rTranslatePipeMock : TranslatePipeMock }]
};
}
};
exports.LocalizationDependencyMocks = LocalizationDependencyMocks;
exports.LocalizationDependencyMocks = LocalizationDependencyMocks = LocalizationDependencyMocks_1 = tslib_1.__decorate([
(0, core_1.NgModule)({
declarations: [TranslatePipeMock, O3rTranslatePipeMock],
exports: [TranslatePipeMock, O3rTranslatePipeMock]
})
], LocalizationDependencyMocks);
/**
* Function to get the list of modules required to test component using Localization module
* @param localizationConfiguration Localization configuration
* @param translations Translations to use
* @param translationCompilerProvider Provider for translations compiler
* @param mockPipe Enable translation pipe mocking
* @param pipeWithPrefix Enable pipe with prefix
* @returns List of modules to import in the TestBed
*/
function mockTranslationModules(localizationConfiguration = defaultLocalizationConfiguration, translations = {}, translationCompilerProvider, mockPipe = false, pipeWithPrefix = false) {
return [
localization_1.LocalizationModule.forRoot(() => localizationConfiguration),
core_2.TranslateModule.forRoot({
loader: {
provide: core_2.TranslateLoader,
useValue: {
getTranslation: (lang) => (0, rxjs_1.of)(translations[lang])
}
},
compiler: translationCompilerProvider
}),
...(mockPipe ? [LocalizationDependencyMocks.forTest(pipeWithPrefix)] : [])
];
}
//# sourceMappingURL=localization-mock.js.map