1
1
import React from 'react' ;
2
2
import { render , screen , fireEvent } from '@testing-library/react' ;
3
3
4
- import UserContext from '@/context/UserContext ' ;
5
- import SignatureCard from '..' ;
4
+ import ReportContext from '@/context/ReportContext ' ;
5
+ import SignatureCard , { SignatureType } from '..' ;
6
6
import { mockNullData , mockNullObjectData , mockObjectData } from './mockData' ;
7
7
8
8
describe ( 'SignatureCard' , ( ) => {
9
9
test ( 'Author and sign button are visible' , async ( ) => {
10
10
render (
11
- < UserContext . Provider value = { { canEdit : true , setCanEdit : ( ) => { } } } >
11
+ < ReportContext . Provider value = { { canEdit : true , report : null , setReport : ( ) => { } } } >
12
12
< SignatureCard
13
13
title = "Author"
14
14
type = "author"
15
15
signatures = { null }
16
16
onClick = { ( ) => { } }
17
17
/>
18
- </ UserContext . Provider > ,
18
+ </ ReportContext . Provider > ,
19
19
) ;
20
20
expect ( await screen . findByText ( 'Author' ) ) . toBeInTheDocument ( ) ;
21
21
expect ( await screen . findByRole ( 'button' , { name : 'Sign' } ) ) . toBeInTheDocument ( ) ;
22
22
} ) ;
23
23
24
24
test ( 'Sign button is not visible without edit permissions' , async ( ) => {
25
25
render (
26
- < UserContext . Provider value = { { canEdit : false , setCanEdit : ( ) => { } } } >
26
+ < ReportContext . Provider value = { { canEdit : false , report : null , setReport : ( ) => { } } } >
27
27
< SignatureCard
28
28
title = "Author"
29
29
type = "author"
30
30
signatures = { null }
31
31
onClick = { ( ) => { } }
32
32
/>
33
- </ UserContext . Provider > ,
33
+ </ ReportContext . Provider > ,
34
34
) ;
35
35
expect ( screen . queryByRole ( 'button' , { name : 'Sign' } ) ) . not . toBeInTheDocument ( ) ;
36
36
} ) ;
37
37
38
38
test ( 'Sign button calls onClick' , async ( ) => {
39
39
const handleClick = jest . fn ( ) ;
40
40
render (
41
- < UserContext . Provider value = { { canEdit : true , setCanEdit : ( ) => { } } } >
41
+ < ReportContext . Provider value = { { canEdit : true , report : null , setReport : ( ) => { } } } >
42
42
< SignatureCard
43
43
title = "Author"
44
44
type = "author"
45
45
signatures = { null }
46
46
onClick = { handleClick }
47
47
/>
48
- </ UserContext . Provider > ,
48
+ </ ReportContext . Provider > ,
49
49
) ;
50
50
fireEvent . click ( await screen . findByRole ( 'button' , { name : 'Sign' } ) ) ;
51
51
@@ -54,44 +54,44 @@ describe('SignatureCard', () => {
54
54
55
55
test ( 'Sign button is visible when reviewerSignature is null' , async ( ) => {
56
56
render (
57
- < UserContext . Provider value = { { canEdit : true , setCanEdit : ( ) => { } } } >
57
+ < ReportContext . Provider value = { { canEdit : true , report : null , setReport : ( ) => { } } } >
58
58
< SignatureCard
59
59
title = "Reviewer"
60
60
type = "reviewer"
61
- signatures = { mockNullData }
61
+ signatures = { mockNullData as SignatureType }
62
62
onClick = { ( ) => { } }
63
63
/>
64
- </ UserContext . Provider > ,
64
+ </ ReportContext . Provider > ,
65
65
) ;
66
66
67
67
expect ( await screen . findByRole ( 'button' , { name : 'Sign' } ) ) . toBeInTheDocument ( ) ;
68
68
} ) ;
69
69
70
70
test ( 'Sign button is visible when reviewerSignature has null data' , async ( ) => {
71
71
render (
72
- < UserContext . Provider value = { { canEdit : true , setCanEdit : ( ) => { } } } >
72
+ < ReportContext . Provider value = { { canEdit : true , report : null , setReport : ( ) => { } } } >
73
73
< SignatureCard
74
74
title = "Reviewer"
75
75
type = "reviewer"
76
- signatures = { mockNullObjectData }
76
+ signatures = { mockNullObjectData as SignatureType }
77
77
onClick = { ( ) => { } }
78
78
/>
79
- </ UserContext . Provider > ,
79
+ </ ReportContext . Provider > ,
80
80
) ;
81
81
82
82
expect ( await screen . findByRole ( 'button' , { name : 'Sign' } ) ) . toBeInTheDocument ( ) ;
83
83
} ) ;
84
84
85
85
test ( 'Reviewer name & remove signature button are visible' , async ( ) => {
86
86
render (
87
- < UserContext . Provider value = { { canEdit : true , setCanEdit : ( ) => { } } } >
87
+ < ReportContext . Provider value = { { canEdit : true , report : null , setReport : ( ) => { } } } >
88
88
< SignatureCard
89
89
title = "Reviewer"
90
90
type = "reviewer"
91
- signatures = { mockObjectData }
91
+ signatures = { mockObjectData as SignatureType }
92
92
onClick = { ( ) => { } }
93
93
/>
94
- </ UserContext . Provider > ,
94
+ </ ReportContext . Provider > ,
95
95
) ;
96
96
97
97
expect ( screen . queryByRole ( 'button' , { name : 'Sign' } ) ) . not . toBeInTheDocument ( ) ;
@@ -100,15 +100,15 @@ describe('SignatureCard', () => {
100
100
101
101
test ( 'No buttons are visible in print view' , async ( ) => {
102
102
render (
103
- < UserContext . Provider value = { { canEdit : true , setCanEdit : ( ) => { } } } >
103
+ < ReportContext . Provider value = { { canEdit : true , report : null , setReport : ( ) => { } } } >
104
104
< SignatureCard
105
105
title = "Reviewer"
106
106
type = "reviewer"
107
- signatures = { mockObjectData }
107
+ signatures = { mockObjectData as SignatureType }
108
108
onClick = { ( ) => { } }
109
109
isPrint
110
110
/>
111
- </ UserContext . Provider > ,
111
+ </ ReportContext . Provider > ,
112
112
) ;
113
113
114
114
expect ( screen . queryByRole ( 'button' ) ) . not . toBeInTheDocument ( ) ;
0 commit comments