From 4ed75217ca35de60d0b141b3de628656003a5f93 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Wojtek=20K=C5=82os?= <114915819+wklos-iohk@users.noreply.github.com> Date: Thu, 7 Mar 2024 12:43:22 +0100 Subject: [PATCH] test(extension): add support for grid view toggle (#942) * test(extension): add support for grid view toggle * test(extension): adjust assertion --- .../MultidelegationPageAssert.ts | 2 ++ .../src/assert/transactionsPageAssert.ts | 4 +-- .../multidelegation/MultidelegationPage.ts | 30 +++++++++++++++++++ .../MultiDelegationPageExtended.feature | 8 +++++ ...elegatedFundsMultiplePoolsExtended.feature | 1 + ...onDelegatedFundsSinglePoolExtended.feature | 1 + ...elegationSwitchingPoolsExtendedE2E.feature | 3 ++ .../src/steps/multidelegationSteps.ts | 7 +++++ .../BrowsePools/BrowsePoolsHeader.tsx | 6 ++-- 9 files changed, 57 insertions(+), 5 deletions(-) diff --git a/packages/e2e-tests/src/assert/multidelegation/MultidelegationPageAssert.ts b/packages/e2e-tests/src/assert/multidelegation/MultidelegationPageAssert.ts index 313e4bf448..f00d6b8eff 100644 --- a/packages/e2e-tests/src/assert/multidelegation/MultidelegationPageAssert.ts +++ b/packages/e2e-tests/src/assert/multidelegation/MultidelegationPageAssert.ts @@ -30,6 +30,8 @@ class MultidelegationPageAssert { expect(await MultidelegationPage.overviewTab.getText()).to.equal(await t('root.nav.overviewTitle', 'staking')); await MultidelegationPage.browseTab.waitForDisplayed(); expect(await MultidelegationPage.browseTab.getText()).to.equal(await t('root.nav.browsePoolsTitle', 'staking')); + await MultidelegationPage.activityTab.waitForDisplayed(); + expect(await MultidelegationPage.activityTab.getText()).to.equal(await t('root.nav.activityTitle', 'staking')); }; assertSeeDelegationCardDetailsInfo = async () => { diff --git a/packages/e2e-tests/src/assert/transactionsPageAssert.ts b/packages/e2e-tests/src/assert/transactionsPageAssert.ts index 620b2dda8c..cdb1945fa7 100644 --- a/packages/e2e-tests/src/assert/transactionsPageAssert.ts +++ b/packages/e2e-tests/src/assert/transactionsPageAssert.ts @@ -109,8 +109,8 @@ class TransactionsPageAssert { const txFiatValueNumber = txFiatValueString.slice(0, -4); const txFiatValue = Number(txFiatValueNumber); - expect(txADAValue).to.be.greaterThan(0); - expect(txFiatValue).to.be.greaterThan(0); + expect(txADAValue).to.be.not.equal(0); + expect(txFiatValue).to.be.not.equal(0); } } diff --git a/packages/e2e-tests/src/elements/multidelegation/MultidelegationPage.ts b/packages/e2e-tests/src/elements/multidelegation/MultidelegationPage.ts index 698c837cb2..253e47809a 100644 --- a/packages/e2e-tests/src/elements/multidelegation/MultidelegationPage.ts +++ b/packages/e2e-tests/src/elements/multidelegation/MultidelegationPage.ts @@ -11,6 +11,7 @@ import CommonDrawerElements from '../CommonDrawerElements'; import { StakePoolListColumnType } from '../../types/staking'; class MultidelegationPage { + private ACTIVITY_TAB = '[data-testid="activity-tab"]'; private OVERVIEW_TAB = '[data-testid="overview-tab"]'; private BROWSE_POOLS_TAB = '[data-testid="browse-tab"]'; private DELEGATION_CARD_STATUS_LABEL = '[data-testid="overview.delegationCard.label.status-label"]'; @@ -60,6 +61,8 @@ class MultidelegationPage { private TOOLTIP = 'div.ant-tooltip-inner'; private CHECKBOX = '[data-testid="stake-pool-list-checkbox"]'; private MANAGE_BTN = '[data-testid="manage-btn"]'; + private GRID_VIEW_TOGGLE = '[data-testid="grid-view-toggle"]'; + private LIST_VIEW_TOGGLE = '[data-testid="list-view-toggle"]'; get title() { return SectionTitle.sectionTitle; @@ -73,6 +76,18 @@ class MultidelegationPage { return $(this.BROWSE_POOLS_TAB); } + get activityTab() { + return $(this.ACTIVITY_TAB); + } + + get gridViewToggle() { + return $(this.GRID_VIEW_TOGGLE); + } + + get listViewToggle() { + return $(this.LIST_VIEW_TOGGLE); + } + get delegationCardStatusLabel() { return $(this.DELEGATION_CARD_STATUS_LABEL); } @@ -376,6 +391,21 @@ class MultidelegationPage { await this.manageBtn.waitForClickable(); await this.manageBtn.click(); } + + async switchPoolsView(viewType: 'grid' | 'list') { + switch (viewType) { + case 'grid': + await this.gridViewToggle.waitForClickable(); + await this.gridViewToggle.click(); + break; + case 'list': + await this.listViewToggle.waitForClickable(); + await this.listViewToggle.click(); + break; + default: + throw new Error(`Unsupported view: ${viewType}`); + } + } } export default new MultidelegationPage(); diff --git a/packages/e2e-tests/src/features/MultiDelegationPageExtended.feature b/packages/e2e-tests/src/features/MultiDelegationPageExtended.feature index ceab385c56..44a3bf387b 100644 --- a/packages/e2e-tests/src/features/MultiDelegationPageExtended.feature +++ b/packages/e2e-tests/src/features/MultiDelegationPageExtended.feature @@ -24,12 +24,14 @@ Feature: Staking Page - Extended View Scenario: Extended View - Staking search control is displayed with appropriate content When I navigate to Staking extended page And I open Browse pools tab + And I switch to list view on "Browse pools" tab Then I see the stake pool search control with appropriate content @LW-8448 @Testnet Scenario Outline: Extended View - Stake pool search for "" returns the expected number of results with appropriate content When I navigate to Staking extended page And I open Browse pools tab + And I switch to list view on "Browse pools" tab And I input "" into stake pool search bar Then there are stake pools returned And (if applicable) first stake pool search result has "" ticker @@ -48,6 +50,7 @@ Feature: Staking Page - Extended View Scenario Outline: Extended View - Stake pool search for "" returns the expected number of results with appropriate content When I navigate to Staking extended page And I open Browse pools tab + And I switch to list view on "Browse pools" tab And I input "" into stake pool search bar Then there are stake pools returned And (if applicable) first stake pool search result has "" ticker @@ -88,6 +91,7 @@ Feature: Staking Page - Extended View Scenario Outline: Extended View - Staking - Show tooltip for column names in browse pools section When I navigate to Staking extended page And I open Browse pools tab + And I switch to list view on "Browse pools" tab When I hover over "" column name in stake pool list Then tooltip for "" column is displayed Examples: @@ -106,6 +110,7 @@ Feature: Staking Page - Extended View When I navigate to Staking extended page And I open Overview tab And I open Browse pools tab + And I switch to list view on "Browse pools" tab And I input "ADA Ocean" into stake pool search bar And I click on the stake pool with ticker "OCEAN" And I click on "Stake all on this pool" button on stake pool details drawer @@ -117,6 +122,7 @@ Feature: Staking Page - Extended View Scenario: Extended View - Selecting stakepool from list opens drawer with appropriate details And I am on Staking extended page And I open Browse pools tab + And I switch to list view on "Browse pools" tab And I input "ADA Ocean" into stake pool search bar And I click on the stake pool with ticker "OCEAN" Then I see stake pool details drawer for "ADA Ocean" stake pool @@ -125,6 +131,7 @@ Feature: Staking Page - Extended View Scenario: Extended View - Staking - Stakepool details drawer - Close drawer And I am on Staking extended page And I open Browse pools tab + And I switch to list view on "Browse pools" tab And I input "ADA Ocean" into stake pool search bar And I click on the stake pool with ticker "OCEAN" And Stake pool details drawer is opened @@ -135,5 +142,6 @@ Feature: Staking Page - Extended View Scenario: Extended View - Stake pool list item And I am on Staking extended page And I open Browse pools tab + And I switch to list view on "Browse pools" tab And I wait for stake pool list to be populated Then each stake pool list item contains: checkbox, ticker, saturation, ROS, cost, margin, blocks, pledge and live stake diff --git a/packages/e2e-tests/src/features/MultidelegationDelegatedFundsMultiplePoolsExtended.feature b/packages/e2e-tests/src/features/MultidelegationDelegatedFundsMultiplePoolsExtended.feature index 4e98e02d90..e8bddbfe85 100644 --- a/packages/e2e-tests/src/features/MultidelegationDelegatedFundsMultiplePoolsExtended.feature +++ b/packages/e2e-tests/src/features/MultidelegationDelegatedFundsMultiplePoolsExtended.feature @@ -122,6 +122,7 @@ Feature: Staking Page - Delegated funds - Multiple pools - Extended View Scenario Outline: Extended View - button