mirror of
				https://github.com/fooflington/selfdefined.git
				synced 2025-10-31 14:18:32 +00:00 
			
		
		
		
	
		
			
	
	
		
			123 lines
		
	
	
		
			3.1 KiB
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
		
		
			
		
	
	
			123 lines
		
	
	
		
			3.1 KiB
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
|   | import test from 'ava'; | ||
|  | 
 | ||
|  | import testCollection from '../../../_util/_mocks/testCollection.json'; | ||
|  | 
 | ||
|  | import findDefinitionContentNextItems from '../findDefinitionContentNextItems'; | ||
|  | 
 | ||
|  | test('finds no previous previous elements for the first item', (t) => { | ||
|  |   const { previous } = findDefinitionContentNextItems( | ||
|  |     testCollection[0].data, | ||
|  |     testCollection | ||
|  |   ); | ||
|  | 
 | ||
|  |   t.deepEqual(previous, []); | ||
|  | }); | ||
|  | 
 | ||
|  | test('finds one previous element for the second item', (t) => { | ||
|  |   const { previous } = findDefinitionContentNextItems( | ||
|  |     testCollection[1].data, | ||
|  |     testCollection | ||
|  |   ); | ||
|  | 
 | ||
|  |   t.deepEqual(previous, [testCollection[0].data]); | ||
|  | }); | ||
|  | 
 | ||
|  | test('finds two previous elements for the third item', (t) => { | ||
|  |   const { previous } = findDefinitionContentNextItems( | ||
|  |     testCollection[2].data, | ||
|  |     testCollection | ||
|  |   ); | ||
|  | 
 | ||
|  |   t.deepEqual(previous, [testCollection[0].data, testCollection[1].data]); | ||
|  | }); | ||
|  | 
 | ||
|  | test('finds three previous elements for the fourth item', (t) => { | ||
|  |   const { previous } = findDefinitionContentNextItems( | ||
|  |     testCollection[3].data, | ||
|  |     testCollection | ||
|  |   ); | ||
|  | 
 | ||
|  |   t.deepEqual(previous, [ | ||
|  |     testCollection[0].data, | ||
|  |     testCollection[1].data, | ||
|  |     testCollection[2].data | ||
|  |   ]); | ||
|  | }); | ||
|  | 
 | ||
|  | test('finds three previous elements for the eigth item', (t) => { | ||
|  |   const { previous } = findDefinitionContentNextItems( | ||
|  |     testCollection[7].data, | ||
|  |     testCollection | ||
|  |   ); | ||
|  | 
 | ||
|  |   t.deepEqual(previous, [ | ||
|  |     testCollection[4].data, | ||
|  |     testCollection[5].data, | ||
|  |     testCollection[6].data | ||
|  |   ]); | ||
|  | }); | ||
|  | 
 | ||
|  | test('finds three next elements for the eigth item', (t) => { | ||
|  |   const { next } = findDefinitionContentNextItems( | ||
|  |     testCollection[7].data, | ||
|  |     testCollection | ||
|  |   ); | ||
|  | 
 | ||
|  |   t.deepEqual(next, [ | ||
|  |     testCollection[8].data, | ||
|  |     testCollection[9].data, | ||
|  |     testCollection[10].data | ||
|  |   ]); | ||
|  | }); | ||
|  | 
 | ||
|  | test('finds three next elements for the fourth to last item', (t) => { | ||
|  |   const { next } = findDefinitionContentNextItems( | ||
|  |     testCollection[testCollection.length - 4].data, | ||
|  |     testCollection | ||
|  |   ); | ||
|  | 
 | ||
|  |   t.deepEqual(next, [ | ||
|  |     testCollection[testCollection.length - 3].data, | ||
|  |     testCollection[testCollection.length - 2].data, | ||
|  |     testCollection[testCollection.length - 1].data | ||
|  |   ]); | ||
|  | }); | ||
|  | 
 | ||
|  | test('finds two next elements for the third to last item', (t) => { | ||
|  |   const { next } = findDefinitionContentNextItems( | ||
|  |     testCollection[testCollection.length - 3].data, | ||
|  |     testCollection | ||
|  |   ); | ||
|  | 
 | ||
|  |   t.deepEqual(next, [ | ||
|  |     testCollection[testCollection.length - 2].data, | ||
|  |     testCollection[testCollection.length - 1].data | ||
|  |   ]); | ||
|  | }); | ||
|  | 
 | ||
|  | test('finds one next elements for the second to last item', (t) => { | ||
|  |   const { next } = findDefinitionContentNextItems( | ||
|  |     testCollection[testCollection.length - 2].data, | ||
|  |     testCollection | ||
|  |   ); | ||
|  | 
 | ||
|  |   t.deepEqual(next, [testCollection[testCollection.length - 1].data]); | ||
|  | }); | ||
|  | 
 | ||
|  | test('finds no next elements for the last item', (t) => { | ||
|  |   const { next } = findDefinitionContentNextItems( | ||
|  |     testCollection[testCollection.length - 1].data, | ||
|  |     testCollection | ||
|  |   ); | ||
|  | 
 | ||
|  |   t.deepEqual(next, []); | ||
|  | }); | ||
|  | 
 | ||
|  | test('throws if no slug has been given', (t) => { | ||
|  |   const error = t.throws(() => | ||
|  |     findDefinitionContentNextItems({ test: 'no-slug' }) | ||
|  |   ); | ||
|  | 
 | ||
|  |   t.is(error.message, 'E_NO_SLUG'); | ||
|  | }); |