29 lines
984 B
TypeScript
29 lines
984 B
TypeScript
import { describe, expect, it } from 'vitest';
|
||
import { membersFirst, preselectMembers } from './preselect';
|
||
|
||
const entities = [
|
||
{ id: 'a', name: 'А', inn: '1' },
|
||
{ id: 'b', name: 'Б', inn: '2' },
|
||
];
|
||
|
||
describe('preselectMembers', () => {
|
||
it('отмечает только тех членов ГСК, что есть среди ЮЛ ГК', () => {
|
||
expect(preselectMembers(['b', 'x'], entities)).toEqual(['b']);
|
||
});
|
||
it('пустая ГСК — ничего', () => {
|
||
expect(preselectMembers([], entities)).toEqual([]);
|
||
});
|
||
});
|
||
|
||
describe('membersFirst', () => {
|
||
it('члены ГСК — наверх, порядок внутри групп сохраняется', () => {
|
||
const list = [
|
||
{ id: 'a', name: 'А', inn: '1' },
|
||
{ id: 'b', name: 'Б', inn: '2' },
|
||
{ id: 'c', name: 'В', inn: '3' },
|
||
];
|
||
expect(membersFirst(list, ['c']).map((e) => e.id)).toEqual(['c', 'a', 'b']);
|
||
expect(membersFirst(list, []).map((e) => e.id)).toEqual(['a', 'b', 'c']);
|
||
});
|
||
});
|