@@ -106,6 +106,93 @@ const testCases: TestsCase[] = [
106
106
} ,
107
107
] ,
108
108
} ,
109
+ {
110
+ name : 'GitBook Site (Navigation when switching variant)' ,
111
+ baseUrl : 'https://gitbook-open-e2e-sites.gitbook.io/' ,
112
+ tests : [
113
+ {
114
+ name : 'Keep navigation path/route when switching variant (Public)' ,
115
+ url : 'api-multi-versions/reference/api-reference/pets' ,
116
+ screenshot : false ,
117
+ run : async ( page ) => {
118
+ const spaceDrowpdown = await page . waitForSelector (
119
+ '[data-testid="space-dropdown-button"]' ,
120
+ ) ;
121
+ await spaceDrowpdown . click ( ) ;
122
+
123
+ // Click the second variant in the dropdown
124
+ await page
125
+ . getByRole ( 'link' , {
126
+ name : '2.0' ,
127
+ } )
128
+ . click ( ) ;
129
+
130
+ // It should keep the current page path, i.e "reference/api-reference/pets" when navigating to the new variant
131
+ await page . waitForURL (
132
+ 'https://gitbook-open-e2e-sites.gitbook.io/api-multi-versions/v/2.0/reference/api-reference/pets' ,
133
+ ) ;
134
+ } ,
135
+ } ,
136
+ {
137
+ name : 'Keep navigation path/route when switching variant (Share link)' ,
138
+ url : 'api-multi-versions-share-links/bRfQbzwsK8rbN1GRxx7K/reference/api-reference/pets' ,
139
+ screenshot : false ,
140
+ run : async ( page ) => {
141
+ const spaceDrowpdown = await page . waitForSelector (
142
+ '[data-testid="space-dropdown-button"]' ,
143
+ ) ;
144
+ await spaceDrowpdown . click ( ) ;
145
+
146
+ // Click the second variant in the dropdown
147
+ await page
148
+ . getByRole ( 'link' , {
149
+ name : '2.0' ,
150
+ } )
151
+ . click ( ) ;
152
+
153
+ // It should keep the current page path, i.e "reference/api-reference/pets" when navigating to the new variant
154
+ await page . waitForURL (
155
+ 'https://gitbook-open-e2e-sites.gitbook.io/api-multi-versions-share-links/bRfQbzwsK8rbN1GRxx7K/v/2.0/reference/api-reference/pets' ,
156
+ ) ;
157
+ } ,
158
+ } ,
159
+ {
160
+ name : 'Keep navigation path/route when switching variant (VA)' ,
161
+ screenshot : false ,
162
+ url : ( ( ) => {
163
+ const privateKey = 'c26190fc-74b2-4b54-9fc7-df9941104953' ;
164
+ const token = jwt . sign (
165
+ {
166
+ name : 'gitbook-open-tests' ,
167
+ } ,
168
+ privateKey ,
169
+ {
170
+ expiresIn : '24h' ,
171
+ } ,
172
+ ) ;
173
+ return `api-multi-versions-va/reference/api-reference/pets?jwt_token=${ token } ` ;
174
+ } ) ( ) ,
175
+ run : async ( page ) => {
176
+ const spaceDrowpdown = await page . waitForSelector (
177
+ '[data-testid="space-dropdown-button"]' ,
178
+ ) ;
179
+ await spaceDrowpdown . click ( ) ;
180
+
181
+ // Click the second variant in the dropdown
182
+ await page
183
+ . getByRole ( 'link' , {
184
+ name : '2.0' ,
185
+ } )
186
+ . click ( ) ;
187
+
188
+ // It should keep the current page path, i.e "reference/api-reference/pets" when navigating to the new variant
189
+ await page . waitForURL (
190
+ 'https://gitbook-open-e2e-sites.gitbook.io/api-multi-versions-va/v/2.0/reference/api-reference/pets' ,
191
+ ) ;
192
+ } ,
193
+ } ,
194
+ ] ,
195
+ } ,
109
196
{
110
197
name : 'GitBook' ,
111
198
baseUrl : 'https://docs.gitbook.com' ,
0 commit comments