Backport plugin permissions in the workspace (#9966)

* Apply patch

Signed-off-by: Anton Alexeyev <alexeyev.anton@gmail.com>

* Fix merge errors

Signed-off-by: Anton Alexeyev <alexeyev.anton@gmail.com>

* Fix drive header

Signed-off-by: Anton Alexeyev <alexeyev.anton@gmail.com>

* Fix formatting

Signed-off-by: Anton Alexeyev <alexeyev.anton@gmail.com>

* Fix tests

Signed-off-by: Anton Alexeyev <alexeyev.anton@gmail.com>

---------

Signed-off-by: Anton Alexeyev <alexeyev.anton@gmail.com>
This commit is contained in:
Anton Alexeyev
2025-09-30 09:55:39 +07:00
committed by GitHub
parent 7681ccb899
commit 764d963885
87 changed files with 801 additions and 427 deletions
@@ -18,7 +18,7 @@ export class DocumentsPage extends CommonPage {
readonly popupMoveDocument: DocumentMovePopup
readonly buttonCreateDocument = (): Locator =>
this.page.locator('div[data-float="navigator"] button[id="new-document"]')
this.page.locator('div[data-float="navigator"] button[id="document-string-CreateDocument"]')
readonly buttonDocumentWrapper = (name: string): Locator =>
this.page.locator(`button.hulyNavItem-container:has-text("${name}")`)
@@ -10,7 +10,8 @@ export class IssuesPage extends CommonTrackerPage {
modelSelectorAll = (): Locator => this.page.locator('label[data-id="tab-all"]')
issues = (): Locator => this.page.locator('.antiPanel-navigator').locator('text="Issues"')
subIssues = (): Locator => this.page.locator('button:has-text("Add sub-issue")')
newIssue = (): Locator => this.page.locator('#new-issue')
newIssue = (): Locator => this.page.locator('#tracker-string-NewIssue')
draftIssue = (): Locator => this.page.locator('#tracker-string-ResumeDraft')
modelSelectorActive = (): Locator => this.page.locator('label[data-id="tab-active"]')
modelSelectorBacklog = (): Locator => this.page.locator('label[data-id="tab-backlog"]')
buttonCreateNewIssue = (): Locator => this.page.locator('button > div', { hasText: 'New issue' })
@@ -156,7 +157,7 @@ export class IssuesPage extends CommonTrackerPage {
estimationSpan = (): Locator => this.page.locator('.estimation-container >> span').first()
okButton = (): Locator => this.page.getByRole('button', { name: 'Ok', exact: true })
newIssueButton = (): Locator => this.page.locator('#new-issue')
newIssueButton = (): Locator => this.page.locator('#tracker-string-NewIssue')
issueNameInput = (): Locator => this.page.locator('#issue-name >> input')
issueDescriptionInput = (): Locator => this.page.locator('#issue-description >> [contenteditable]')
statusEditor = (): Locator => this.page.locator('#status-editor')
@@ -232,6 +233,10 @@ export class IssuesPage extends CommonTrackerPage {
await this.newIssue().click()
}
async clickOnDraftIssue (): Promise<void> {
await this.draftIssue().click()
}
async navigateToMyIssues (): Promise<void> {
await this.myIssuesButton().click()
}
+1 -1
View File
@@ -45,7 +45,7 @@ test.describe('Tracker sub-issues tests', () => {
await fillIssueForm(page, props)
await page.keyboard.press('Escape')
await page.keyboard.press('Escape')
await issuesPage.clickOnNewIssue()
await issuesPage.clickOnDraftIssue()
await checkIssueDraft(page, props)
})
+1 -1
View File
@@ -161,7 +161,7 @@ test.describe('Tracker tests', () => {
await issuesPage.inputTextPlaceholderFill('1')
await issuesPage.setDueDate('19')
await issuesPage.pressEscapeTwice()
await issuesPage.clickOnNewIssue()
await issuesPage.clickOnDraftIssue()
await checkIssueDraft(page, {
name: issueName,
description: issueName,