Skip to content
Snippets Groups Projects
Commit fdcdcf93 authored by rhenck's avatar rhenck
Browse files

[editor] Fix IDService unit tests

parent 948e234f
No related branches found
No related tags found
No related merge requests found
Pipeline #41094 failed
import { IDManager } from 'common/util/id-manager';
import { IDService } from 'editor/src/app/services/id.service';
import { TestBed } from '@angular/core/testing';
describe('IDService', () => {
let manager: IDManager;
let idService: IDService;
beforeEach(() => {
manager = IDManager.getInstance();
manager.reset();
TestBed.configureTestingModule({});
idService = TestBed.inject(IDService);
idService.reset();
});
it('getNewID should fail on empty string param', () => {
expect(() => { manager.getNewID(''); }).toThrow(Error('ID-Service: No type given!'));
expect(() => { idService.getNewID(''); }).toThrow(Error('ID-Service: No type given!'));
});
it('getNewID should return first ID', () => {
expect(manager.getNewID('text')).toBe('text_1');
expect(idService.getNewID('text')).toBe('text_1');
});
it('getNewID should return different IDs - counting up', () => {
manager.getNewID('text');
expect(manager.getNewID('text')).toBe('text_2');
idService.getNewID('text');
expect(idService.getNewID('text')).toBe('text_2');
});
it('manager should return next id when one is already taken', () => {
manager.addID('text_1');
expect(manager.getNewID('text')).toBe('text_2');
it('idService should return next id when one is already taken', () => {
idService.addID('text_1');
expect(idService.getNewID('text')).toBe('text_2');
});
it('isIdAvailable should return false when id is already taken', () => {
expect(manager.isIdAvailable('text_1')).toBe(true);
manager.addID('text_1');
expect(manager.isIdAvailable('text_1')).toBe(false);
expect(manager.isIdAvailable('text_2')).toBe(true);
expect(idService.isIdAvailable('text_1')).toBe(true);
idService.addID('text_1');
expect(idService.isIdAvailable('text_1')).toBe(false);
expect(idService.isIdAvailable('text_2')).toBe(true);
});
it('isIdAvailable should return true when ID is returned (freed up)', () => {
expect(manager.isIdAvailable('text_1')).toBe(true);
manager.addID('text_1');
expect(manager.isIdAvailable('text_1')).toBe(false);
manager.removeId('text_1');
expect(manager.isIdAvailable('text_1')).toBe(true);
expect(idService.isIdAvailable('text_1')).toBe(true);
idService.addID('text_1');
expect(idService.isIdAvailable('text_1')).toBe(false);
idService.removeId('text_1');
expect(idService.isIdAvailable('text_1')).toBe(true);
});
});
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment