@nbakka/mcp-appium 2.0.91 → 2.0.92
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/lib/review-ui/index.html +11 -6
- package/lib/server.js +7 -27
- package/package.json +1 -1
package/lib/review-ui/index.html
CHANGED
|
@@ -235,11 +235,13 @@
|
|
|
235
235
|
const container = document.getElementById('new-cases');
|
|
236
236
|
if (testCases.new && testCases.new.length > 0) {
|
|
237
237
|
container.innerHTML = testCases.new.map((tc, index) => `
|
|
238
|
-
<div class="test-case">
|
|
238
|
+
<div class="test-case" id="new-case-${index}">
|
|
239
239
|
<div class="test-case-header">
|
|
240
240
|
<span class="test-case-id">ID: ${tc.id}</span>
|
|
241
|
-
<
|
|
242
|
-
|
|
241
|
+
<div>
|
|
242
|
+
<button class="edit-btn" onclick="toggleEdit('new', ${index})">Edit</button>
|
|
243
|
+
<button class="delete-btn" onclick="deleteTestCase('new', ${index})">Delete</button>
|
|
244
|
+
</div>
|
|
243
245
|
</div>
|
|
244
246
|
<div id="new-${index}-display" style="display: block;">
|
|
245
247
|
<strong>Description:</strong> ${tc.description}
|
|
@@ -263,11 +265,13 @@
|
|
|
263
265
|
const container = document.getElementById('modify-cases');
|
|
264
266
|
if (testCases.modify && testCases.modify.length > 0) {
|
|
265
267
|
container.innerHTML = testCases.modify.map((tc, index) => `
|
|
266
|
-
<div class="test-case">
|
|
268
|
+
<div class="test-case" id="modify-case-${index}">
|
|
267
269
|
<div class="test-case-header">
|
|
268
270
|
<span class="test-case-id">ID: ${tc.id}</span>
|
|
269
|
-
<
|
|
270
|
-
|
|
271
|
+
<div>
|
|
272
|
+
<button class="edit-btn" onclick="toggleEdit('modify', ${index})">Edit</button>
|
|
273
|
+
<button class="delete-btn" onclick="deleteTestCase('modify', ${index})">Delete</button>
|
|
274
|
+
</div>
|
|
271
275
|
</div>
|
|
272
276
|
<div id="modify-${index}-display" style="display: block;">
|
|
273
277
|
<div class="original-text"><strong>Original:</strong> ${tc.original}</div>
|
|
@@ -429,6 +433,7 @@
|
|
|
429
433
|
testCases.modify.splice(index, 1);
|
|
430
434
|
}
|
|
431
435
|
|
|
436
|
+
// Re-render the UI to update indexes and remove the element
|
|
432
437
|
renderTestCases();
|
|
433
438
|
showStatus('Test case deleted successfully!', 'success');
|
|
434
439
|
} catch (error) {
|
package/lib/server.js
CHANGED
|
@@ -903,7 +903,7 @@ tool(
|
|
|
903
903
|
}
|
|
904
904
|
|
|
905
905
|
const { type, index } = req.body;
|
|
906
|
-
|
|
906
|
+
|
|
907
907
|
try {
|
|
908
908
|
if (type === 'new' && session.testCases.new && index < session.testCases.new.length) {
|
|
909
909
|
session.testCases.new.splice(index, 1);
|
|
@@ -975,10 +975,7 @@ tool(
|
|
|
975
975
|
|
|
976
976
|
const session = approvalSessions.get(sessionId);
|
|
977
977
|
if (!session) {
|
|
978
|
-
return {
|
|
979
|
-
status: "error",
|
|
980
|
-
message: `Session not found. Invalid session ID: ${sessionId}`
|
|
981
|
-
};
|
|
978
|
+
return `❌ Session not found. Invalid session ID: ${sessionId}`;
|
|
982
979
|
}
|
|
983
980
|
|
|
984
981
|
const currentTime = Date.now();
|
|
@@ -992,41 +989,24 @@ tool(
|
|
|
992
989
|
}
|
|
993
990
|
approvalSessions.delete(sessionId);
|
|
994
991
|
|
|
995
|
-
return {
|
|
996
|
-
status: "approved",
|
|
997
|
-
message: "Test cases approved successfully!",
|
|
998
|
-
elapsedTime: elapsedTime,
|
|
999
|
-
approvedTestCases: approvedTestCases
|
|
1000
|
-
};
|
|
992
|
+
return `✅ Test cases approved successfully! Elapsed time: ${elapsedTime}s\n\nApproved test cases:\n${JSON.stringify(approvedTestCases, null, 2)}`;
|
|
1001
993
|
} else if (session.status === 'cancelled') {
|
|
1002
994
|
if (session.server) {
|
|
1003
995
|
session.server.close();
|
|
1004
996
|
}
|
|
1005
997
|
approvalSessions.delete(sessionId);
|
|
1006
998
|
|
|
1007
|
-
return {
|
|
1008
|
-
status: "cancelled",
|
|
1009
|
-
message: "Review was cancelled by the user",
|
|
1010
|
-
elapsedTime: elapsedTime
|
|
1011
|
-
};
|
|
999
|
+
return `❌ Review was cancelled by the user. Elapsed time: ${elapsedTime}s`;
|
|
1012
1000
|
} else if (session.status === 'timeout' || elapsedTime > 300) {
|
|
1013
1001
|
if (session.server) {
|
|
1014
1002
|
session.server.close();
|
|
1015
1003
|
}
|
|
1016
1004
|
approvalSessions.delete(sessionId);
|
|
1017
1005
|
|
|
1018
|
-
return {
|
|
1019
|
-
status: "timeout",
|
|
1020
|
-
message: "Review session timed out",
|
|
1021
|
-
elapsedTime: elapsedTime
|
|
1022
|
-
};
|
|
1006
|
+
return `⏰ Review session timed out. Elapsed time: ${elapsedTime}s`;
|
|
1023
1007
|
} else {
|
|
1024
|
-
|
|
1025
|
-
|
|
1026
|
-
message: "Test cases are still pending approval",
|
|
1027
|
-
elapsedTime: elapsedTime,
|
|
1028
|
-
remainingTime: Math.max(0, 300 - elapsedTime)
|
|
1029
|
-
};
|
|
1008
|
+
const remainingTime = Math.max(0, 300 - elapsedTime);
|
|
1009
|
+
return `⏳ Test cases are still pending approval. Elapsed: ${elapsedTime}s, Remaining: ${remainingTime}s`;
|
|
1030
1010
|
}
|
|
1031
1011
|
}
|
|
1032
1012
|
);
|