dashboard_spec.js.es6 917 Bytes
Newer Older
1
/* eslint-disable no-new */
2

3 4
require('~/sidebar');
require('~/lib/utils/text_utility');
Clement Ho's avatar
Clement Ho committed
5 6 7

((global) => {
  describe('Dashboard', () => {
8
    const fixtureTemplate = 'static/dashboard.html.raw';
Clement Ho's avatar
Clement Ho committed
9 10 11 12 13 14 15 16 17

    function todosCountText() {
      return $('.js-todos-count').text();
    }

    function triggerToggle(newCount) {
      $(document).trigger('todo:toggle', newCount);
    }

18
    preloadFixtures(fixtureTemplate);
Clement Ho's avatar
Clement Ho committed
19
    beforeEach(() => {
20
      loadFixtures(fixtureTemplate);
Clement Ho's avatar
Clement Ho committed
21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37
      new global.Sidebar();
    });

    it('should update todos-count after receiving the todo:toggle event', () => {
      triggerToggle(5);
      expect(todosCountText()).toEqual('5');
    });

    it('should display todos-count with delimiter', () => {
      triggerToggle(1000);
      expect(todosCountText()).toEqual('1,000');

      triggerToggle(1000000);
      expect(todosCountText()).toEqual('1,000,000');
    });
  });
})(window.gl);