63 lines
		
	
	
		
			1.9 KiB
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
			
		
		
	
	
			63 lines
		
	
	
		
			1.9 KiB
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
| const { test, expect } = require('../../fixtures');
 | |
| 
 | |
| test('Github OAuth integration', async ({ page, applicationsPage }) => {
 | |
|   const githubConnectionPage = await test.step(
 | |
|     'Navigate to github connections modal',
 | |
|     async () => {
 | |
|       await applicationsPage.drawerLink.click();
 | |
|       if (page.url() !== '/apps') {
 | |
|         await page.waitForURL('/apps');
 | |
|       }
 | |
|       const connectionModal = await applicationsPage.openAddConnectionModal();
 | |
|       await expect(connectionModal.modal).toBeVisible();
 | |
|       return await connectionModal.selectLink('github');
 | |
|     }
 | |
|   );
 | |
| 
 | |
|   const connectionModal = await test.step(
 | |
|     'Ensure the github connection modal is visible',
 | |
|     async () => {
 | |
|       const connectionModal = githubConnectionPage.addConnectionModal;
 | |
|       await expect(connectionModal.modal).toBeVisible();
 | |
|       return connectionModal;
 | |
|     }
 | |
|   );
 | |
| 
 | |
|   const githubPopup = await test.step(
 | |
|     'Input data into the add connection form and submit',
 | |
|     async () => {
 | |
|       await connectionModal.clientIdInput.fill(process.env.GITHUB_CLIENT_ID);
 | |
|       await connectionModal.clientIdSecretInput.fill(
 | |
|         process.env.GITHUB_CLIENT_SECRET
 | |
|       );
 | |
|       return await connectionModal.submit();
 | |
|     }
 | |
|   );
 | |
| 
 | |
|   await test.step('Ensure github popup is not a 404', async () => {
 | |
|     // await expect(githubPopup).toBeVisible();
 | |
|     const title = await githubPopup.title();
 | |
|     await expect(title).not.toMatch(/^Page not found/);
 | |
|   });
 | |
| 
 | |
|   /* Skip these in CI
 | |
|   await test.step(
 | |
|     'Handle github popup authentication flow',
 | |
|     async () => {
 | |
|       await connectionModal.handlePopup(githubPopup);
 | |
|     }
 | |
|   );
 | |
| 
 | |
|   await test.step(
 | |
|     'Ensure the new connection is added to the connections list',
 | |
|     async () => {
 | |
|       await page.locator('body').click({ position: { x: 0, y: 0 } });
 | |
|       // TODO
 | |
|     }
 | |
|   );
 | |
|   */
 | |
| });
 | |
| 
 | |
| test.afterAll(async () => {
 | |
|   // TODO - Remove connections from github connections page
 | |
| }); | 
