aboutsummaryrefslogtreecommitdiffstats
path: root/tools/nip29-group-test.js
diff options
context:
space:
mode:
Diffstat (limited to 'tools/nip29-group-test.js')
-rw-r--r--tools/nip29-group-test.js7
1 files changed, 7 insertions, 0 deletions
diff --git a/tools/nip29-group-test.js b/tools/nip29-group-test.js
index de9b8e1..ddc7258 100644
--- a/tools/nip29-group-test.js
+++ b/tools/nip29-group-test.js
@@ -131,6 +131,13 @@ try {
let dead = '';
for (let i = 0; i < 60 && !/answering/.test(dead); i++) { dead = await p2.evaluate(() => [...document.querySelectorAll('.chat-thread-row')].find((r) => r.textContent.includes('deadgroup'))?.textContent || ''); if (!/answering/.test(dead)) await sleep(250); }
check("a group on a relay that's gone says so", /gone\.invalid isn't answering/.test(dead), dead.slice(0, 80));
+ // leaving it from its own screen ("Tried to leave but got this": a
+ // ReferenceError on the screen of a group that had just gone)
+ await p2.evaluate(() => [...document.querySelectorAll('.chat-thread-row')].find((r) => r.textContent.includes('deadgroup'))?.click()); await sleep(800);
+ await p2.click('[aria-label="Leave group"]'); await sleep(200);
+ await p2.click('[aria-label="Leave group"]'); await sleep(2500);
+ const after = await p2.evaluate(() => document.body.innerText);
+ check('leaving a group from its screen goes back to Messages', !/something broke/i.test(after) && !/deadgroup/.test(after) && /new group/i.test(after), after.slice(0, 120));
await ctx.close();
}