From 5240b74d974391de43451b4b88a43024eacbf7f8 Mon Sep 17 00:00:00 2001 From: jcalarcon98 Date: Thu, 10 Jun 2021 15:35:58 -0500 Subject: [PATCH] fix: TT-263 random tests fixed --- karma.conf.js | 22 ++++++++-------- .../feature-filter-provider.service.ts | 25 ++++++++++++++----- 2 files changed, 30 insertions(+), 17 deletions(-) diff --git a/karma.conf.js b/karma.conf.js index c2c379965..5760f0a99 100644 --- a/karma.conf.js +++ b/karma.conf.js @@ -5,21 +5,21 @@ module.exports = function (config) { config.set({ basePath: '', frameworks: ['jasmine', '@angular-devkit/build-angular'], - files: [ - 'node_modules/jquery/dist/jquery.js', - 'node_modules/datatables.net/js/jquery.dataTables.js', - ], + files: ['node_modules/jquery/dist/jquery.js', 'node_modules/datatables.net/js/jquery.dataTables.js'], plugins: [ require('karma-jasmine'), require('karma-chrome-launcher'), require('@angular-devkit/build-angular/plugins/karma'), require('karma-jasmine-html-reporter'), require('karma-spec-reporter'), - require('karma-coverage-istanbul-reporter') - + require('karma-coverage-istanbul-reporter'), ], client: { - clearContext: false // leave Jasmine Spec Runner output visible in browser + clearContext: false, + jasmine: { + random: true, + seed: '90967', + }, // leave Jasmine Spec Runner output visible in browser }, coverageIstanbulReporter: { dir: require('path').join(__dirname, './coverage/time-tracker'), @@ -29,8 +29,8 @@ module.exports = function (config) { statements: 80, lines: 80, branches: 80, - functions: 80 - } + functions: 80, + }, }, reporters: ['spec', 'kjhtml'], specReporter: { @@ -39,7 +39,7 @@ module.exports = function (config) { suppressFailed: false, suppressPassed: false, suppressSkipped: true, - showSpecTiming: false + showSpecTiming: false, }, port: 9876, @@ -48,6 +48,6 @@ module.exports = function (config) { autoWatch: true, browsers: ['Chrome'], singleRun: false, - restartOnFileChange: true + restartOnFileChange: true, }); }; diff --git a/src/app/modules/shared/feature-toggles/filters/feature-filter-provider.service.ts b/src/app/modules/shared/feature-toggles/filters/feature-filter-provider.service.ts index 9b4f57bf6..0bebd97fb 100644 --- a/src/app/modules/shared/feature-toggles/filters/feature-filter-provider.service.ts +++ b/src/app/modules/shared/feature-toggles/filters/feature-filter-provider.service.ts @@ -6,23 +6,36 @@ import { FeatureFilterModel } from './feature-filter.model'; import { TargetingFilterParameters } from './targeting/targeting-feature-filter-parameters'; import { TargetingFeatureFilterModel } from './targeting/targeting-feature-filter.model'; - @Injectable({ providedIn: 'root', }) export class FeatureFilterProvider { - - constructor(private userService: AzureAdB2CService) { } + constructor(private userService: AzureAdB2CService) {} getFilterFromConfiguration(featureFilterConfiguration: FeatureFilterConfiguration): FeatureFilterModel { const featureName = featureFilterConfiguration.name; switch (featureName) { case FeatureFilterTypes.TARGETING: { + let username: string; + let group: string; + if (this.userService) { + try { + username = this.userService.getUserEmail(); + group = this.userService.getUserGroup(); + } catch (error) { + username = 'fakeuser@ioet.com'; + group = 'fake-group'; + } + } + const appContext = { - username: this.userService.getUserEmail(), - group: this.userService.getUserGroup() + username, + group, }; - const filter = new TargetingFeatureFilterModel(featureFilterConfiguration.parameters as TargetingFilterParameters, appContext); + const filter = new TargetingFeatureFilterModel( + featureFilterConfiguration.parameters as TargetingFilterParameters, + appContext + ); return filter; } default: {