summaryrefslogtreecommitdiff
path: root/spec/frontend/lib/utils/is_navigating_away_spec.js
blob: e1230fe96bf750133681c629a8fca213e5025137 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
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])('it 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);
    });
  });
});