@@ -32,68 +32,90 @@ Link.propTypes = {
32
32
onClick : PT . func . isRequired ,
33
33
} ;
34
34
35
- describe ( 'Matches snapshots' , ( ) => {
36
- test ( 'in a minimalistic example' , ( ) => {
37
- snapshot ( (
38
- < GenericLink
39
- routerLinkType = { Link }
40
- to = "SOME/TEST/URL"
41
- >
42
- LINK
43
- </ GenericLink >
44
- ) ) ;
45
- } ) ;
46
- test ( 'when rendered as <a> element' , ( ) => {
47
- snapshot ( (
48
- < GenericLink
49
- enforceA
50
- routerLinkType = { Link }
51
- to = "SOME/TEST/URL"
52
- >
53
- LINK
54
- </ GenericLink >
55
- ) ) ;
56
- snapshot ( (
57
- < GenericLink
58
- openNewTab
59
- routerLinkType = { Link }
60
- to = "SOME/TEST/URL"
61
- >
62
- LINK
63
- </ GenericLink >
64
- ) ) ;
65
- } ) ;
35
+ test ( 'Absolute link, starting with http://' , ( ) => {
36
+ snapshot ( (
37
+ < GenericLink
38
+ routerLinkType = { Link }
39
+ to = "http://www.domain.com/test"
40
+ >
41
+ ABSOLUTE LINK
42
+ </ GenericLink >
43
+ ) ) ;
66
44
} ) ;
67
45
68
- test ( 'onClick(..) works when rendered as custom <Link>' , ( ) => {
69
- window . scroll = jest . fn ( ) ;
70
- const clickHandler = jest . fn ( ) ;
71
- let doc = renderDom ( (
46
+ test ( 'Absolute link, starting with https://' , ( ) => {
47
+ snapshot ( (
72
48
< GenericLink
73
- className = "LINK"
74
- onClick = { clickHandler }
49
+ onClick = { ( ) => { } }
75
50
routerLinkType = { Link }
76
- to = "SOME/TEST/URL "
51
+ to = "https://www.domain.com/test "
77
52
>
78
- LINK
53
+ ABSOLUTE LINK
79
54
</ GenericLink >
80
55
) ) ;
81
- let link = findInDomByClass ( doc , 'LINK' ) ;
82
- simulate . click ( link ) ;
83
- expect ( clickHandler ) . toHaveBeenCalled ( ) ;
56
+ } ) ;
57
+
58
+ test ( 'Relative link' , ( ) => {
59
+ snapshot ( (
60
+ < GenericLink
61
+ routerLinkType = { Link }
62
+ to = "http/relative/link"
63
+ >
64
+ RELATIVE LINK
65
+ </ GenericLink >
66
+ ) ) ;
67
+ } ) ;
68
+
69
+ test ( 'Relative link, with `enforceA`' , ( ) => {
70
+ snapshot ( (
71
+ < GenericLink
72
+ enforceA
73
+ routerLinkType = { Link }
74
+ to = "/relative/link"
75
+ >
76
+ RELATIVE LINK
77
+ </ GenericLink >
78
+ ) ) ;
79
+ } ) ;
80
+
81
+ test ( 'Relative link, with `openNewTab`' , ( ) => {
82
+ snapshot ( (
83
+ < GenericLink
84
+ openNewTab
85
+ routerLinkType = { Link }
86
+ to = "relative/link"
87
+ >
88
+ RELATIVE LINL
89
+ </ GenericLink >
90
+ ) ) ;
91
+ } ) ;
92
+
93
+ test ( 'Anchor link' , ( ) => {
94
+ snapshot ( (
95
+ < GenericLink
96
+ routerLinkType = { Link }
97
+ to = "#anchor"
98
+ >
99
+ ANCHOR LINK
100
+ </ GenericLink >
101
+ ) ) ;
102
+ } ) ;
84
103
85
- const domain = 'https://some.domain.com' ;
86
- doc = renderDom ( (
104
+ test ( 'onClick(..) callback in custom <Link>' , ( ) => {
105
+ window . scroll = jest . fn ( ) ;
106
+ const clickHandler = jest . fn ( ) ;
107
+ const doc = renderDom ( (
87
108
< GenericLink
88
109
className = "LINK"
110
+ onClick = { clickHandler }
89
111
routerLinkType = { Link }
90
- to = { domain }
112
+ to = "SOME/TEST/URL"
91
113
>
92
114
LINK
93
115
</ GenericLink >
94
116
) ) ;
95
- link = findInDomByClass ( doc , 'LINK' ) ;
117
+ const link = findInDomByClass ( doc , 'LINK' ) ;
96
118
simulate . click ( link ) ;
97
-
119
+ expect ( clickHandler ) . toHaveBeenCalled ( ) ;
98
120
expect ( window . scroll ) . toHaveBeenCalledTimes ( 1 ) ;
99
121
} ) ;
0 commit comments