test: fix flaky test

This commit is contained in:
Nolan Lawson 2022-04-30 14:01:49 -07:00
parent 58d81a25ad
commit b79e346664
1 changed files with 35 additions and 0 deletions

View File

@ -202,24 +202,40 @@ test('complex thread is in correct order - with ancestors', async t => {
test('complex thread is in correct order - with mixed self-replies', async t => { test('complex thread is in correct order - with mixed self-replies', async t => {
const { id: a } = await postAs('foobar', 'a') const { id: a } = await postAs('foobar', 'a')
await sleep(1000)
const { id: b } = await postReplyAs('baz', 'b', a) const { id: b } = await postReplyAs('baz', 'b', a)
await sleep(1000)
const { id: c } = await postReplyAs('baz', 'c', b) const { id: c } = await postReplyAs('baz', 'c', b)
await sleep(1000)
const { id: a1 } = await postReplyAs('baz', 'a1', a) const { id: a1 } = await postReplyAs('baz', 'a1', a)
await sleep(1000)
const { id: d } = await postReplyAs('baz', 'd', c) const { id: d } = await postReplyAs('baz', 'd', c)
await sleep(1000)
const { id: a2 } = await postReplyAs('baz', 'a2', a1) const { id: a2 } = await postReplyAs('baz', 'a2', a1)
await sleep(1000)
const { id: b1 } = await postReplyAs('baz', 'b1', b) const { id: b1 } = await postReplyAs('baz', 'b1', b)
await sleep(1000)
const { id: a3 } = await postReplyAs('baz', 'a3', a2) const { id: a3 } = await postReplyAs('baz', 'a3', a2)
await sleep(1000)
await postReplyAs('baz', 'e', d) await postReplyAs('baz', 'e', d)
await sleep(1000)
await postReplyAs('baz', 'b2', b1) await postReplyAs('baz', 'b2', b1)
await sleep(1000)
await postReplyAs('baz', 'a4', a3) await postReplyAs('baz', 'a4', a3)
await sleep(1000)
await postReplyAs('baz', 'a1a', a1) await postReplyAs('baz', 'a1a', a1)
await sleep(1000)
// reply chain: foobar -> foobar -> baz -> foobar -> foobar // reply chain: foobar -> foobar -> baz -> foobar -> foobar
// when foobar replies to itself after replying to baz, is it promoted? // when foobar replies to itself after replying to baz, is it promoted?
// see https://github.com/tootsuite/mastodon/pull/9320#issuecomment-440705662 // see https://github.com/tootsuite/mastodon/pull/9320#issuecomment-440705662
const { id: mixed1 } = await postReplyAs('foobar', 'foobar-mixed1', a) const { id: mixed1 } = await postReplyAs('foobar', 'foobar-mixed1', a)
await sleep(1000)
const { id: mixed2 } = await postReplyAs('baz', 'baz-mixed2', mixed1) const { id: mixed2 } = await postReplyAs('baz', 'baz-mixed2', mixed1)
await sleep(1000)
const { id: mixed3 } = await postReplyAs('foobar', 'foobar-mixed3', mixed2) const { id: mixed3 } = await postReplyAs('foobar', 'foobar-mixed3', mixed2)
await sleep(1000)
await postReplyAs('foobar', 'foobar-mixed4', mixed3) await postReplyAs('foobar', 'foobar-mixed4', mixed3)
await sleep(2000)
await loginAsFoobar(t) await loginAsFoobar(t)
await t.click(getNthStatus(4)) await t.click(getNthStatus(4))
const order = 'a foobar-mixed1 b c d e b1 b2 a1 a2 a3 a4 a1a baz-mixed2 foobar-mixed3 foobar-mixed4'.split(' ') const order = 'a foobar-mixed1 b c d e b1 b2 a1 a2 a3 a4 a1a baz-mixed2 foobar-mixed3 foobar-mixed4'.split(' ')
@ -229,27 +245,46 @@ test('complex thread is in correct order - with mixed self-replies', async t =>
test('complex thread is in correct order - with mixed self-replies 2', async t => { test('complex thread is in correct order - with mixed self-replies 2', async t => {
const { id: a } = await postAs('foobar', 'a') const { id: a } = await postAs('foobar', 'a')
await sleep(1000)
const { id: b } = await postReplyAs('baz', 'b', a) const { id: b } = await postReplyAs('baz', 'b', a)
await sleep(1000)
const { id: c } = await postReplyAs('baz', 'c', b) const { id: c } = await postReplyAs('baz', 'c', b)
await sleep(1000)
const { id: a1 } = await postReplyAs('baz', 'a1', a) const { id: a1 } = await postReplyAs('baz', 'a1', a)
await sleep(1000)
const { id: d } = await postReplyAs('baz', 'd', c) const { id: d } = await postReplyAs('baz', 'd', c)
await sleep(1000)
const { id: a2 } = await postReplyAs('baz', 'a2', a1) const { id: a2 } = await postReplyAs('baz', 'a2', a1)
await sleep(1000)
const { id: b1 } = await postReplyAs('baz', 'b1', b) const { id: b1 } = await postReplyAs('baz', 'b1', b)
await sleep(1000)
const { id: a3 } = await postReplyAs('baz', 'a3', a2) const { id: a3 } = await postReplyAs('baz', 'a3', a2)
await sleep(1000)
await postReplyAs('baz', 'e', d) await postReplyAs('baz', 'e', d)
await sleep(1000)
await postReplyAs('baz', 'b2', b1) await postReplyAs('baz', 'b2', b1)
await sleep(1000)
await postReplyAs('baz', 'a4', a3) await postReplyAs('baz', 'a4', a3)
await sleep(1000)
await postReplyAs('baz', 'a1a', a1) await postReplyAs('baz', 'a1a', a1)
await sleep(1000)
// reply chain: foobar -> foobar -> baz -> foobar -> foobar // reply chain: foobar -> foobar -> baz -> foobar -> foobar
// when foobar replies to itself after replying to baz, is it promoted? // when foobar replies to itself after replying to baz, is it promoted?
// see https://github.com/tootsuite/mastodon/pull/9320#issuecomment-440705662 // see https://github.com/tootsuite/mastodon/pull/9320#issuecomment-440705662
const { id: mixed1 } = await postReplyAs('foobar', 'foobar-mixed1', a) const { id: mixed1 } = await postReplyAs('foobar', 'foobar-mixed1', a)
await sleep(1000)
const { id: mixed2 } = await postReplyAs('baz', 'baz-mixed2', mixed1) const { id: mixed2 } = await postReplyAs('baz', 'baz-mixed2', mixed1)
await sleep(1000)
const { id: mixed3 } = await postReplyAs('foobar', 'foobar-mixed3', mixed2) const { id: mixed3 } = await postReplyAs('foobar', 'foobar-mixed3', mixed2)
await sleep(1000)
await postReplyAs('foobar', 'foobar-mixed4', mixed3) await postReplyAs('foobar', 'foobar-mixed4', mixed3)
await sleep(1000)
await postReplyAs('foobar', 'foobar-mixed1a', a) await postReplyAs('foobar', 'foobar-mixed1a', a)
await sleep(1000)
await postReplyAs('foobar', 'foobar-mixed1b', a) await postReplyAs('foobar', 'foobar-mixed1b', a)
await sleep(1000)
await postReplyAs('foobar', 'foobar-mixed2a', mixed1) await postReplyAs('foobar', 'foobar-mixed2a', mixed1)
await sleep(2000)
await loginAsFoobar(t) await loginAsFoobar(t)
await scrollToStatus(t, 7) await scrollToStatus(t, 7)
await t.click(getNthStatus(7)) await t.click(getNthStatus(7))