Browse Source

update tests

pull/13154/head
muhammedaltug 4 years ago
parent
commit
adcb457f8f
  1. 1
      npm/ng-packs/packages/theme-shared/src/lib/models/index.ts
  2. 1
      npm/ng-packs/packages/theme-shared/src/lib/models/validation.ts
  3. 10
      npm/ng-packs/packages/theme-shared/src/lib/tests/validation-utils.spec.ts
  4. 7
      npm/ng-packs/packages/theme-shared/src/lib/utils/validation-utils.ts

1
npm/ng-packs/packages/theme-shared/src/lib/models/index.ts

@ -4,3 +4,4 @@ export * from './nav-item';
export * from './statistics';
export * from './toaster';
export * from './user-menu';
export * from './validation';

1
npm/ng-packs/packages/theme-shared/src/lib/models/validation.ts

@ -0,0 +1 @@
export type PasswordRule = 'small' | 'capital' | 'number' | 'special';

10
npm/ng-packs/packages/theme-shared/src/lib/tests/validation-utils.spec.ts

@ -4,10 +4,11 @@ import { HttpClient } from '@angular/common/http';
import { Component, Injector } from '@angular/core';
import { Validators } from '@angular/forms';
import { createComponentFactory, Spectator } from '@ngneat/spectator/jest';
import { validatePassword } from '@ngx-validate/core';
import { OAuthService } from 'angular-oauth2-oidc';
import { of } from 'rxjs';
import { getPasswordValidators } from '../utils';
import { getPasswordValidators, validatePassword } from '../utils';
import { PasswordRule } from '../models/validation';
@Component({ template: '', selector: 'abp-dummy' })
class DummyComponent {}
@ -47,8 +48,11 @@ describe('ValidationUtils', () => {
configState.refreshAppState();
const validators = getPasswordValidators(spectator.inject(Injector));
const passwordValidators = ['number', 'small', 'capital', 'special'].map(
(rule: PasswordRule) => validatePassword(rule),
);
const expectedValidators = [
validatePassword(['number', 'small', 'capital', 'special']),
...passwordValidators,
Validators.minLength(6),
Validators.maxLength(128),
];

7
npm/ng-packs/packages/theme-shared/src/lib/utils/validation-utils.ts

@ -1,7 +1,8 @@
import { ABP, ConfigStateService } from '@abp/ng.core';
import { Injector } from '@angular/core';
import { AbstractControl, ValidatorFn, Validators } from '@angular/forms';
import { PasswordRules, normalizeDiacritics } from '@ngx-validate/core';
import { normalizeDiacritics, PasswordRules } from '@ngx-validate/core';
import { PasswordRule } from "../models/validation";
const { minLength, maxLength } = Validators;
@ -51,7 +52,9 @@ const errorMessageMap = {
special: 'passwordRequiresNonAlphanumeric',
};
function validatePassword(shouldContain: 'small' | 'capital' | 'number' | 'special'): ValidatorFn {
export function validatePassword(
shouldContain: PasswordRule
): ValidatorFn {
return (control: AbstractControl) => {
if (!control.value) return null;

Loading…
Cancel
Save