Skip to content

Commit a87dab2

Browse files
authored
Update progress.spec.js
1 parent 3bf3622 commit a87dab2

File tree

1 file changed

+68
-3
lines changed

1 file changed

+68
-3
lines changed
Lines changed: 68 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,71 @@
1-
import { loadFixture, testVM } from '../../../tests/utils'
1+
import Progress from './progress'
2+
import { mount } from '@vue/test-utils'
23

34
describe('progress', () => {
4-
beforeEach(loadFixture(__dirname, 'progress'))
5-
testVM()
5+
it('has expected default structure', async () => {
6+
const wrapper = mount(Progress)
7+
8+
expect(wrapper.isVueInstance()).toBe(true)
9+
expect(wrapper.is('div')).toBe(true)
10+
expect(wrapper.classes()).toContain('progress')
11+
expect(wrapper.text()).toEqual('')
12+
expect(wrapper.findAll('.progress-bar').length).toBe(1)
13+
const $bar = wrapper.find('.progress-bar')
14+
expect($bar.is('div')).toBe(true)
15+
expect($bar.attributes('role')).toBe('progressbar')
16+
expect($bar.attributes('aria-valuemin')).toBe('0')
17+
expect($bar.attributes('aria-valuemax')).toBe('100')
18+
expect($bar.attributes('aria-valuenow')).toBe('0')
19+
expect($bar.attributes('style')).toBe('width: 0%;')
20+
21+
wrapper.destroy()
22+
})
23+
24+
it('renders content from default slot', async () => {
25+
const wrapper = mount(Progress, {
26+
slots: {
27+
default: '<b>foobar</b>'
28+
}
29+
})
30+
31+
expect(wrapper.isVueInstance()).toBe(true)
32+
expect(wrapper.is('div')).toBe(true)
33+
expect(wrapper.classes()).toContain('progress')
34+
expect(wrapper.text()).toEqual('foobar')
35+
expect(wrapper.findAll('.progress-bar').length).toBe(0)
36+
})
37+
38+
it('has progress-bar child with expected parameters', async () => {
39+
const wrapper = mount(Progress, {
40+
propsData: {
41+
value: 25,
42+
max: 50,
43+
variant: 'success',
44+
striped: true,
45+
animated: true,
46+
showValue: true
47+
}
48+
})
49+
50+
expect(wrapper.isVueInstance()).toBe(true)
51+
expect(wrapper.is('div')).toBe(true)
52+
expect(wrapper.classes()).toContain('progress')
53+
expect(wrapper.findAll('.progress-bar').length).toBe(1)
54+
55+
const $bar = wrapper.find('.progress-bar')
56+
expect($bar.is('div')).toBe(true)
57+
expect($bar.attributes('role')).toBe('progressbar')
58+
expect($bar.attributes('aria-valuemin')).toBe('0')
59+
expect($bar.attributes('aria-valuemax')).toBe('50')
60+
expect($bar.attributes('aria-valuenow')).toBe('25')
61+
expect($bar.attributes('style')).toBe('width: 50%;')
62+
expect($bar.classes()).toContain('bg-success')
63+
expect($bar.classes()).toContain('progress-bar')
64+
expect($bar.classes()).toContain('progress-bar-striped')
65+
expect($bar.classes()).toContain('progress-bar-animated')
66+
expect($bar.classes().length).toBe(4)
67+
expect($bar.text()).toEqual('25')
68+
69+
wrapper.destroy()
70+
})
671
})

0 commit comments

Comments
 (0)