24 lines
		
	
	
		
			689 B
		
	
	
	
		
			JavaScript
		
	
	
	
			
		
		
	
	
			24 lines
		
	
	
		
			689 B
		
	
	
	
		
			JavaScript
		
	
	
	
| import { isNavigatingAway, setNavigatingForTestsOnly } from '~/lib/utils/is_navigating_away';
 | |
| 
 | |
| describe('isNavigatingAway', () => {
 | |
|   beforeEach(() => {
 | |
|     // Make sure each test starts with the same state
 | |
|     setNavigatingForTestsOnly(false);
 | |
|   });
 | |
| 
 | |
|   it.each([false, true])('returns the navigation flag with value %s', (flag) => {
 | |
|     setNavigatingForTestsOnly(flag);
 | |
|     expect(isNavigatingAway()).toEqual(flag);
 | |
|   });
 | |
| 
 | |
|   describe('when the browser starts navigating away', () => {
 | |
|     it('returns true', () => {
 | |
|       expect(isNavigatingAway()).toEqual(false);
 | |
| 
 | |
|       window.dispatchEvent(new Event('beforeunload'));
 | |
| 
 | |
|       expect(isNavigatingAway()).toEqual(true);
 | |
|     });
 | |
|   });
 | |
| });
 |