소스 검색

Add test for autoUpdate

Garrett Johnson 5 년 전
부모
커밋
b73462997d
1개의 변경된 파일32개의 추가작업 그리고 0개의 파일을 삭제
  1. 32 0
      test/PriorityQueue.test.js

+ 32 - 0
test/PriorityQueue.test.js

@@ -154,4 +154,36 @@ describe( 'PriorityQueue', () => {
 
 	} );
 
+	it( 'should not automatically run if autoUpdate is false.', async () => {
+
+		const queue = new PriorityQueue();
+		queue.priorityCallback = () => 0;
+		queue.autoUpdate = false;
+		queue.maxJobs = 1;
+
+		queue.add( {}, async () => {} );
+		queue.add( {}, async () => {} );
+
+		expect( queue.items ).toHaveLength( 2 );
+
+		await nextTick();
+
+		expect( queue.items ).toHaveLength( 2 );
+
+		queue.scheduleJobRun();
+		await nextTick();
+
+		expect( queue.items ).toHaveLength( 1 );
+
+		await nextTick();
+
+		expect( queue.items ).toHaveLength( 1 );
+
+		queue.scheduleJobRun();
+		await nextTick();
+
+		expect( queue.items ).toHaveLength( 0 );
+
+	});
+
 } );