1+ import { mount } from '@vue/test-utils' ;
2+ import { ref } from 'vue' ;
3+ import DCard from '../src/card' ;
4+ import DAvatar from '../../avatar/src/avatar' ;
5+
6+ describe ( 'Card' , ( ) => {
7+ it ( 'render' , async ( ) => {
8+ const wrapper = mount ( {
9+ components : {
10+ DCard,
11+ DAvatar
12+ } ,
13+ template : `
14+ <d-card class="d-card">
15+ <template #cardAvatar>
16+ <d-avatar name="DevUI"></d-avatar>
17+ </template>
18+ <template #cardTitle>
19+ DEVUI Course
20+ </template>
21+ <template #cardSubtitle>
22+ DevUI
23+ </template>
24+ <template #cardContent>
25+ DEVUI
26+ </template>
27+ <template #cardActions>
28+ <div class="card-block">
29+ btn
30+ </div>
31+ </template>
32+ </d-card>
33+ ` ,
34+
35+ } ) ;
36+
37+ const avatar = wrapper . findAllComponents ( { name : 'dAvatar' } ) [ 0 ] ;
38+ expect ( avatar . classes ( ) ) . toContain ( 'devui-avatar' ) ;
39+ expect ( avatar . find ( '.devui-avatar-style' ) . text ( ) ) . toBe ( 'DE' )
40+ expect ( wrapper . find ( '.devui-card-title' ) . text ( ) ) . toBe ( 'DEVUI Course' )
41+ expect ( wrapper . find ( '.devui-card-subtitle' ) . text ( ) ) . toBe ( 'DevUI' )
42+ expect ( wrapper . find ( '.devui-card-content' ) . text ( ) ) . toBe ( 'DEVUI' )
43+ expect ( wrapper . find ( '.devui-card-actions' ) . exists ( ) ) . toBeTruthy ( ) ;
44+ expect ( wrapper . find ( '.card-block' ) . text ( ) ) . toBe ( 'btn' )
45+ } ) ;
46+ it ( 'v-slot:' , async ( ) => {
47+ const wrapper = mount ( {
48+ components : {
49+ DCard,
50+ DAvatar
51+ } ,
52+ template : `
53+ <d-card class="d-card">
54+ <template v-slot:cardAvatar>
55+ <d-avatar name="DevUI"></d-avatar>
56+ </template>
57+ <template v-slot:cardTitle>
58+ DEVUI Course
59+ </template>
60+ <template v-slot:cardSubtitle>
61+ DevUI
62+ </template>
63+ <template v-slot:cardContent>
64+ DEVUI
65+ </template>
66+ <template v-slot:cardActions>
67+ <div class="card-block">
68+ btn
69+ </div>
70+ </template>
71+ </d-card>
72+ ` ,
73+
74+ } ) ;
75+
76+ const avatar = wrapper . findAllComponents ( { name : 'dAvatar' } ) [ 0 ] ;
77+ expect ( avatar . classes ( ) ) . toContain ( 'devui-avatar' ) ;
78+ expect ( avatar . find ( '.devui-avatar-style' ) . text ( ) ) . toBe ( 'DE' )
79+ expect ( wrapper . find ( '.devui-card-title' ) . text ( ) ) . toBe ( 'DEVUI Course' )
80+ expect ( wrapper . find ( '.devui-card-subtitle' ) . text ( ) ) . toBe ( 'DevUI' )
81+ expect ( wrapper . find ( '.devui-card-content' ) . text ( ) ) . toBe ( 'DEVUI' )
82+ expect ( wrapper . find ( '.devui-card-actions' ) . exists ( ) ) . toBeTruthy ( ) ;
83+ expect ( wrapper . find ( '.card-block' ) . text ( ) ) . toBe ( 'btn' )
84+ } ) ;
85+ it ( 'src' , async ( ) => {
86+ const wrapper = mount ( {
87+ components : {
88+ DCard,
89+ DAvatar
90+ } ,
91+ template : `
92+ <d-card class="d-card" :src="'https://devui.design/components/assets/image1.png'">
93+ <template #cardAvatar>
94+ <d-avatar name="DevUI"></d-avatar>
95+ </template>
96+ <template #cardTitle>
97+ DEVUI Course
98+ </template>
99+ <template #cardSubtitle>
100+ DevUI
101+ </template>
102+ <template #cardContent>
103+ DEVUI
104+ </template>
105+ <template #cardActions>
106+ <div class="card-block">
107+ btn
108+ </div>
109+ </template>
110+ </d-card>
111+ ` ,
112+
113+ } ) ;
114+
115+ const avatar = wrapper . findAllComponents ( { name : 'dAvatar' } ) [ 0 ] ;
116+ expect ( avatar . classes ( ) ) . toContain ( 'devui-avatar' ) ;
117+ expect ( avatar . find ( '.devui-avatar-style' ) . text ( ) ) . toBe ( 'DE' )
118+ expect ( wrapper . find ( '.devui-card-title' ) . text ( ) ) . toBe ( 'DEVUI Course' )
119+ expect ( wrapper . find ( '.devui-card-subtitle' ) . text ( ) ) . toBe ( 'DevUI' )
120+ expect ( wrapper . find ( '.devui-card-meta' ) . attributes ( 'src' ) . includes ( 'https://devui.design/components/assets/image1.png' ) ) . toBeTruthy ( ) ;
121+ expect ( wrapper . find ( '.devui-card-content' ) . text ( ) ) . toBe ( 'DEVUI' )
122+ expect ( wrapper . find ( '.devui-card-actions' ) . exists ( ) ) . toBeTruthy ( ) ;
123+ expect ( wrapper . find ( '.card-block' ) . text ( ) ) . toBe ( 'btn' )
124+ } ) ;
125+ it ( 'src' , async ( ) => {
126+ const wrapper = mount ( {
127+ components : {
128+ DCard,
129+ DAvatar
130+ } ,
131+ template : `
132+ <d-card class="d-card" :align="'spaceBetween'">
133+ <template #cardAvatar>
134+ <d-avatar name="DevUI"></d-avatar>
135+ </template>
136+ <template #cardTitle>
137+ DEVUI Course
138+ </template>
139+ <template #cardSubtitle>
140+ DevUI
141+ </template>
142+ <template #cardContent>
143+ DEVUI
144+ </template>
145+ <template #cardActions>
146+ <div class="card-block">
147+ btn
148+ </div>
149+ </template>
150+ </d-card>
151+ ` ,
152+
153+ } ) ;
154+
155+ expect ( wrapper . find ( '.devui-card-actions-align-spaceBetween' ) . exists ( ) ) . toBeTruthy ( ) ;
156+ const avatar = wrapper . findAllComponents ( { name : 'dAvatar' } ) [ 0 ] ;
157+ expect ( avatar . classes ( ) ) . toContain ( 'devui-avatar' ) ;
158+ expect ( avatar . find ( '.devui-avatar-style' ) . text ( ) ) . toBe ( 'DE' )
159+ expect ( wrapper . find ( '.devui-card-title' ) . text ( ) ) . toBe ( 'DEVUI Course' )
160+ expect ( wrapper . find ( '.devui-card-subtitle' ) . text ( ) ) . toBe ( 'DevUI' )
161+ expect ( wrapper . find ( '.devui-card-content' ) . text ( ) ) . toBe ( 'DEVUI' )
162+ expect ( wrapper . find ( '.devui-card-actions' ) . exists ( ) ) . toBeTruthy ( ) ;
163+ expect ( wrapper . find ( '.card-block' ) . text ( ) ) . toBe ( 'btn' )
164+ } ) ;
165+ } )
0 commit comments