Spaces:
Build error
Build error
| import { upsertIntoArrayOfObjectsComparingId } from '@/utils/array/upsertIntoArrayOfObjectsComparingId'; | |
| type TestObject = { | |
| id: string; | |
| name: string; | |
| }; | |
| const mockTestObjects: TestObject[] = [ | |
| { | |
| id: '1', | |
| name: 'Test 1', | |
| }, | |
| { | |
| id: '2', | |
| name: 'Test 2', | |
| }, | |
| { | |
| id: '3', | |
| name: 'Test 3', | |
| }, | |
| { | |
| id: '4', | |
| name: 'Test 4', | |
| }, | |
| ]; | |
| describe('upsertIntoArrayOfObjectsComparingId', () => { | |
| it('should insert in empty array', () => { | |
| expect( | |
| upsertIntoArrayOfObjectsComparingId([], mockTestObjects[0]), | |
| ).toStrictEqual([mockTestObjects[0]]); | |
| }); | |
| it('should insert in array', () => { | |
| const newItem: TestObject = { | |
| id: '5', | |
| name: 'Test 5', | |
| }; | |
| expect( | |
| upsertIntoArrayOfObjectsComparingId(mockTestObjects, newItem), | |
| ).toStrictEqual([...mockTestObjects, newItem]); | |
| }); | |
| it('should replace in array', () => { | |
| const itemToReplace: TestObject = { | |
| id: '4', | |
| name: 'Test 4 replaced', | |
| }; | |
| expect( | |
| upsertIntoArrayOfObjectsComparingId(mockTestObjects, itemToReplace), | |
| ).toStrictEqual([ | |
| mockTestObjects[0], | |
| mockTestObjects[1], | |
| mockTestObjects[2], | |
| itemToReplace, | |
| ]); | |
| }); | |
| }); | |