mirror of
https://github.com/gristlabs/grist-core.git
synced 2024-10-27 20:44:07 +00:00
tweak webhook overflow test (#590)
This test appears to fail if toasts aren't issued fast enough (perhaps because an empty toast list may count as truthy?). I might be missing something since I don't understand the purpose of waitForOverflownMessageToDisappear apart from lengthening a timeout.
This commit is contained in:
parent
a77e82388b
commit
bc599916f5
@ -16,7 +16,6 @@ describe('WebhookOverflow', function () {
|
|||||||
|
|
||||||
before(async function () {
|
before(async function () {
|
||||||
oldEnv = new EnvironmentSnapshot();
|
oldEnv = new EnvironmentSnapshot();
|
||||||
//host = new URL(server.getHost()).host;
|
|
||||||
process.env.ALLOWED_WEBHOOK_DOMAINS = '*';
|
process.env.ALLOWED_WEBHOOK_DOMAINS = '*';
|
||||||
process.env.GRIST_MAX_QUEUE_SIZE = '2';
|
process.env.GRIST_MAX_QUEUE_SIZE = '2';
|
||||||
await server.restart();
|
await server.restart();
|
||||||
@ -50,45 +49,31 @@ describe('WebhookOverflow', function () {
|
|||||||
await driver.sendKeys(...keys);
|
await driver.sendKeys(...keys);
|
||||||
}
|
}
|
||||||
|
|
||||||
it('should show a message when overflown', async function () {
|
it('should show a message when overflowed', async function () {
|
||||||
await gu.openPage('Table2');
|
await gu.openPage('Table2');
|
||||||
await gu.getCell('A', 1).click();
|
await gu.getCell('A', 1).click();
|
||||||
await gu.enterCell('123');
|
await gu.enterCell('123');
|
||||||
await gu.getCell('B', 1).click();
|
await gu.getCell('B', 1).click();
|
||||||
await enterCellWithoutWaitingOnServer('124');
|
await enterCellWithoutWaitingOnServer('124');
|
||||||
const toast = await driver.wait(() => gu.getToasts(), 10000);
|
await gu.waitToPass(async () => {
|
||||||
|
const toast = await gu.getToasts();
|
||||||
assert.include(toast, 'New changes are temporarily suspended. Webhooks queue overflowed.' +
|
assert.include(toast, 'New changes are temporarily suspended. Webhooks queue overflowed.' +
|
||||||
' Please check webhooks settings, remove invalid webhooks, and clean the queue.\ngo to webhook settings');
|
' Please check webhooks settings, remove invalid webhooks, and clean the queue.\ngo to webhook settings');
|
||||||
|
}, 4000);
|
||||||
});
|
});
|
||||||
|
|
||||||
it('message should disappear after clearing queue', async function () {
|
it('message should disappear after clearing queue', async function () {
|
||||||
await openWebhookPageWithoutWaitForServer();
|
await openWebhookPageWithoutWaitForServer();
|
||||||
await driver.findContent('button', /Clear Queue/).click();
|
await driver.findContent('button', /Clear Queue/).click();
|
||||||
await gu.waitForServer();
|
await gu.waitForServer();
|
||||||
await waitForOverflownMessageToDisappear();
|
await gu.waitToPass(async () => {
|
||||||
const toast = await driver.wait(() => gu.getToasts());
|
const toast = await gu.getToasts();
|
||||||
assert.notInclude(toast, 'New changes are temporarily suspended. Webhooks queue overflowed.' +
|
assert.notInclude(toast, 'New changes are temporarily suspended. Webhooks queue overflowed.' +
|
||||||
' Please check webhooks settings, remove invalid webhooks, and clean the queue.\ngo to webhook settings');
|
' Please check webhooks settings, remove invalid webhooks, and clean the queue.\ngo to webhook settings');
|
||||||
|
}, 12500);
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
|
|
||||||
async function waitForOverflownMessageToDisappear(maxWait = 12500) {
|
|
||||||
await driver.wait(async () => {
|
|
||||||
try {
|
|
||||||
for (;;) {
|
|
||||||
const toasts = await gu.getToasts();
|
|
||||||
const filteredToasts = toasts.find(t => t=='New changes are temporarily suspended. Webhooks queue overflowed.' +
|
|
||||||
' Please check webhooks settings, remove invalid webhooks, and clean the queue.\ngo to webhook settings');
|
|
||||||
if (!filteredToasts) {
|
|
||||||
return true;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
} catch (e) {
|
|
||||||
return false;
|
|
||||||
}
|
|
||||||
}, maxWait, 'Overflown message did not disappear');
|
|
||||||
}
|
|
||||||
|
|
||||||
async function openWebhookPageWithoutWaitForServer() {
|
async function openWebhookPageWithoutWaitForServer() {
|
||||||
await openDocumentSettings();
|
await openDocumentSettings();
|
||||||
const button = await driver.findContentWait('a', /Manage Webhooks/, 3000);
|
const button = await driver.findContentWait('a', /Manage Webhooks/, 3000);
|
||||||
|
Loading…
Reference in New Issue
Block a user