117 lines
5.0 KiB
TypeScript
117 lines
5.0 KiB
TypeScript
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'});
|
|
// });
|
|
});
|