diff --git a/cypress/composables/folders.ts b/cypress/composables/folders.ts index 56085c0a3e..ab710a279d 100644 --- a/cypress/composables/folders.ts +++ b/cypress/composables/folders.ts @@ -212,6 +212,11 @@ export function getNewFolderNameInput() { export function getNewFolderModalErrorMessage() { return cy.get('.el-message-box__errormsg').filter(':visible'); } + +export function getProjectTab(tabId: string) { + return cy.getByTestId('project-tabs').find(`#${tabId}`); +} + /** * Actions */ diff --git a/cypress/e2e/49-folders.cy.ts b/cypress/e2e/49-folders.cy.ts index a0ee846c1c..1cf4f17d85 100644 --- a/cypress/e2e/49-folders.cy.ts +++ b/cypress/e2e/49-folders.cy.ts @@ -32,6 +32,7 @@ import { getPersonalProjectMenuItem, getProjectEmptyState, getProjectMenuItem, + getProjectTab, getVisibleListBreadcrumbs, getWorkflowCard, getWorkflowCardBreadcrumbs, @@ -64,12 +65,16 @@ describe('Folders', () => { describe('Create and navigate folders', () => { it('should create folder from the project header', () => { + // 1. In project root getPersonalProjectMenuItem().click(); createFolderFromProjectHeader('My Folder'); getFolderCards().should('have.length.greaterThan', 0); // Clicking on the success toast should navigate to the folder successToast().find('a').click(); getCurrentBreadcrumb().should('contain.text', 'My Folder'); + // 2. In a folder + createFolderFromListHeaderButton('My Folder 2'); + getFolderCard('My Folder 2').should('exist'); }); it('should not allow illegal folder names', () => { @@ -217,6 +222,10 @@ describe('Folders', () => { cy.getByTestId('action-folder').should('exist'); createFolderFromProjectHeader('Personal Folder'); getFolderCards().should('exist'); + // Create folder option should not be available on credentials tab + getProjectTab('ProjectsCredentials').click(); + getAddResourceDropdown().click(); + cy.getByTestId('action-folder').should('not.exist'); }); }); diff --git a/packages/frontend/editor-ui/src/components/Projects/ProjectHeader.vue b/packages/frontend/editor-ui/src/components/Projects/ProjectHeader.vue index d21fe6591b..0450e200b6 100644 --- a/packages/frontend/editor-ui/src/components/Projects/ProjectHeader.vue +++ b/packages/frontend/editor-ui/src/components/Projects/ProjectHeader.vue @@ -61,7 +61,10 @@ const showSettings = computed( const homeProject = computed(() => projectsStore.currentProject ?? projectsStore.personalProject); const showFolders = computed(() => { - return settingsStore.isFoldersFeatureEnabled && route.name !== VIEWS.WORKFLOWS; + return ( + settingsStore.isFoldersFeatureEnabled && + [VIEWS.PROJECTS_WORKFLOWS, VIEWS.PROJECTS_FOLDERS].includes(route.name as VIEWS) + ); }); const ACTION_TYPES = { diff --git a/packages/frontend/editor-ui/src/views/WorkflowsView.vue b/packages/frontend/editor-ui/src/views/WorkflowsView.vue index ef5f4737f8..3bbbbca12c 100644 --- a/packages/frontend/editor-ui/src/views/WorkflowsView.vue +++ b/packages/frontend/editor-ui/src/views/WorkflowsView.vue @@ -1231,13 +1231,13 @@ const onCreateWorkflowClick = () => { /> -