11import { mount , createLocalVue as CreateLocalVue } from '@vue/test-utils'
22import { BIconPerson } from '../../icons/icons'
33import { BAvatar } from './avatar'
4- import { waitNT } from '../../../tests/utils'
54
65describe ( 'avatar' , ( ) => {
76 it ( 'should have expected default structure' , async ( ) => {
87 const wrapper = mount ( BAvatar )
9- expect ( wrapper . isVueInstance ( ) ) . toBe ( true )
108 expect ( wrapper . is ( 'span' ) ) . toBe ( true )
119 expect ( wrapper . classes ( ) ) . toContain ( 'b-avatar' )
1210 expect ( wrapper . classes ( ) ) . toContain ( 'badge-secondary' )
1311 expect ( wrapper . classes ( ) ) . not . toContain ( 'disabled' )
1412 expect ( wrapper . attributes ( 'href' ) ) . not . toBeDefined ( )
1513 expect ( wrapper . attributes ( 'type' ) ) . not . toBeDefined ( )
16- wrapper . destroy ( )
1714 } )
1815
1916 it ( 'should have expected structure when prop `button` set' , async ( ) => {
@@ -22,7 +19,6 @@ describe('avatar', () => {
2219 button : true
2320 }
2421 } )
25- expect ( wrapper . isVueInstance ( ) ) . toBe ( true )
2622 expect ( wrapper . is ( 'button' ) ) . toBe ( true )
2723 expect ( wrapper . classes ( ) ) . toContain ( 'b-avatar' )
2824 expect ( wrapper . classes ( ) ) . toContain ( 'btn-secondary' )
@@ -33,17 +29,6 @@ describe('avatar', () => {
3329 expect ( wrapper . text ( ) ) . toEqual ( '' )
3430 expect ( wrapper . find ( '.b-icon' ) . exists ( ) ) . toBe ( true )
3531 expect ( wrapper . find ( 'img' ) . exists ( ) ) . toBe ( false )
36-
37- expect ( wrapper . emitted ( 'click' ) ) . toBeUndefined ( )
38-
39- wrapper . trigger ( 'click' )
40- await waitNT ( wrapper . vm )
41-
42- expect ( wrapper . emitted ( 'click' ) ) . not . toBeUndefined ( )
43- expect ( wrapper . emitted ( 'click' ) . length ) . toBe ( 1 )
44- expect ( wrapper . emitted ( 'click' ) [ 0 ] [ 0 ] ) . toBeInstanceOf ( Event )
45-
46- wrapper . destroy ( )
4732 } )
4833
4934 it ( 'should have expected structure when prop `href` set' , async ( ) => {
@@ -52,7 +37,6 @@ describe('avatar', () => {
5237 href : '#foo'
5338 }
5439 } )
55- expect ( wrapper . isVueInstance ( ) ) . toBe ( true )
5640 expect ( wrapper . is ( 'a' ) ) . toBe ( true )
5741 expect ( wrapper . classes ( ) ) . toContain ( 'b-avatar' )
5842 expect ( wrapper . classes ( ) ) . toContain ( 'badge-secondary' )
@@ -64,17 +48,6 @@ describe('avatar', () => {
6448 expect ( wrapper . text ( ) ) . toEqual ( '' )
6549 expect ( wrapper . find ( '.b-icon' ) . exists ( ) ) . toBe ( true )
6650 expect ( wrapper . find ( 'img' ) . exists ( ) ) . toBe ( false )
67-
68- expect ( wrapper . emitted ( 'click' ) ) . toBeUndefined ( )
69-
70- wrapper . trigger ( 'click' )
71- await waitNT ( wrapper . vm )
72-
73- expect ( wrapper . emitted ( 'click' ) ) . not . toBeUndefined ( )
74- expect ( wrapper . emitted ( 'click' ) . length ) . toBe ( 1 )
75- expect ( wrapper . emitted ( 'click' ) [ 0 ] [ 0 ] ) . toBeInstanceOf ( Event )
76-
77- wrapper . destroy ( )
7851 } )
7952
8053 it ( 'should have expected structure when prop `text` set' , async ( ) => {
@@ -83,7 +56,6 @@ describe('avatar', () => {
8356 text : 'BV'
8457 }
8558 } )
86- expect ( wrapper . isVueInstance ( ) ) . toBe ( true )
8759 expect ( wrapper . is ( 'span' ) ) . toBe ( true )
8860 expect ( wrapper . classes ( ) ) . toContain ( 'b-avatar' )
8961 expect ( wrapper . classes ( ) ) . toContain ( 'badge-secondary' )
@@ -93,7 +65,6 @@ describe('avatar', () => {
9365 expect ( wrapper . text ( ) ) . toContain ( 'BV' )
9466 expect ( wrapper . find ( '.b-icon' ) . exists ( ) ) . toBe ( false )
9567 expect ( wrapper . find ( 'img' ) . exists ( ) ) . toBe ( false )
96- wrapper . destroy ( )
9768 } )
9869
9970 it ( 'should have expected structure when default slot used' , async ( ) => {
@@ -105,7 +76,6 @@ describe('avatar', () => {
10576 default : 'BAR'
10677 }
10778 } )
108- expect ( wrapper . isVueInstance ( ) ) . toBe ( true )
10979 expect ( wrapper . is ( 'span' ) ) . toBe ( true )
11080 expect ( wrapper . classes ( ) ) . toContain ( 'b-avatar' )
11181 expect ( wrapper . classes ( ) ) . toContain ( 'badge-secondary' )
@@ -116,17 +86,14 @@ describe('avatar', () => {
11686 expect ( wrapper . text ( ) ) . not . toContain ( 'FOO' )
11787 expect ( wrapper . find ( '.b-icon' ) . exists ( ) ) . toBe ( false )
11888 expect ( wrapper . find ( 'img' ) . exists ( ) ) . toBe ( false )
119- wrapper . destroy ( )
12089 } )
12190
12291 it ( 'should have expected structure when prop `src` set' , async ( ) => {
12392 const wrapper = mount ( BAvatar , {
12493 propsData : {
125- src : '/foo/bar' ,
126- text : 'BV'
94+ src : '/foo/bar'
12795 }
12896 } )
129- expect ( wrapper . isVueInstance ( ) ) . toBe ( true )
13097 expect ( wrapper . is ( 'span' ) ) . toBe ( true )
13198 expect ( wrapper . classes ( ) ) . toContain ( 'b-avatar' )
13299 expect ( wrapper . classes ( ) ) . toContain ( 'badge-secondary' )
@@ -137,31 +104,9 @@ describe('avatar', () => {
137104 expect ( wrapper . find ( '.b-icon' ) . exists ( ) ) . toBe ( false )
138105 expect ( wrapper . find ( 'img' ) . exists ( ) ) . toBe ( true )
139106 expect ( wrapper . find ( 'img' ) . attributes ( 'src' ) ) . toEqual ( '/foo/bar' )
140- expect ( wrapper . text ( ) ) . not . toContain ( 'BV' )
141-
142- wrapper . setProps ( {
143- src : '/foo/baz'
144- } )
145- await waitNT ( wrapper . vm )
146-
147- expect ( wrapper . find ( 'img' ) . exists ( ) ) . toBe ( true )
148- expect ( wrapper . find ( 'img' ) . attributes ( 'src' ) ) . toEqual ( '/foo/baz' )
149- expect ( wrapper . text ( ) ) . not . toContain ( 'BV' )
150- expect ( wrapper . emitted ( 'img-error' ) ) . not . toBeDefined ( )
151- expect ( wrapper . text ( ) ) . not . toContain ( 'BV' )
152-
153- // Fake an image error
154- wrapper . find ( 'img' ) . trigger ( 'error' )
155- await waitNT ( wrapper . vm )
156- expect ( wrapper . emitted ( 'img-error' ) ) . toBeDefined ( )
157- expect ( wrapper . emitted ( 'img-error' ) . length ) . toBe ( 1 )
158- expect ( wrapper . find ( 'img' ) . exists ( ) ) . toBe ( false )
159- expect ( wrapper . text ( ) ) . toContain ( 'BV' )
160-
161- wrapper . destroy ( )
162107 } )
163108
164- it ( 'should have expected structure when prop `icon ` set' , async ( ) => {
109+ it ( 'should have expected structure when prop `src ` set' , async ( ) => {
165110 const localVue = new CreateLocalVue ( )
166111 localVue . component ( 'BIconPerson' , BIconPerson )
167112 const wrapper = mount ( BAvatar , {
@@ -170,7 +115,6 @@ describe('avatar', () => {
170115 icon : 'person'
171116 }
172117 } )
173- expect ( wrapper . isVueInstance ( ) ) . toBe ( true )
174118 expect ( wrapper . is ( 'span' ) ) . toBe ( true )
175119 expect ( wrapper . classes ( ) ) . toContain ( 'b-avatar' )
176120 expect ( wrapper . classes ( ) ) . toContain ( 'badge-secondary' )
@@ -181,40 +125,31 @@ describe('avatar', () => {
181125 const $icon = wrapper . find ( '.b-icon' )
182126 expect ( $icon . exists ( ) ) . toBe ( true )
183127 expect ( $icon . classes ( ) ) . toContain ( 'bi-person' )
184- wrapper . destroy ( )
185128 } )
186129
187130 it ( '`size` prop should work as expected' , async ( ) => {
188131 const wrapper1 = mount ( BAvatar )
189132 expect ( wrapper1 . attributes ( 'style' ) ) . toEqual ( 'width: 2.5em; height: 2.5em;' )
190- wrapper1 . destroy ( )
191133
192134 const wrapper2 = mount ( BAvatar , { propsData : { size : 'sm' } } )
193135 expect ( wrapper2 . attributes ( 'style' ) ) . toEqual ( 'width: 1.5em; height: 1.5em;' )
194- wrapper2 . destroy ( )
195136
196137 const wrapper3 = mount ( BAvatar , { propsData : { size : 'md' } } )
197138 expect ( wrapper3 . attributes ( 'style' ) ) . toEqual ( 'width: 2.5em; height: 2.5em;' )
198- wrapper3 . destroy ( )
199139
200140 const wrapper4 = mount ( BAvatar , { propsData : { size : 'lg' } } )
201141 expect ( wrapper4 . attributes ( 'style' ) ) . toEqual ( 'width: 3.5em; height: 3.5em;' )
202- wrapper4 . destroy ( )
203142
204143 const wrapper5 = mount ( BAvatar , { propsData : { size : 20 } } )
205144 expect ( wrapper5 . attributes ( 'style' ) ) . toEqual ( 'width: 20px; height: 20px;' )
206- wrapper5 . destroy ( )
207145
208146 const wrapper6 = mount ( BAvatar , { propsData : { size : '24.5' } } )
209147 expect ( wrapper6 . attributes ( 'style' ) ) . toEqual ( 'width: 24.5px; height: 24.5px;' )
210- wrapper6 . destroy ( )
211148
212149 const wrapper7 = mount ( BAvatar , { propsData : { size : '5em' } } )
213150 expect ( wrapper7 . attributes ( 'style' ) ) . toEqual ( 'width: 5em; height: 5em;' )
214- wrapper7 . destroy ( )
215151
216152 const wrapper8 = mount ( BAvatar , { propsData : { size : '36px' } } )
217153 expect ( wrapper8 . attributes ( 'style' ) ) . toEqual ( 'width: 36px; height: 36px;' )
218- wrapper8 . destroy ( )
219154 } )
220155} )
0 commit comments