From ad392439826b17bd0b84f981e0958d88f09e7fe9 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ra=C3=BAl=20G=C3=B3mez=20Morales?= Date: Tue, 17 Dec 2024 16:24:50 +0100 Subject: [PATCH] fix(editor): Improve commit modal user facing messaging (#12161) --- cypress/e2e/39-projects.cy.ts | 36 +++---- .../src/components/N8nNotice/Notice.vue | 4 +- .../MainSidebarSourceControl.test.ts | 27 +++++- .../components/MainSidebarSourceControl.vue | 10 ++ .../SourceControlPushModal.ee.test.ts | 60 +++++++++++- .../components/SourceControlPushModal.ee.vue | 97 +++++++++++++++---- packages/editor-ui/src/plugins/i18n/index.ts | 9 +- .../src/plugins/i18n/locales/en.json | 14 ++- 8 files changed, 207 insertions(+), 50 deletions(-) diff --git a/cypress/e2e/39-projects.cy.ts b/cypress/e2e/39-projects.cy.ts index cc1ab5ca36d56..327bff4f93589 100644 --- a/cypress/e2e/39-projects.cy.ts +++ b/cypress/e2e/39-projects.cy.ts @@ -498,7 +498,7 @@ describe('Projects', { disableAutoLogin: true }, () => { projects .getResourceMoveModal() .should('be.visible') - .find('button:contains("Move workflow")') + .contains('button', 'Move workflow') .should('be.disabled'); projects.getProjectMoveSelect().click(); getVisibleSelect() @@ -506,7 +506,7 @@ describe('Projects', { disableAutoLogin: true }, () => { .should('have.length', 5) .filter(':contains("Project 1")') .click(); - projects.getResourceMoveModal().find('button:contains("Move workflow")').click(); + projects.getResourceMoveModal().contains('button', 'Move workflow').click(); clearNotifications(); workflowsPage.getters @@ -524,7 +524,7 @@ describe('Projects', { disableAutoLogin: true }, () => { projects .getResourceMoveModal() .should('be.visible') - .find('button:contains("Move workflow")') + .contains('button', 'Move workflow') .should('be.disabled'); projects.getProjectMoveSelect().click(); getVisibleSelect() @@ -532,7 +532,7 @@ describe('Projects', { disableAutoLogin: true }, () => { .should('have.length', 5) .filter(':contains("Project 2")') .click(); - projects.getResourceMoveModal().find('button:contains("Move workflow")').click(); + projects.getResourceMoveModal().contains('button', 'Move workflow').click(); // Move the workflow from Project 2 to a member user projects.getMenuItems().last().click(); @@ -544,7 +544,7 @@ describe('Projects', { disableAutoLogin: true }, () => { projects .getResourceMoveModal() .should('be.visible') - .find('button:contains("Move workflow")') + .contains('button', 'Move workflow') .should('be.disabled'); projects.getProjectMoveSelect().click(); getVisibleSelect() @@ -553,7 +553,7 @@ describe('Projects', { disableAutoLogin: true }, () => { .filter(`:contains("${INSTANCE_MEMBERS[0].email}")`) .click(); - projects.getResourceMoveModal().find('button:contains("Move workflow")').click(); + projects.getResourceMoveModal().contains('button', 'Move workflow').click(); workflowsPage.getters.workflowCards().should('have.length', 1); // Move the workflow from member user back to Home @@ -569,7 +569,7 @@ describe('Projects', { disableAutoLogin: true }, () => { projects .getResourceMoveModal() .should('be.visible') - .find('button:contains("Move workflow")') + .contains('button', 'Move workflow') .should('be.disabled'); projects.getProjectMoveSelect().click(); getVisibleSelect() @@ -578,7 +578,7 @@ describe('Projects', { disableAutoLogin: true }, () => { .filter(`:contains("${INSTANCE_OWNER.email}")`) .click(); - projects.getResourceMoveModal().find('button:contains("Move workflow")').click(); + projects.getResourceMoveModal().contains('button', 'Move workflow').click(); clearNotifications(); workflowsPage.getters .workflowCards() @@ -596,7 +596,7 @@ describe('Projects', { disableAutoLogin: true }, () => { projects .getResourceMoveModal() .should('be.visible') - .find('button:contains("Move credential")') + .contains('button', 'Move credential') .should('be.disabled'); projects.getProjectMoveSelect().click(); getVisibleSelect() @@ -604,7 +604,7 @@ describe('Projects', { disableAutoLogin: true }, () => { .should('have.length', 5) .filter(':contains("Project 2")') .click(); - projects.getResourceMoveModal().find('button:contains("Move credential")').click(); + projects.getResourceMoveModal().contains('button', 'Move credential').click(); clearNotifications(); credentialsPage.getters.credentialCards().should('not.have.length'); @@ -619,7 +619,7 @@ describe('Projects', { disableAutoLogin: true }, () => { projects .getResourceMoveModal() .should('be.visible') - .find('button:contains("Move credential")') + .contains('button', 'Move credential') .should('be.disabled'); projects.getProjectMoveSelect().click(); getVisibleSelect() @@ -627,7 +627,7 @@ describe('Projects', { disableAutoLogin: true }, () => { .should('have.length', 5) .filter(`:contains("${INSTANCE_ADMIN.email}")`) .click(); - projects.getResourceMoveModal().find('button:contains("Move credential")').click(); + projects.getResourceMoveModal().contains('button', 'Move credential').click(); credentialsPage.getters.credentialCards().should('have.length', 1); // Move the credential from admin user back to instance owner @@ -641,7 +641,7 @@ describe('Projects', { disableAutoLogin: true }, () => { projects .getResourceMoveModal() .should('be.visible') - .find('button:contains("Move credential")') + .contains('button', 'Move credential') .should('be.disabled'); projects.getProjectMoveSelect().click(); getVisibleSelect() @@ -649,7 +649,7 @@ describe('Projects', { disableAutoLogin: true }, () => { .should('have.length', 5) .filter(`:contains("${INSTANCE_OWNER.email}")`) .click(); - projects.getResourceMoveModal().find('button:contains("Move credential")').click(); + projects.getResourceMoveModal().contains('button', 'Move credential').click(); clearNotifications(); @@ -666,7 +666,7 @@ describe('Projects', { disableAutoLogin: true }, () => { projects .getResourceMoveModal() .should('be.visible') - .find('button:contains("Move credential")') + .contains('button', 'Move credential') .should('be.disabled'); projects.getProjectMoveSelect().click(); getVisibleSelect() @@ -674,7 +674,7 @@ describe('Projects', { disableAutoLogin: true }, () => { .should('have.length', 5) .filter(':contains("Project 1")') .click(); - projects.getResourceMoveModal().find('button:contains("Move credential")').click(); + projects.getResourceMoveModal().contains('button', 'Move credential').click(); projects.getMenuItems().first().click(); projects.getProjectTabCredentials().click(); @@ -721,7 +721,7 @@ describe('Projects', { disableAutoLogin: true }, () => { projects .getResourceMoveModal() .should('be.visible') - .find('button:contains("Move workflow")') + .contains('button', 'Move workflow') .should('be.disabled'); projects.getProjectMoveSelect().click(); getVisibleSelect() @@ -729,7 +729,7 @@ describe('Projects', { disableAutoLogin: true }, () => { .should('have.length', 4) .filter(':contains("Project 1")') .click(); - projects.getResourceMoveModal().find('button:contains("Move workflow")').click(); + projects.getResourceMoveModal().contains('button', 'Move workflow').click(); workflowsPage.getters .workflowCards() diff --git a/packages/design-system/src/components/N8nNotice/Notice.vue b/packages/design-system/src/components/N8nNotice/Notice.vue index a69ef3f584d8f..d2f7512292257 100644 --- a/packages/design-system/src/components/N8nNotice/Notice.vue +++ b/packages/design-system/src/components/N8nNotice/Notice.vue @@ -10,6 +10,7 @@ interface NoticeProps { theme?: 'success' | 'warning' | 'danger' | 'info'; content?: string; fullContent?: string; + compact?: boolean; } const props = withDefaults(defineProps(), { @@ -17,6 +18,7 @@ const props = withDefaults(defineProps(), { theme: 'warning', content: '', fullContent: '', + compact: true, }); const emit = defineEmits<{ @@ -68,7 +70,7 @@ const onClick = (event: MouseEvent) => {