diff --git a/src/views/Analysis.vue b/src/views/Analysis.vue index ea17f2c2a..031230d7e 100644 --- a/src/views/Analysis.vue +++ b/src/views/Analysis.vue @@ -103,12 +103,12 @@ along with this program. If not, see . } */ - const table = useInitialOptions('tasksFilter', { props, emit }, true) + const table = useInitialOptions('table', { props, emit }, true) return { tasksFilter, diff --git a/tests/e2e/specs/analysis.cy.js b/tests/e2e/specs/analysis.cy.js index 4b568be12..d3286a7a8 100644 --- a/tests/e2e/specs/analysis.cy.js +++ b/tests/e2e/specs/analysis.cy.js @@ -265,3 +265,91 @@ describe('Analysis view', () => { }) }) }) + +function addView (view) { + cy.get('[data-cy=add-view-btn]').click() + cy.get(`#toolbar-add-${view}-view`).click() + // wait for menu to close + .should('not.be.exist') +} + +describe('Filters and Options save state', () => { + const numTasks = sortedTasks.length + describe('Options save state', () => { + it.only('remembers table and box & whiskers toggle option when switching between workflows', () => { + cy.visit('/#/workspace/one') + addView('Analysis') + cy.get('.c-analysis [data-cy=box-plot-toggle]') + .click() + .get('.vue-apexcharts') + .should('be.visible') + // Navigate away + cy.visit('/#/') + cy.get('.c-dashboard') + // Navigate back + cy.visit('/#/workspace/one') + cy.get('.vue-apexcharts') + .should('be.visible') + }) + }) + describe('Filters save state', () => { + it('remembers task name, platform and timings when switching between workflows', () => { + cy.visit('/#/workspace/one') + addView('Analysis') + // Check default options + cy + .get('.c-analysis table > tbody > tr') + .should('have.length', numTasks) + .should('be.visible') + cy + .get('td') + .contains('30') + .should('be.visible') + // Set platform filter options + cy + .get('#c-analysis-filter-task-platforms') + .click({ force: true }) + cy + .get('.v-list-item') + .contains('platform_1') + .click({ force: true }) + // Set queue task name filter options + cy + .get('#c-analysis-filter-task-name') + .type('wait') + // Set task times filter options + cy + .get('#c-analysis-filter-task-timings') + .click({ force: true }) + cy + .get('.v-list-item') + .contains('Queue') + .click({ force: true }) + // Navigate away + cy.visit('/#/') + cy.get('.c-dashboard') + // Navigate back + cy.visit('/#/workspace/one') + // Check name filter + cy + .get('td') + .contains('waiting') + .should('be.visible') + // Check timing filter + cy + .get('td') + .contains('00:00:12') + .should('be.visible') + // Check platform filter + cy + .get('td') + .contains('platform_1') + .should('be.visible') + // Other checks + cy + .get('.c-analysis table > tbody > tr') + .should('have.length', 1) + .should('be.visible') + }) + }) +})