import { TestBed } from '@angular/core/testing'; import { ValidationService } from './validation.service'; // TODO let validationService: ValidationService; describe('ValidationService', () => { beforeEach(() => { TestBed.configureTestingModule({ providers: [ValidationService] }); validationService = TestBed.inject(ValidationService); }); it('should be created', () => { expect(validationService).toBeTruthy(); }); // it('should return true on a correct username', () => { // expect(validationService.username('abc')).toEqual({ok: true, error: ''}); // }); // // it('should return an error on an incorrect username', () => { // expect(validationService.username('abc#')).toEqual({ok: false, error: 'username must only contain a-z0-9-_.'}); // }); // // it('should return true on a correct password', () => { // expect(validationService.password('Abc123!#')).toEqual({ok: true, error: ''}); // }); // // it('should return an error on a password too short', () => { // expect(validationService.password('Abc123')).toEqual({ok: false, error: 'password must have at least 8 characters'}); // }); // // it('should return an error on a password without a lowercase letter', () => { // expect(validationService.password('ABC123!#')).toEqual({ok: false, error: 'password must have at least one lowercase character'}); // }); // // it('should return an error on a password without an uppercase letter', () => { // expect(validationService.password('abc123!#')).toEqual({ok: false, error: 'password must have at least one uppercase character'}); // }); // // it('should return an error on a password without a number', () => { // expect(validationService.password('Abcabc!#')).toEqual({ok: false, error: 'password must have at least one number'}); // }); // // it('should return an error on a password without a special character', () => { // expect(validationService.password('Abc12345')).toEqual({ok: false, error: 'password must have at least one of the following characters !"#%&\'()*+,-.\\/:;<=>?@[]^_`{|}~'}); // }); // // it('should return an error on a password with a character not allowed', () => { // expect(validationService.password('Abc123!€')).toEqual({ok: false, error: 'password must only contain a-zA-Z0-9!"#%&\'()*+,-./:;<=>?@[]^_`{|}~'}); // }); // // it('should return true on a correct string', () => { // expect(validationService.string('Abc')).toEqual({ok: true, error: ''}); // }); // // it('should return an error on a string too long', () => { // expect(validationService.string('abcabcabcbabcbabcabcabacbabcabcabcbabcbabcabcabacbabcabcabcbabcbabcabcabacbabcabcabcbabcbabcabcabacbabcabcabcbabcbabcabcabacbacab')).toEqual({ok: false, error: 'must contain max 128 characters'}); // }); // // it('should return true on a string in the list', () => { // expect(validationService.stringOf('Abc', ['Abc', 'Def'])).toEqual({ok: true, error: ''}); // }); // // it('should return an error on a string not in the list', () => { // expect(validationService.stringOf('abc', ['Abc', 'Def'])).toEqual({ok: false, error: 'must be one of Abc, Def'}); // }); // // it('should return true on a string of correct length', () => { // expect(validationService.stringLength('Abc', 5)).toEqual({ok: true, error: ''}); // }); // // it('should return an error on a string longer than specified', () => { // expect(validationService.stringLength('Abc', 2)).toEqual({ok: false, error: 'must contain max 2 characters'}); // }); // // it('should return true on a number in the range', () => { // expect(validationService.minMax(2, -2, 2)).toEqual({ok: true, error: ''}); // }); // // it('should return an error on a number below the range', () => { // expect(validationService.minMax(0, 1, 3)).toEqual({ok: false, error: 'must be between 1 and 3'}); // }); // // it('should return an error on a number above the range', () => { // expect(validationService.minMax(3.1, 1, 3)).toEqual({ok: false, error: 'must be between 1 and 3'}); // }); // // it('should return true on a number above min', () => { // expect(validationService.min(2, -2)).toEqual({ok: true, error: ''}); // }); // // it('should return an error on a number below min', () => { // expect(validationService.min(0, 1)).toEqual({ok: false, error: 'must not be below 1'}); // }); // // it('should return true on a number below max', () => { // expect(validationService.max(2, 2)).toEqual({ok: true, error: ''}); // }); // // it('should return an error on a number above max', () => { // expect(validationService.max(2, 1)).toEqual({ok: false, error: 'must not be above 1'}); // }); // // it('should return true on a string not in the list', () => { // expect(validationService.unique('Abc', ['Def', 'Ghi'])).toEqual({ok: true, error: ''}); // }); // // it('should return an error on a string from the list', () => { // expect(validationService.unique('Abc', ['Abc', 'Def'])).toEqual({ok: false, error: 'values must be unique'}); // }); });