summaryrefslogtreecommitdiff
path: root/spec/frontend/milestones/stores/getter_spec.js
blob: 4a6116b642c14bec67328464d5617461e06a3d5f (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
import * as getters from '~/milestones/stores/getters';

describe('Milestone comboxbox Vuex store getters', () => {
  describe('isLoading', () => {
    it.each`
      requestCount | isLoading
      ${2}         | ${true}
      ${1}         | ${true}
      ${0}         | ${false}
      ${-1}        | ${false}
    `('returns true when at least one request is in progress', ({ requestCount, isLoading }) => {
      expect(getters.isLoading({ requestCount })).toBe(isLoading);
    });
  });

  describe('groupMilestonesEnabled', () => {
    it.each`
      groupId | groupMilestonesAvailable | groupMilestonesEnabled
      ${'1'}  | ${true}                  | ${true}
      ${'1'}  | ${false}                 | ${false}
      ${''}   | ${true}                  | ${false}
      ${''}   | ${false}                 | ${false}
      ${null} | ${true}                  | ${false}
    `(
      'returns true when groupId is a truthy string and groupMilestonesAvailable is true',
      ({ groupId, groupMilestonesAvailable, groupMilestonesEnabled }) => {
        expect(getters.groupMilestonesEnabled({ groupId, groupMilestonesAvailable })).toBe(
          groupMilestonesEnabled,
        );
      },
    );
  });
});