Welcome to mirror list, hosted at ThFree Co, Russian Federation.

utils_spec.js « work_items « frontend « spec - gitlab.com/gitlab-org/gitlab-foss.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
blob: b8af5f10a5aaf0bb37033ec521123aeda8e5da10 (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
34
35
36
37
38
39
40
41
42
43
44
45
46
import {
  autocompleteDataSources,
  markdownPreviewPath,
  getWorkItemTodoOptimisticResponse,
} from '~/work_items/utils';
import { workItemResponseFactory } from './mock_data';

describe('autocompleteDataSources', () => {
  beforeEach(() => {
    gon.relative_url_root = '/foobar';
  });

  it('returns corrrect data sources', () => {
    expect(autocompleteDataSources('project/group', '2')).toMatchObject({
      commands: '/foobar/project/group/-/autocomplete_sources/commands?type=WorkItem&type_id=2',
      labels: '/foobar/project/group/-/autocomplete_sources/labels?type=WorkItem&type_id=2',
      members: '/foobar/project/group/-/autocomplete_sources/members?type=WorkItem&type_id=2',
    });
  });
});

describe('markdownPreviewPath', () => {
  beforeEach(() => {
    gon.relative_url_root = '/foobar';
  });

  it('returns corrrect data sources', () => {
    expect(markdownPreviewPath('project/group', '2')).toEqual(
      '/foobar/project/group/preview_markdown?target_type=WorkItem&target_id=2',
    );
  });
});

describe('getWorkItemTodoOptimisticResponse', () => {
  it.each`
    scenario     | pendingTodo | result
    ${'empty'}   | ${false}    | ${0}
    ${'present'} | ${true}     | ${1}
  `('returns correct response when pending item list is $scenario', ({ pendingTodo, result }) => {
    const workItem = workItemResponseFactory({ canUpdate: true });
    expect(
      getWorkItemTodoOptimisticResponse({ workItem, pendingTodo }).workItemUpdate.workItem
        .widgets[0].currentUserTodos.edges.length,
    ).toBe(result);
  });
});