mirror of
https://gitlab.com/openstapps/openstapps.git
synced 2026-02-22 00:42:09 +00:00
test: fix app unit tests
This commit is contained in:
@@ -24,19 +24,26 @@ module.exports = function (config) {
|
||||
plugins: [
|
||||
require('karma-jasmine'),
|
||||
require('karma-chrome-launcher'),
|
||||
require('karma-coverage-istanbul-reporter'),
|
||||
require('karma-coverage'),
|
||||
require('@angular-devkit/build-angular/plugins/karma'),
|
||||
require('karma-mocha-reporter'),
|
||||
require('karma-junit-reporter'),
|
||||
],
|
||||
client: {
|
||||
clearContext: false, // leave Jasmine Spec Runner output visible in browser
|
||||
},
|
||||
coverageIstanbulReporter: {
|
||||
dir: require('path').join(__dirname, './coverage'),
|
||||
reports: ['html', 'lcovonly', 'text-summary', 'cobertura'],
|
||||
coverageReporter: {
|
||||
dir: 'coverage/',
|
||||
reporters: [{type: 'cobertura', subdir: '.'}],
|
||||
// reports: ['html', 'lcovonly', 'text-summary', 'cobertura'],
|
||||
fixWebpackSourcePaths: true,
|
||||
},
|
||||
reporters: config.buildWebpack.options.codeCoverage ? ['mocha', 'coverage-istanbul'] : ['mocha'],
|
||||
junitReporter: {
|
||||
outputDir: 'coverage/',
|
||||
outputFile: 'report-junit.xml',
|
||||
useBrowserName: false,
|
||||
},
|
||||
reporters: ['mocha', 'junit', 'coverage'],
|
||||
port: 9876,
|
||||
colors: true,
|
||||
logLevel: config.LOG_INFO,
|
||||
|
||||
@@ -47,7 +47,7 @@
|
||||
"start": "ionic serve",
|
||||
"start:external": "ionic serve --external",
|
||||
"start:prod": "ionic serve --prod",
|
||||
"test": "ng test",
|
||||
"test": "ng test --watch=false --code-coverage",
|
||||
"test:integration": "sh integration-test.sh"
|
||||
},
|
||||
"dependencies": {
|
||||
@@ -121,6 +121,7 @@
|
||||
"@angular/compiler": "13.4.0",
|
||||
"@angular/compiler-cli": "13.4.0",
|
||||
"@angular/language-service": "13.4.0",
|
||||
"@angular/platform-browser-dynamic": "13.3.11",
|
||||
"@capacitor/android": "4.6.1",
|
||||
"@capacitor/cli": "4.6.1",
|
||||
"@capacitor/ios": "4.6.1",
|
||||
@@ -157,10 +158,10 @@
|
||||
"junit-report-merger": "6.0.2",
|
||||
"karma": "6.4.1",
|
||||
"karma-chrome-launcher": "3.1.1",
|
||||
"karma-coverage-istanbul-reporter": "3.0.3",
|
||||
"karma-jasmine": "5.1.0",
|
||||
"karma-jasmine-html-reporter": "2.0.0",
|
||||
"karma-junit-reporter": "2.0.1",
|
||||
"karma-coverage": "2.2.1",
|
||||
"karma-mocha-reporter": "2.2.5",
|
||||
"karma-jasmine": "5.1.0",
|
||||
"license-checker": "25.0.1",
|
||||
"protractor": "7.0.0",
|
||||
"surge": "0.23.1",
|
||||
|
||||
@@ -22,7 +22,7 @@ import {
|
||||
SCThingType,
|
||||
} from '@openstapps/core';
|
||||
import {Polygon} from 'geojson';
|
||||
import packageJson from '../../../../package.json';
|
||||
import {environment} from '../../../environments/environment';
|
||||
|
||||
// provides sample aggregations to be used in tests or backendless development
|
||||
export const sampleAggregations: SCBackendAggregationConfiguration[] = [
|
||||
@@ -108,8 +108,6 @@ export const sampleDefaultPolygon: Polygon = {
|
||||
type: 'Polygon',
|
||||
};
|
||||
|
||||
const scVersion = packageJson.dependencies['@openstapps/core'];
|
||||
|
||||
export const sampleIndexResponse: SCIndexResponse = {
|
||||
app: {
|
||||
aboutPages: {
|
||||
@@ -197,7 +195,7 @@ export const sampleIndexResponse: SCIndexResponse = {
|
||||
},
|
||||
auth: {},
|
||||
backend: {
|
||||
SCVersion: scVersion,
|
||||
SCVersion: environment.sc_version,
|
||||
externalRequestTimeout: 5000,
|
||||
hiddenTypes: [SCThingType.DateSeries, SCThingType.Diff, SCThingType.Floor],
|
||||
mappingIgnoredTags: [],
|
||||
|
||||
@@ -21,10 +21,10 @@ import {Browser} from 'ionic-appauth';
|
||||
import {Requestor, StorageBackend} from '@openid/appauth';
|
||||
import {TranslateService} from '@ngx-translate/core';
|
||||
import {PAIAAuthService} from './paia/paia-auth.service';
|
||||
import {LoggerConfig, LoggerModule, NGXLogger} from 'ngx-logger';
|
||||
import {StAppsWebHttpClient} from '../data/stapps-web-http-client.provider';
|
||||
import {HttpClientModule} from '@angular/common/http';
|
||||
import {SimpleBrowser} from '../../util/browser.factory';
|
||||
import {LoggerTestingModule} from 'ngx-logger/testing';
|
||||
|
||||
describe('AuthHelperService', () => {
|
||||
let authHelperService: AuthHelperService;
|
||||
@@ -54,11 +54,9 @@ describe('AuthHelperService', () => {
|
||||
|
||||
beforeEach(() => {
|
||||
TestBed.configureTestingModule({
|
||||
imports: [HttpClientModule, LoggerModule],
|
||||
imports: [HttpClientModule, LoggerTestingModule],
|
||||
providers: [
|
||||
NGXLogger,
|
||||
StAppsWebHttpClient,
|
||||
LoggerConfig,
|
||||
{
|
||||
provide: TranslateService,
|
||||
useValue: translateServiceSpy,
|
||||
|
||||
@@ -19,11 +19,11 @@ import {DefaultAuthService} from './default-auth.service';
|
||||
import {Browser} from 'ionic-appauth';
|
||||
import {nowInSeconds, Requestor, StorageBackend} from '@openid/appauth';
|
||||
import {TranslateService} from '@ngx-translate/core';
|
||||
import {LoggerConfig, LoggerModule, NGXLogger, NgxLoggerLevel} from 'ngx-logger';
|
||||
import {StAppsWebHttpClient} from '../data/stapps-web-http-client.provider';
|
||||
import {HttpClientModule} from '@angular/common/http';
|
||||
import {IonicStorage} from 'ionic-appauth/lib';
|
||||
import {RouterModule} from '@angular/router';
|
||||
import {LoggerTestingModule} from 'ngx-logger/testing';
|
||||
|
||||
describe('AuthService', () => {
|
||||
let defaultAuthService: DefaultAuthService;
|
||||
@@ -35,15 +35,9 @@ describe('AuthService', () => {
|
||||
storageBackendSpy = jasmine.createSpyObj('StorageBackend', ['getItem']);
|
||||
|
||||
TestBed.configureTestingModule({
|
||||
imports: [
|
||||
HttpClientModule,
|
||||
LoggerModule.forRoot({level: NgxLoggerLevel.TRACE}),
|
||||
RouterModule.forRoot([]),
|
||||
],
|
||||
imports: [HttpClientModule, LoggerTestingModule, RouterModule.forRoot([])],
|
||||
providers: [
|
||||
NGXLogger,
|
||||
StAppsWebHttpClient,
|
||||
LoggerConfig,
|
||||
{
|
||||
provide: TranslateService,
|
||||
useValue: translateServiceSpy,
|
||||
|
||||
@@ -25,8 +25,8 @@ import {DaiaAvailabilityComponent} from './daia-availability.component';
|
||||
import {Observable, of} from 'rxjs';
|
||||
import {StorageProvider} from '../../storage/storage.provider';
|
||||
import {DaiaDataProvider} from '../daia-data.provider';
|
||||
import {LoggerConfig, LoggerModule, NGXLogger} from 'ngx-logger';
|
||||
import {ConfigProvider} from '../../config/config.provider';
|
||||
import {LoggerTestingModule} from 'ngx-logger/testing';
|
||||
|
||||
const translations: any = {data: {detail: {TITLE: 'Foo'}}};
|
||||
|
||||
@@ -71,7 +71,7 @@ describe('DaiaAvailabilityComponent', () => {
|
||||
TranslateModule.forRoot({
|
||||
loader: {provide: TranslateLoader, useClass: TranslateFakeLoader},
|
||||
}),
|
||||
LoggerModule,
|
||||
LoggerTestingModule,
|
||||
],
|
||||
providers: [
|
||||
{
|
||||
@@ -86,8 +86,6 @@ describe('DaiaAvailabilityComponent', () => {
|
||||
provide: ConfigProvider,
|
||||
useValue: configProviderMock,
|
||||
},
|
||||
NGXLogger,
|
||||
LoggerConfig,
|
||||
],
|
||||
schemas: [CUSTOM_ELEMENTS_SCHEMA],
|
||||
}).compileComponents();
|
||||
|
||||
@@ -19,7 +19,7 @@ import {HebisModule} from './hebis.module';
|
||||
import {ConfigProvider} from '../config/config.provider';
|
||||
import {StAppsWebHttpClient} from '../data/stapps-web-http-client.provider';
|
||||
import {StorageProvider} from '../storage/storage.provider';
|
||||
import {LoggerConfig, LoggerModule, NGXLogger} from 'ngx-logger';
|
||||
import {LoggerTestingModule} from 'ngx-logger/testing';
|
||||
import {MapModule} from '../map/map.module';
|
||||
import {HttpClientModule} from '@angular/common/http';
|
||||
import {StorageModule} from '../storage/storage.module';
|
||||
@@ -49,7 +49,7 @@ describe('DaiaDataProvider', () => {
|
||||
MapModule,
|
||||
HttpClientModule,
|
||||
StorageModule,
|
||||
LoggerModule,
|
||||
LoggerTestingModule,
|
||||
TranslateModule.forRoot({
|
||||
loader: {provide: TranslateLoader, useClass: TranslateFakeLoader},
|
||||
}),
|
||||
@@ -61,8 +61,6 @@ describe('DaiaDataProvider', () => {
|
||||
},
|
||||
StAppsWebHttpClient,
|
||||
StorageProvider,
|
||||
NGXLogger,
|
||||
LoggerConfig,
|
||||
DaiaDataProvider,
|
||||
],
|
||||
});
|
||||
|
||||
@@ -18,7 +18,7 @@ import {HttpClientModule} from '@angular/common/http';
|
||||
import {StorageModule} from '../storage/storage.module';
|
||||
import {MapPosition, PositionService} from './position.service';
|
||||
import {ConfigProvider} from '../config/config.provider';
|
||||
import {LoggerConfig, LoggerModule, NGXLogger, NGXMapperService} from 'ngx-logger';
|
||||
import {LoggerTestingModule} from 'ngx-logger/testing';
|
||||
|
||||
describe('PositionService', () => {
|
||||
let positionService: PositionService;
|
||||
@@ -37,11 +37,8 @@ describe('PositionService', () => {
|
||||
},
|
||||
});
|
||||
TestBed.configureTestingModule({
|
||||
imports: [MapModule, HttpClientModule, StorageModule, LoggerModule],
|
||||
imports: [MapModule, HttpClientModule, StorageModule, LoggerTestingModule],
|
||||
providers: [
|
||||
LoggerConfig,
|
||||
NGXLogger,
|
||||
NGXMapperService,
|
||||
{
|
||||
provider: ConfigProvider,
|
||||
useValue: configProviderMock,
|
||||
|
||||
@@ -15,14 +15,25 @@
|
||||
// This file is required by karma.conf.js and loads recursively all the .spec and framework files
|
||||
import 'zone.js/testing';
|
||||
import {getTestBed} from '@angular/core/testing';
|
||||
import {BrowserTestingModule, platformBrowserTesting} from '@angular/platform-browser/testing';
|
||||
import {
|
||||
BrowserDynamicTestingModule,
|
||||
platformBrowserDynamicTesting,
|
||||
} from '@angular/platform-browser-dynamic/testing';
|
||||
|
||||
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
||||
declare const __karma__: any;
|
||||
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
||||
declare const require: any;
|
||||
|
||||
// prevent Karma from runnint prematurely
|
||||
// eslint-disable-next-line @typescript-eslint/no-empty-function
|
||||
__karma__.loaded = function () {};
|
||||
|
||||
// First, initialize the Angular testing environment.
|
||||
getTestBed().initTestEnvironment(BrowserTestingModule, platformBrowserTesting());
|
||||
getTestBed().initTestEnvironment(BrowserDynamicTestingModule, platformBrowserDynamicTesting());
|
||||
// Then we find all the tests.
|
||||
const context = require.context('./', true, /\.spec\.ts$/);
|
||||
// And load the modules.
|
||||
context.keys().map(context);
|
||||
|
||||
__karma__.start();
|
||||
|
||||
Reference in New Issue
Block a user