Advertisement
the0938

Untitled

Mar 26th, 2024
318
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. const CHUNK_SIZE = 1000;
  2.  
  3. const generateNodeIds = (count) => {
  4.   Boolean(count);
  5.   return [];
  6. };
  7.  
  8. const generateDbResponse = (nodeIds) => {
  9.   Boolean(nodeIds);
  10.   return [];
  11. };
  12.  
  13. const makeShouldReturn = (nodesCount) => {
  14.   const title = nodesCount === 0 ? 'an empty array' : 'these node IDs';
  15.  
  16.   const nodeIds = generateNodeIds(nodesCount);
  17.   const dbResponse = generateDbResponse(nodeIds);
  18.  
  19.   beforeEach(() => {
  20.     spyOnSelect.mockResolvedValue(dbResponse);
  21.   });
  22.  
  23.   afterEach(() => {
  24.     spyOnSelect.mockReset();
  25.   });
  26.  
  27.   it(`it should return ${title}`, async () => {
  28.     const actualIds = await invoke();
  29.     expect(actualIds).toEqual(expectedIds);
  30.   });
  31. };
  32.  
  33. describe('getNodeIds()', () => {
  34.   describe(`when the database`, () => {
  35.     describe(`contains no nodes`, () => {
  36.       const nodeIds = generateNodeIds(0);
  37.       makeShouldReturn(nodeIds);
  38.     });
  39.  
  40.     describe(`contains less than one chunk size nodes`, () => {
  41.       const nodeIds = generateNodeIds(Math.round(CHUNK_SIZE * 0.5));
  42.       makeShouldReturn(nodeIds);
  43.     });
  44.  
  45.     describe(`contains more than one chunk size nodes`, () => {
  46.       const nodeIds = generateNodeIds(CHUNK_SIZE * 2);
  47.       makeShouldReturn(nodeIds);
  48.     });
  49.   });
  50. });
  51.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement