Управление заявками (#7)
Tests / frontend-test (push) Successful in 43s
Tests / backend-test (push) Successful in 2m36s

Co-authored-by: gorbenko.pavel <gorbenko.pavel@tansu.kz>
Reviewed-on: http://git.tnsu.kz/gorbenko.pavel/tnsu-approval-route/pulls/7
This commit was merged in pull request #7.
This commit is contained in:
2026-08-07 09:49:38 +00:00
parent 9d9f390548
commit 0ffa032ade
42 changed files with 2436 additions and 65 deletions
@@ -0,0 +1,36 @@
import { Employee } from '../models';
import { findEmployeeByEmail, toEmployeeOption } from './employee';
const employees: Employee[] = [
{ fio: 'Горбенко Павел', email: 'gorbenko.pavel@tnsu.kz', position: 'Разработчик middle' },
{ fio: 'Соколов Давид', email: 'sokolov.david@tnsu.kz', position: 'Руководитель отдела' }
];
describe('findEmployeeByEmail', () => {
it('находит сотрудника по точному совпадению email', () => {
expect(findEmployeeByEmail(employees, 'gorbenko.pavel@tnsu.kz')?.fio).toBe('Горбенко Павел');
});
it('сравнение регистронезависимое', () => {
expect(findEmployeeByEmail(employees, 'GORBENKO.PAVEL@TNSU.KZ')?.fio).toBe('Горбенко Павел');
});
it('возвращает undefined, если email не задан', () => {
expect(findEmployeeByEmail(employees, undefined)).toBeUndefined();
expect(findEmployeeByEmail(employees, '')).toBeUndefined();
});
it('возвращает undefined, если сотрудник с таким email не найден', () => {
expect(findEmployeeByEmail(employees, 'nobody@tnsu.kz')).toBeUndefined();
});
});
describe('toEmployeeOption', () => {
it('строит опцию для SearchableSelect из сотрудника', () => {
expect(toEmployeeOption(employees[0])).toEqual({
value: 'gorbenko.pavel@tnsu.kz',
label: 'Горбенко Павел',
sublabel: 'gorbenko.pavel@tnsu.kz'
});
});
});