@@ -4,6 +4,11 @@ import { shallow } from 'enzyme';
4
4
5
5
import ReplyCard , { Properties } from './reply-card' ;
6
6
import { ContentHighlighter } from '../content-highlighter' ;
7
+ import { IconButton } from '@zero-tech/zui/components' ;
8
+
9
+ import { bem } from '../../lib/bem' ;
10
+
11
+ const c = bem ( '.reply-card' ) ;
7
12
8
13
describe ( 'ReplyCard' , ( ) => {
9
14
const subject = ( props : Partial < Properties > ) => {
@@ -22,10 +27,9 @@ describe('ReplyCard', () => {
22
27
} ;
23
28
24
29
it ( 'renders reply message' , function ( ) {
25
- const message = 'hello' ;
26
- const wrapper = subject ( { message } ) ;
30
+ const wrapper = subject ( { message : 'hello' } ) ;
27
31
28
- expect ( wrapper . find ( ContentHighlighter ) . prop ( 'message' ) . trim ( ) ) . toStrictEqual ( message ) ;
32
+ expect ( wrapper . find ( ContentHighlighter ) ) . toHaveProp ( 'message' , 'hello' ) ;
29
33
} ) ;
30
34
31
35
it ( 'does not render reply message if no message is present' , function ( ) {
@@ -34,72 +38,36 @@ describe('ReplyCard', () => {
34
38
expect ( wrapper ) . not . toHaveElement ( ContentHighlighter ) ;
35
39
} ) ;
36
40
37
- it ( 'call onRemove when close icon is clicked' , function ( ) {
38
- const onRemove = jest . fn ( ) ;
39
-
40
- const wrapper = subject ( { onRemove } ) ;
41
- wrapper . find ( 'IconButton' ) . simulate ( 'click' ) ;
41
+ it ( 'renders media when media url is present' , function ( ) {
42
+ const wrapper = subject ( { mediaName : 'test-media-name' , mediaUrl : 'test-media-url' } ) ;
42
43
43
- expect ( onRemove ) . toHaveBeenCalledOnce ( ) ;
44
+ expect ( wrapper ) . toHaveElement ( c ( 'media-container' ) ) ;
44
45
} ) ;
45
46
46
- it ( 'renders the sender name' , function ( ) {
47
- const wrapper = subject ( {
48
- senderIsCurrentUser : false ,
49
- senderFirstName : 'Jackie' ,
50
- senderLastName : 'Chan' ,
51
- } ) ;
47
+ it ( 'does not render media when media url is NOT present' , function ( ) {
48
+ const wrapper = subject ( { message : 'hello' } ) ;
52
49
53
- expect ( wrapper . find ( '.reply-card__header' ) . text ( ) ) . toEqual ( 'Jackie Chan' ) ;
50
+ expect ( wrapper ) . not . toHaveElement ( c ( 'media-container' ) ) ;
54
51
} ) ;
55
52
56
- it ( 'renders "You" if the sender is the current user' , function ( ) {
57
- const wrapper = subject ( {
58
- senderIsCurrentUser : true ,
59
- senderFirstName : 'Jackie' ,
60
- senderLastName : 'Chan' ,
61
- } ) ;
53
+ it ( 'renders the sender name when senderIsCurrentUser is false' , function ( ) {
54
+ const wrapper = subject ( { senderIsCurrentUser : false , senderFirstName : 'Jackie' , senderLastName : 'Chan' } ) ;
62
55
63
- expect ( wrapper . find ( '.reply-card__header' ) . text ( ) ) . toEqual ( 'You ') ;
56
+ expect ( wrapper . find ( c ( 'header' ) ) ) . toHaveText ( 'Jackie Chan ') ;
64
57
} ) ;
65
58
66
- it ( 'renders media when media url is present and NO message' , function ( ) {
67
- const wrapper = subject ( {
68
- senderIsCurrentUser : true ,
69
- senderFirstName : 'Jackie' ,
70
- senderLastName : 'Chan' ,
71
- mediaName : 'test-media-name' ,
72
- mediaUrl : 'test-media-url' ,
73
- } ) ;
59
+ it ( 'renders "You" if the sender is the current user' , function ( ) {
60
+ const wrapper = subject ( { senderIsCurrentUser : true , senderFirstName : 'Jackie' , senderLastName : 'Chan' } ) ;
74
61
75
- expect ( wrapper ) . toHaveElement ( '.reply-card__media-container' ) ;
76
- expect ( wrapper ) . not . toHaveElement ( ContentHighlighter ) ;
62
+ expect ( wrapper . find ( c ( 'header' ) ) ) . toHaveText ( 'You' ) ;
77
63
} ) ;
78
64
79
- it ( 'renders media and message when media url and message are present' , function ( ) {
80
- const wrapper = subject ( {
81
- senderIsCurrentUser : true ,
82
- senderFirstName : 'Jackie' ,
83
- senderLastName : 'Chan' ,
84
- mediaName : 'test-media-name' ,
85
- mediaUrl : 'test-media-url' ,
86
- message : 'hello' ,
87
- } ) ;
88
-
89
- expect ( wrapper ) . toHaveElement ( '.reply-card__media-container' ) ;
90
- expect ( wrapper ) . toHaveElement ( ContentHighlighter ) ;
91
- } ) ;
65
+ it ( 'call onRemove when close icon is clicked' , function ( ) {
66
+ const onRemove = jest . fn ( ) ;
92
67
93
- it ( 'does not render media when media url is NOT present' , function ( ) {
94
- const wrapper = subject ( {
95
- senderIsCurrentUser : true ,
96
- senderFirstName : 'Jackie' ,
97
- senderLastName : 'Chan' ,
98
- mediaName : '' ,
99
- mediaUrl : '' ,
100
- message : 'hello' ,
101
- } ) ;
68
+ const wrapper = subject ( { onRemove } ) ;
69
+ wrapper . find ( IconButton ) . simulate ( 'click' ) ;
102
70
103
- expect ( wrapper ) . not . toHaveElement ( '.reply-card__media-container' ) ;
71
+ expect ( onRemove ) . toHaveBeenCalledOnce ( ) ;
104
72
} ) ;
105
73
} ) ;
0 commit comments