Add test for immutable operations

This commit is contained in:
Ramon Wenger 2022-02-01 16:07:39 +01:00
parent fe265f1184
commit c177097234
2 changed files with 60 additions and 3 deletions

View File

@ -19,7 +19,6 @@ export const removeAtIndex = (arr, idx) => {
]; ];
}; };
export const replaceAtIndex = (arr, idx, el) => { export const replaceAtIndex = (arr, idx, el) => {
console.log(idx);
return [ return [
...arr.slice(0, idx), ...arr.slice(0, idx),
el, el,

View File

@ -1,5 +1,63 @@
import {removeAtIndex, replaceAtIndex, insertAtIndex, pushToArray } from '@/graphql/immutable-operations';
describe('Cache operations', () => { describe('Cache operations', () => {
it('fails', () => { it('removes at index', () => {
// expect(1).toEqual(2); const original = [1, 2, 3];
const copy = removeAtIndex(original, 1);
expect(original.length).toBe(3);
expect(original).toEqual([1, 2, 3]);
expect(copy.length).toBe(2);
expect(copy).toEqual([1, 3]);
original.push(4);
expect(original.length).toBe(4);
expect(original).toEqual([1, 2, 3, 4]);
expect(copy.length).toBe(2);
expect(copy).toEqual([1, 3]);
}); });
it('replaces at index', () => {
const original = [1, 2, 3];
const copy = replaceAtIndex(original, 1, 234);
expect(original.length).toBe(3);
expect(original).toEqual([1, 2, 3]);
expect(copy.length).toBe(3);
expect(copy).toEqual([1, 234, 3]);
original.push(4);
expect(original.length).toBe(4);
expect(original).toEqual([1, 2, 3, 4]);
expect(copy.length).toBe(3);
expect(copy).toEqual([1, 234, 3]);
});
it('inserts at index', () => {
const original = [1, 2, 3];
const copy = insertAtIndex(original, 1, 234);
expect(original.length).toBe(3);
expect(original).toEqual([1, 2, 3]);
expect(copy.length).toBe(4);
expect(copy).toEqual([1, 234, 2, 3]);
original.push(4);
expect(original.length).toBe(4);
expect(original).toEqual([1, 2, 3, 4]);
expect(copy.length).toBe(4);
expect(copy).toEqual([1, 234, 2, 3]);
});
it('pushed to array', () => {
const original = [1, 2, 3];
const copy = pushToArray(original, 5);
expect(original.length).toBe(3);
expect(original).toEqual([1, 2, 3]);
expect(copy.length).toBe(4);
expect(copy).toEqual([1, 2, 3, 5]);
original.push(4);
expect(original.length).toBe(4);
expect(original).toEqual([1, 2, 3, 4]);
expect(copy.length).toBe(4);
expect(copy).toEqual([1, 2, 3, 5]);
});
}); });