mirror of
https://github.com/n8n-io/n8n.git
synced 2026-05-30 08:17:06 +02:00
59 lines
1.6 KiB
TypeScript
59 lines
1.6 KiB
TypeScript
import { expect, type Locator } from '@playwright/test';
|
|
|
|
import { BasePage } from './BasePage';
|
|
|
|
export class SettingsEnvironmentPage extends BasePage {
|
|
async goto(): Promise<void> {
|
|
await this.page.goto('/settings/environments');
|
|
}
|
|
|
|
getConnectButton(): Locator {
|
|
return this.page.getByTestId('source-control-connect-button');
|
|
}
|
|
|
|
getDisconnectButton(): Locator {
|
|
return this.page.getByTestId('source-control-disconnect-button');
|
|
}
|
|
|
|
getRepoUrlInput(): Locator {
|
|
return this.page.getByPlaceholder('git@github.com:user/repository.git');
|
|
}
|
|
|
|
getBranchSelect(): Locator {
|
|
return this.page.getByTestId('source-control-branch-select');
|
|
}
|
|
|
|
getSaveButton(): Locator {
|
|
return this.page.getByTestId('source-control-save-settings-button');
|
|
}
|
|
|
|
fillRepoUrl(url: string): Promise<void> {
|
|
return this.getRepoUrlInput().fill(url);
|
|
}
|
|
|
|
async selectBranch(branchName: string): Promise<void> {
|
|
await this.getBranchSelect().click();
|
|
await this.page.getByRole('option', { name: branchName }).click();
|
|
}
|
|
|
|
async enableReadOnlyMode(): Promise<void> {
|
|
const checkbox = this.page.getByTestId('source-control-read-only-checkbox');
|
|
await checkbox.check();
|
|
}
|
|
|
|
async disableReadOnlyMode(): Promise<void> {
|
|
const checkbox = this.page.getByTestId('source-control-read-only-checkbox');
|
|
await checkbox.uncheck();
|
|
}
|
|
|
|
async disconnect(): Promise<void> {
|
|
await this.getDisconnectButton().click();
|
|
|
|
const confirmModal = this.page
|
|
.getByRole('dialog')
|
|
.filter({ hasText: 'Disconnect Git repository' });
|
|
await expect(confirmModal).toBeVisible();
|
|
await confirmModal.locator('.btn--confirm').click();
|
|
}
|
|
}
|