63 lines
		
	
	
		
			2.6 KiB
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
			
		
		
	
	
			63 lines
		
	
	
		
			2.6 KiB
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
| const { test, expect } = require('../../fixtures/index');
 | |
| const {AddMattermostConnectionModal} = require('../../fixtures/apps/mattermost/add-mattermost-connection-modal');
 | |
| 
 | |
| test.describe('Pop-up message on connections', () => {
 | |
|   test.beforeEach(async ({ flowEditorPage, page }) => {
 | |
|     await page.getByTestId('create-flow-button').click();
 | |
|     await page.waitForURL(
 | |
|       /\/editor\/[0-9a-fA-F]{8}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{12}/
 | |
|     );
 | |
|     await expect(page.getByTestId('flow-step')).toHaveCount(2);
 | |
| 
 | |
|     await flowEditorPage.flowName.click();
 | |
|     await flowEditorPage.flowNameInput.fill('PopupFlow');
 | |
|     await flowEditorPage.createWebhookTrigger(true);
 | |
| 
 | |
|     await flowEditorPage.chooseAppAndEvent('Mattermost', 'Send a message to channel');
 | |
|     await expect(flowEditorPage.continueButton).toHaveCount(1);
 | |
|     await expect(flowEditorPage.continueButton).not.toBeEnabled();
 | |
| 
 | |
|     await flowEditorPage.connectionAutocomplete.click();
 | |
|     await flowEditorPage.addNewConnectionItem.click();  });
 | |
| 
 | |
|   test('should show error to remind to enable pop-up on connection create', async ({
 | |
|     page,
 | |
|   }) => {
 | |
|     const addMattermostConnectionModal = new AddMattermostConnectionModal(page);
 | |
| 
 | |
|     // Inject script to override window.open
 | |
|     await page.evaluate(() => {
 | |
|       // eslint-disable-next-line no-undef
 | |
|       window.open = function() {
 | |
|         console.log('Popup blocked!');
 | |
|         return null;
 | |
|       };
 | |
|     });
 | |
| 
 | |
|     await addMattermostConnectionModal.fillConnectionForm();
 | |
|     await addMattermostConnectionModal.submitConnectionForm();
 | |
| 
 | |
|     await expect(page.getByTestId("add-connection-error")).toHaveCount(1);
 | |
|     await expect(page.getByTestId("add-connection-error")).toHaveText('Make sure pop-ups are enabled in your browser.');
 | |
|   });
 | |
| 
 | |
|   test('should not show pop-up error if pop-ups are enabled on connection create', async ({
 | |
|     page,
 | |
|   }) => {
 | |
|     const addMattermostConnectionModal = new AddMattermostConnectionModal(page);
 | |
| 
 | |
|     await addMattermostConnectionModal.fillConnectionForm();
 | |
|     const popupPromise = page.waitForEvent('popup');
 | |
|     await addMattermostConnectionModal.submitConnectionForm();
 | |
| 
 | |
|     const popup = await popupPromise;
 | |
|     await expect(popup.url()).toContain("mattermost");
 | |
|     await expect(page.getByTestId("add-connection-error")).toHaveCount(0);
 | |
| 
 | |
|     await test.step('Should show error on failed credentials verification', async () => {
 | |
|       await popup.close();
 | |
|       await expect(page.getByTestId("add-connection-error")).toHaveCount(1);
 | |
|       await expect(page.getByTestId("add-connection-error")).toHaveText('Error occured while verifying credentials!');
 | |
|     });
 | |
|   });
 | |
| }); | 
