You've already forked joplin
mirror of
https://github.com/laurent22/joplin.git
synced 2025-11-26 22:41:17 +02:00
This commit is contained in:
31
packages/lib/BaseModel.test.ts
Normal file
31
packages/lib/BaseModel.test.ts
Normal file
@@ -0,0 +1,31 @@
|
||||
import BaseModel from './BaseModel';
|
||||
|
||||
describe('BaseModel', () => {
|
||||
test.each([
|
||||
[0, 0],
|
||||
[4, 10],
|
||||
[10, 4],
|
||||
[5, 5],
|
||||
])('should filter items by IDs (itemCount: %d, idCount: %d)', (itemCount, idCount) => {
|
||||
const items = [];
|
||||
const ids = [];
|
||||
|
||||
const expectedMatchingItems = [];
|
||||
for (let i = 0; i < idCount; i++) {
|
||||
const id = `matching-${i}`;
|
||||
ids.push(id);
|
||||
|
||||
if (items.length < itemCount) {
|
||||
const item = { id };
|
||||
items.push(item);
|
||||
expectedMatchingItems.push(item);
|
||||
}
|
||||
}
|
||||
|
||||
while (items.length < itemCount) {
|
||||
items.push({ id: `non-matching-${items.length}` });
|
||||
}
|
||||
|
||||
expect(BaseModel.modelsByIds(items, ids)).toMatchObject(expectedMatchingItems);
|
||||
});
|
||||
});
|
||||
Reference in New Issue
Block a user