mirror of
				https://github.com/gristlabs/grist-core.git
				synced 2025-06-13 20:53:59 +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 () {
 | 
			
		||||
    oldEnv = new EnvironmentSnapshot();
 | 
			
		||||
    //host = new URL(server.getHost()).host;
 | 
			
		||||
    process.env.ALLOWED_WEBHOOK_DOMAINS = '*';
 | 
			
		||||
    process.env.GRIST_MAX_QUEUE_SIZE = '2';
 | 
			
		||||
    await server.restart();
 | 
			
		||||
@ -50,45 +49,31 @@ describe('WebhookOverflow', function () {
 | 
			
		||||
    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.getCell('A', 1).click();
 | 
			
		||||
    await gu.enterCell('123');
 | 
			
		||||
    await gu.getCell('B', 1).click();
 | 
			
		||||
    await enterCellWithoutWaitingOnServer('124');
 | 
			
		||||
    const toast = await driver.wait(() => gu.getToasts(), 10000);
 | 
			
		||||
    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');
 | 
			
		||||
    await gu.waitToPass(async () => {
 | 
			
		||||
      const toast = await gu.getToasts();
 | 
			
		||||
      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');
 | 
			
		||||
    }, 4000);
 | 
			
		||||
  });
 | 
			
		||||
 | 
			
		||||
  it('message should disappear after clearing queue', async function () {
 | 
			
		||||
    await openWebhookPageWithoutWaitForServer();
 | 
			
		||||
    await driver.findContent('button', /Clear Queue/).click();
 | 
			
		||||
    await gu.waitForServer();
 | 
			
		||||
    await waitForOverflownMessageToDisappear();
 | 
			
		||||
    const toast = await driver.wait(() => gu.getToasts());
 | 
			
		||||
    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');
 | 
			
		||||
    await gu.waitToPass(async () => {
 | 
			
		||||
      const toast = await gu.getToasts();
 | 
			
		||||
      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');
 | 
			
		||||
    }, 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() {
 | 
			
		||||
  await openDocumentSettings();
 | 
			
		||||
  const button = await driver.findContentWait('a', /Manage Webhooks/, 3000);
 | 
			
		||||
 | 
			
		||||
		Loading…
	
		Reference in New Issue
	
	Block a user