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
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
|
import {
issuable1,
issuable2,
issuable3,
issuable4,
issuable5,
} from 'jest/issuable/components/related_issuable_mock_data';
import RelatedIssuesStore from '~/related_issues/stores/related_issues_store';
describe('RelatedIssuesStore', () => {
let store;
beforeEach(() => {
store = new RelatedIssuesStore();
});
describe('setRelatedIssues', () => {
it('defaults to empty array', () => {
expect(store.state.relatedIssues).toEqual([]);
});
it('sets issues', () => {
const relatedIssues = [issuable1];
store.setRelatedIssues(relatedIssues);
expect(store.state.relatedIssues).toEqual(relatedIssues);
});
});
describe('addRelatedIssues', () => {
it('adds related issues', () => {
store.state.relatedIssues = [issuable1];
store.addRelatedIssues([issuable2, issuable3]);
expect(store.state.relatedIssues).toEqual([issuable1, issuable2, issuable3]);
});
});
describe('removeRelatedIssue', () => {
it('removes issue', () => {
store.state.relatedIssues = [issuable1];
store.removeRelatedIssue(issuable1);
expect(store.state.relatedIssues).toEqual([]);
});
it('removes issue with multiple in store', () => {
store.state.relatedIssues = [issuable1, issuable2];
store.removeRelatedIssue(issuable1);
expect(store.state.relatedIssues).toEqual([issuable2]);
});
});
describe('updateIssueOrder', () => {
it('updates issue order', () => {
store.state.relatedIssues = [issuable1, issuable2, issuable3, issuable4, issuable5];
expect(store.state.relatedIssues[3].id).toBe(issuable4.id);
store.updateIssueOrder(3, 0);
expect(store.state.relatedIssues[0].id).toBe(issuable4.id);
});
});
describe('setPendingReferences', () => {
it('defaults to empty array', () => {
expect(store.state.pendingReferences).toEqual([]);
});
it('sets pending references', () => {
const relatedIssues = [issuable1.reference];
store.setPendingReferences(relatedIssues);
expect(store.state.pendingReferences).toEqual(relatedIssues);
});
});
describe('addPendingReferences', () => {
it('adds a reference', () => {
store.state.pendingReferences = [issuable1.reference];
store.addPendingReferences([issuable2.reference, issuable3.reference]);
expect(store.state.pendingReferences).toEqual([
issuable1.reference,
issuable2.reference,
issuable3.reference,
]);
});
});
describe('removePendingRelatedIssue', () => {
it('removes issue', () => {
store.state.pendingReferences = [issuable1.reference];
store.removePendingRelatedIssue(0);
expect(store.state.pendingReferences).toEqual([]);
});
it('removes issue with multiple in store', () => {
store.state.pendingReferences = [issuable1.reference, issuable2.reference];
store.removePendingRelatedIssue(0);
expect(store.state.pendingReferences).toEqual([issuable2.reference]);
});
});
});
|