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
|
import CommentTypeToggle from '~/comment_type_toggle';
import DropLab from '@gitlab-org/droplab';
import InputSetter from '@gitlab-org/droplab/dist/plugins/InputSetter';
describe('CommentTypeToggle', function () {
describe('class constructor', function () {
beforeEach(function () {
this.trigger = {};
this.list = {};
this.input = {};
this.button = {};
this.commentTypeToggle = new CommentTypeToggle(
this.trigger,
this.list,
this.input,
this.button,
);
});
it('should set .trigger', function () {
expect(this.commentTypeToggle.trigger).toBe(this.trigger);
});
it('should set .list', function () {
expect(this.commentTypeToggle.list).toBe(this.list);
});
it('should set .input', function () {
expect(this.commentTypeToggle.input).toBe(this.input);
});
it('should set .button', function () {
expect(this.commentTypeToggle.button).toBe(this.button);
});
});
describe('initDroplab', function () {
beforeEach(function () {
this.commentTypeToggle = {
trigger: {},
list: {},
input: {},
button: {},
};
this.droplab = jasmine.createSpyObj('droplab', ['addHook']);
spyOn(window, 'DropLab').and.returnValue(this.droplab);
this.initDroplab = CommentTypeToggle.prototype.initDroplab.call(this.commentTypeToggle);
});
it('should instantiate a DropLab instance', function () {
expect(window.DropLab).toHaveBeenCalled();
});
it('should set .droplab', function () {
expect(this.commentTypeToggle.droplab).toBe(this.droplab);
});
it('should call DropLab.prototype.addHook', function () {
expect(this.droplab.addHook).toHaveBeenCalledWith(
this.commentTypeToggle.trigger,
this.commentTypeToggle.list,
[InputSetter],
{
InputSetter: [{
input: this.commentTypeToggle.input,
valueAttribute: 'data-value',
}, {
input: this.commentTypeToggle.button,
valueAttribute: 'data-button-text',
}],
},
);
});
});
});
|