Linden Crandall 5075f5c5d8
Some checks are pending
Automatisch Backend Tests / test (push) Waiting to run
Automatisch CI / linter (push) Waiting to run
Automatisch CI / start-backend-server (push) Waiting to run
Automatisch CI / start-backend-worker (push) Waiting to run
Automatisch CI / build-web (push) Waiting to run
Automatisch UI Tests / test (push) Waiting to run
commit upstream files
2025-02-06 04:14:18 +09:00

92 lines
2.9 KiB
JavaScript

const { test, expect } = require('../../fixtures/index');
test.describe('Apps page', () => {
test.beforeEach(async ({ applicationsPage }) => {
await applicationsPage.drawerLink.click();
});
// no connected application exists in an empty account
test.skip('displays no applications', async ({ applicationsPage }) => {
await applicationsPage.page.getByTestId('apps-loader').waitFor({
state: 'detached',
});
await expect(applicationsPage.page.getByTestId('app-row')).not.toHaveCount(
0
);
await applicationsPage.screenshot({
path: 'Applications.png',
});
});
test.describe('can add connection', () => {
test.beforeEach(async ({ applicationsPage }) => {
await expect(applicationsPage.addConnectionButton).toBeClickableLink();
await applicationsPage.addConnectionButton.click();
await applicationsPage.page
.getByTestId('search-for-app-loader')
.waitFor({ state: 'detached' });
});
test('lists applications', async ({ applicationsPage }) => {
const appListItemCount = await applicationsPage.page
.getByTestId('app-list-item')
.count();
expect(appListItemCount).toBeGreaterThan(10);
await applicationsPage.clickAway();
});
test('searches an application', async ({ applicationsPage }) => {
await applicationsPage.page
.getByTestId('search-for-app-text-field')
.fill('DeepL');
await applicationsPage.page
.getByTestId('search-for-app-loader')
.waitFor({ state: 'detached' });
await expect(
applicationsPage.page.getByTestId('app-list-item')
).toHaveCount(1);
await applicationsPage.clickAway();
});
test('goes to app page to create a connection', async ({
applicationsPage,
}) => {
// loading app, app config, app oauth clients take time
test.setTimeout(60000);
await applicationsPage.page.getByTestId('app-list-item').first().click();
await expect(applicationsPage.page).toHaveURL(
'/app/airtable/connections/add?shared=false'
);
await expect(
applicationsPage.page.getByTestId('add-app-connection-dialog')
).toBeVisible();
await applicationsPage.clickAway();
});
test('closes the dialog on backdrop click', async ({
applicationsPage,
}) => {
await applicationsPage.page.getByTestId('app-list-item').first().click();
await expect(applicationsPage.page).toHaveURL(
'/app/airtable/connections/add?shared=false'
);
await expect(
applicationsPage.page.getByTestId('add-app-connection-dialog')
).toBeVisible();
await applicationsPage.clickAway();
await expect(applicationsPage.page).toHaveURL(
'/app/airtable/connections'
);
await expect(
applicationsPage.page.getByTestId('add-app-connection-dialog')
).toBeHidden();
});
});
});