Ctrl K
ComunidadGuías…

src/test-setup.ts

Rama master · réplica de lectura del repositorio original.

Archivo original ↗Preguntar a KiBot
import '@testing-library/jest-dom/vitest';
import '@angular/compiler';
import '@analogjs/vitest-angular/setup-zone';
import { setupTestBed } from '@analogjs/vitest-angular/setup-testbed';
import { inject, provideEnvironmentInitializer } from '@angular/core';
import {
  Translation,
  TranslocoLoader,
  TranslocoService,
  provideTransloco,
} from '@jsverse/transloco';
import { Observable, of } from 'rxjs';
import english from '../public/i18n/en.json';
import russian from '../public/i18n/ru.json';

class TestTranslocoLoader implements TranslocoLoader {
  getTranslation(language: string): Observable<Translation> {
    return of(language === 'ru' ? russian : english);
  }
}

setupTestBed({
  zoneless: false,
  providers: [
    provideTransloco({
      config: {
        availableLangs: ['en', 'ru'],
        defaultLang: 'ru',
        fallbackLang: 'en',
        reRenderOnLangChange: true,
        prodMode: true,
      },
      loader: TestTranslocoLoader,
    }),
    provideEnvironmentInitializer(() => {
      const transloco = inject(TranslocoService);
      transloco.setTranslation(english, 'en');
      transloco.setTranslation(russian, 'ru');
      transloco.setActiveLang('ru');
    }),
  ],
});

if (typeof URL.createObjectURL !== 'function') {
  Object.defineProperty(URL, 'createObjectURL', {
    configurable: true,
    value: () => 'blob:vitest-object-url',
  });
}

if (typeof URL.revokeObjectURL !== 'function') {
  Object.defineProperty(URL, 'revokeObjectURL', {
    configurable: true,
    value: () => undefined,
  });
}