Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Appearance settings

Commit 080843f

Browse filesBrowse files
committed
test: update
1 parent f3e81d5 commit 080843f
Copy full SHA for 080843f

13 files changed

+131
-162
lines changed

‎src/components/carousel/test/CCarousel.spec.js

Copy file name to clipboardExpand all lines: src/components/carousel/test/CCarousel.spec.js
+7-4Lines changed: 7 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -2,8 +2,8 @@ import { mount } from '@vue/test-utils'
22
import Component from '../CCarousel'
33
import CCarouselItem from '../CCarouselItem'
44

5-
const props = Object.assign({}, CCarouselItem.props, { active: { default: true}})
6-
const item = Object.assign({}, CCarouselItem, { props })
5+
// const props = Object.assign({}, CCarouselItem.props, { active: { default: true}})
6+
// const item = Object.assign({}, CCarouselItem, { props })
77

88
const ComponentName = 'CCarousel'
99
const defaultWrapper = mount(Component)
@@ -19,7 +19,10 @@ const createWrapper = () => {
1919
height: '200'
2020
},
2121
slots: {
22-
default: [item, CCarouselItem, CCarouselItem]
22+
default: ['<CCarouselItem :active="true"/>', CCarouselItem, CCarouselItem]
23+
},
24+
stubs: {
25+
CCarouselItem
2326
}
2427
})
2528
}
@@ -61,7 +64,7 @@ describe(ComponentName, () => {
6164
const nextArrowClick = () => nextButton.trigger('click')
6265

6366
jest.useFakeTimers()
64-
customWrapper.setData({ waitingItem: null, transitioning: false })
67+
customWrapper.setData({ transitioning: false })
6568

6669
nextArrowClick()
6770
expect(customWrapper.vm.transitioning).toBe(true)

‎src/components/dropdown/tests/CDropdown.spec.js

Copy file name to clipboardExpand all lines: src/components/dropdown/tests/CDropdown.spec.js
+69-21Lines changed: 69 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -1,30 +1,68 @@
11
import { mount, createLocalVue } from '@vue/test-utils'
2-
import Component from '../CDropdown'
3-
import CDropdownItem from '../CDropdownItem'
2+
import {
3+
CDropdown,
4+
CDropdownItem,
5+
CDropdownHeader,
6+
CDropdownDivider
7+
} from '../index'
8+
import VueRouter from 'vue-router'
9+
410
const ComponentName = 'CDropdown'
511

6-
const generateWrapper = () => mount(Component, {
7-
attachToDocument: true,
8-
propsData: {
9-
togglerText: 'Dropdown button',
10-
show: true,
11-
addMenuClasses: 'additional-menu-class',
12-
addTogglerClasses: 'additional-toggler-class',
13-
inNav: false,
14-
caret: false,
15-
color: 'success',
16-
size: 'lg',
17-
split: true,
18-
offset: [20, 0],
19-
placement: 'right-end',
20-
flip: false,
12+
const localVue = new createLocalVue()
13+
localVue.use(VueRouter)
14+
const router = new VueRouter()
15+
16+
const dropdownProps = {
17+
togglerText: 'Dropdown button',
18+
show: true,
19+
addMenuClasses: 'additional-menu-class',
20+
addTogglerClasses: 'additional-toggler-class',
21+
inNav: false,
22+
caret: false,
23+
color: 'success',
24+
size: 'lg',
25+
split: true,
26+
offset: [20, 0],
27+
placement: 'right-end',
28+
flip: false
29+
}
30+
31+
const App = localVue.extend({
32+
router,
33+
components: {
34+
CDropdown,
35+
CDropdownItem,
36+
CDropdownHeader,
37+
CDropdownDivider
2138
},
39+
render (h) {
40+
return h('CDropdown', { props: dropdownProps }, [
41+
h('CDropdownHeader', ['header']),
42+
h('CDropdownItem', { props: { to: '/buttons' } }, ['Router-link']),
43+
h('CDropdownDivider'),
44+
//router link item
45+
h('CDropdownItem', { props: { to: '/dashboard' } }, ['Router-link'])
46+
])
47+
}
48+
})
49+
50+
const generateAppWrapper = () => mount(App, { localVue })
51+
52+
53+
const generateWrapper = () => mount(CDropdown, {
54+
attachToDocument: true,
55+
propsData: dropdownProps,
2256
slots: {
23-
default: [CDropdownItem, CDropdownItem]
57+
default: [
58+
CDropdownHeader,
59+
CDropdownItem,
60+
CDropdownDivider
61+
]
2462
}
2563
})
2664

27-
const generateNavWrapper = () => mount(Component, {
65+
const generateNavWrapper = () => mount(CDropdown, {
2866
propsData: {
2967
addMenuClasses: 'additional-menu-class',
3068
addTogglerClasses: 'additional-toggler-class',
@@ -43,14 +81,17 @@ const generateNavWrapper = () => mount(Component, {
4381

4482
describe(ComponentName, () => {
4583
it('has a name', () => {
46-
expect(Component.name).toMatch(ComponentName)
84+
expect(CDropdown.name).toMatch(ComponentName)
4785
})
4886
it('renders basic wrapper correctly', () => {
49-
expect(mount(Component).element).toMatchSnapshot()
87+
expect(mount(CDropdown).element).toMatchSnapshot()
5088
})
5189
it('renders custom wrapper correctly', () => {
5290
expect(generateWrapper().element).toMatchSnapshot()
5391
})
92+
it('renders dropdown with router links correctly', () => {
93+
expect(generateWrapper().element).toMatchSnapshot()
94+
})
5495
it('renders correctly inNav', () => {
5596
expect(generateNavWrapper().element).toMatchSnapshot()
5697
})
@@ -66,6 +107,13 @@ describe(ComponentName, () => {
66107
wrapper.vm.$children[0].$el.click()
67108
expect(wrapper.vm.visible).toBe(false)
68109
})
110+
it('hide when dropdown item - router link is clicked', () => {
111+
const wrapper = generateAppWrapper()
112+
const isVisible = () => wrapper.vm.$children[0].visible
113+
expect(isVisible()).toBe(true)
114+
wrapper.findAll('.dropdown-item').at(1).trigger('click')
115+
expect(isVisible()).toBe(false)
116+
})
69117
it('close, but does not open on click when dropdown is disabled', () => {
70118
const customWrapper = generateWrapper()
71119
const toggle = () => {

‎src/components/dropdown/tests/CDropdownDivider.spec.js

Copy file name to clipboardExpand all lines: src/components/dropdown/tests/CDropdownDivider.spec.js
-22Lines changed: 0 additions & 22 deletions
This file was deleted.

‎src/components/dropdown/tests/CDropdownHeader.spec.js

Copy file name to clipboardExpand all lines: src/components/dropdown/tests/CDropdownHeader.spec.js
-25Lines changed: 0 additions & 25 deletions
This file was deleted.

‎src/components/dropdown/tests/CDropdownItem.spec.js

Copy file name to clipboardExpand all lines: src/components/dropdown/tests/CDropdownItem.spec.js
-25Lines changed: 0 additions & 25 deletions
This file was deleted.

‎src/components/dropdown/tests/__snapshots__/CDropdown.spec.js.snap

Copy file name to clipboardExpand all lines: src/components/dropdown/tests/__snapshots__/CDropdown.spec.js.snap
+38Lines changed: 38 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -59,18 +59,56 @@ exports[`CDropdown renders custom wrapper correctly 1`] = `
5959
<div
6060
class="additional-menu-class dropdown-menu show"
6161
>
62+
<div
63+
class="dropdown-header"
64+
/>
6265
<a
6366
class="dropdown-item"
6467
href="#"
6568
role="menuitem"
6669
target="_self"
6770
/>
71+
<div
72+
class="dropdown-divider"
73+
role="separator"
74+
/>
75+
</div>
76+
</div>
77+
`;
78+
79+
exports[`CDropdown renders dropdown with router links correctly 1`] = `
80+
<div
81+
class="dropright show btn-group"
82+
>
83+
<button
84+
class="additional-toggler-class btn btn-lg btn-success"
85+
>
86+
Dropdown button
87+
</button>
88+
89+
<button
90+
aria-expanded="true"
91+
aria-haspopup="true"
92+
class="dropdown-toggle dropdown-toggle-split additional-toggler-class btn btn-lg btn-success"
93+
type="button"
94+
/>
95+
96+
<div
97+
class="additional-menu-class dropdown-menu show"
98+
>
99+
<div
100+
class="dropdown-header"
101+
/>
68102
<a
69103
class="dropdown-item"
70104
href="#"
71105
role="menuitem"
72106
target="_self"
73107
/>
108+
<div
109+
class="dropdown-divider"
110+
role="separator"
111+
/>
74112
</div>
75113
</div>
76114
`;

‎src/components/dropdown/tests/__snapshots__/CDropdownDivider.spec.js.snap

Copy file name to clipboardExpand all lines: src/components/dropdown/tests/__snapshots__/CDropdownDivider.spec.js.snap
-15Lines changed: 0 additions & 15 deletions
This file was deleted.

‎src/components/dropdown/tests/__snapshots__/CDropdownHeader.spec.js.snap

Copy file name to clipboardExpand all lines: src/components/dropdown/tests/__snapshots__/CDropdownHeader.spec.js.snap
-17Lines changed: 0 additions & 17 deletions
This file was deleted.

‎src/components/dropdown/tests/__snapshots__/CDropdownItem.spec.js.snap

Copy file name to clipboardExpand all lines: src/components/dropdown/tests/__snapshots__/CDropdownItem.spec.js.snap
-21Lines changed: 0 additions & 21 deletions
This file was deleted.

‎src/components/form/tests/CSelect.spec.js

Copy file name to clipboardExpand all lines: src/components/form/tests/CSelect.spec.js
+8-3Lines changed: 8 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -6,24 +6,25 @@ const wrapperPlaintext = mount(Component, {
66
propsData: {
77
id: 'some_id',
88
plaintext: true,
9-
options: ['Option 1', 'Option 2', { value: 'Option 3 '}],
9+
options: ['Option 1', 'Option 2', { value: 'Option 3'}],
1010
placeholder: 'placeholder',
1111
size: 'lg'
1212
}
1313
})
1414
const customSimpleWrapper = mount(Component, {
1515
propsData: {
1616
id: 'some_id',
17-
options: ['Option 1', 'Option 2', { value: 'Option 3 '}],
17+
options: ['Option 1', 'Option 2', { value: 'Option 3'}],
1818
size: 'lg',
1919
custom: true
2020
}
2121
})
2222
const customWrapper = mount(Component, {
23+
attachToDocument: true,
2324
propsData: {
2425
label: 'label',
2526
id: 'some_id',
26-
options: ['Option 1', 'Option 2', { value: 'Option 3 '}],
27+
options: ['Option 1', 'Option 2', { value: 'Option 3'}],
2728
placeholder: 'placeholder',
2829
wasValidated: true,
2930
checked: true,
@@ -69,6 +70,10 @@ describe(ComponentName, () => {
6970
select.element.value = 'Option 2'
7071
select.trigger('input')
7172
expect(customWrapper.emitted()['update:value']).toBeTruthy()
73+
const select2 = customSimpleWrapper.find('select')
74+
select2.element.value = 'Option 3'
75+
select2.trigger('input')
76+
expect(customSimpleWrapper.emitted()['update:value']).toBeTruthy()
7277
})
7378
it('not emit update event on multiple select', () => {
7479
const select = wrapperMultiple.find('select')

0 commit comments

Comments
0 (0)
Morty Proxy This is a proxified and sanitized view of the page, visit original site.