Baoyuantop commented on code in PR #3258:
URL: https://github.com/apache/apisix-dashboard/pull/3258#discussion_r2638917597


##########
src/apis/upstreams.ts:
##########
@@ -55,19 +55,56 @@ export const putUpstreamReq = (
 };
 
 export const deleteAllUpstreams = async (req: AxiosInstance) => {
-  const totalRes = await getUpstreamListReq(req, {
-    page: 1,
-    page_size: PAGE_SIZE_MIN,
-  });
+  // Retry wrapper to handle potential transient failures (e.g., 500 Internal 
Server Error) when fetching upstream list.
+  // This is particularly useful in E2E tests where rapid creation/deletion 
might cause temporary instability.

Review Comment:
   It's best not to rely on this design; e2e testing should simulate real-world 
scenarios.



##########
e2e/tests/plugin_metadata.crud-all-fields.spec.ts:
##########
@@ -36,13 +36,29 @@ const deletePluginMetadata = async (req: typeof e2eReq, 
name: string) => {
 const getMonacoEditorValue = async (editPluginDialog: Locator) => {
   let editorValue = '';
   const textarea = editPluginDialog.locator('textarea');
-  if (await textarea.count() > 0) {
-    editorValue = await textarea.inputValue();
-  }
-  if (!editorValue || editorValue.trim() === '{') {
-    const lines = await 
editPluginDialog.locator('.view-line').allTextContents();
-    editorValue = lines.join('\n').replace(/\s+/g, ' ');
+
+  // Retry logic to handle potential race conditions where editor content 
isn't fully loaded
+  for (let i = 0; i < 20; i++) {

Review Comment:
   Can we choose to wait longer instead of looping?



-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]

Reply via email to