diff --git a/packages/core/src/ui/components/MidnightEventBanner/MidnightEventBanner.tsx b/packages/core/src/ui/components/MidnightEventBanner/MidnightEventBanner.tsx
index ec7a344812..a1ceeb471e 100644
--- a/packages/core/src/ui/components/MidnightEventBanner/MidnightEventBanner.tsx
+++ b/packages/core/src/ui/components/MidnightEventBanner/MidnightEventBanner.tsx
@@ -29,7 +29,12 @@ const PopupButtons = ({ translations, onLearnMore, onReminder }: Props): JSX.Ele
})}
>
-
+
@@ -49,10 +54,18 @@ const FullScreenButtons = ({ translations, onLearnMore, onReminder }: Props): JS
})}
>
-
+
-
+
);
@@ -70,6 +83,7 @@ const Title = ({ translations }: Props): JSX.Element => (
})
)}
weight="$bold"
+ data-testid="midnight-event-banner-title"
>
{translations.title}
@@ -113,7 +127,7 @@ export const MidnightEventBanner = ({ translations, onClose, onLearnMore, onRemi
w="$fill"
>
-
+
@@ -126,7 +140,11 @@ export const MidnightEventBanner = ({ translations, onClose, onLearnMore, onRemi
}
})}
>
-
+
{translations.description}
diff --git a/packages/e2e-tests/src/assert/midnightBannerAssert.ts b/packages/e2e-tests/src/assert/midnightBannerAssert.ts
new file mode 100644
index 0000000000..319781e668
--- /dev/null
+++ b/packages/e2e-tests/src/assert/midnightBannerAssert.ts
@@ -0,0 +1,25 @@
+import { expect } from 'chai';
+import { t } from '../utils/translationService';
+import midnightBanner from '../elements/midnightBanner';
+
+class MidnightBannerAssert {
+ async assertSeeMidnightBanner() {
+ await midnightBanner.title.waitForDisplayed();
+ expect(await midnightBanner.title.getText()).to.equal(await t('midnightEventBanner.title'));
+ await midnightBanner.closeButton.waitForDisplayed();
+ await midnightBanner.bannerDescriptionText.waitForDisplayed();
+ expect(await midnightBanner.bannerDescriptionText.getText()).to.equal(await t('midnightEventBanner.description'));
+ await midnightBanner.learnMoreButton.waitForDisplayed();
+ expect(await midnightBanner.learnMoreButton.getText()).to.equal(await t('midnightEventBanner.learnMore'));
+ await midnightBanner.remindMeLaterButton.waitForDisplayed();
+ expect(await midnightBanner.remindMeLaterButton.getText()).to.equal(await t('midnightEventBanner.reminder'));
+ }
+
+ async assertSeeMidnightURL() {
+ const EXPECTED_MIDNIGHT_URL = 'https://www.midnight.gd';
+ const currentUrl = await browser.getUrl();
+ expect(currentUrl).to.contain(EXPECTED_MIDNIGHT_URL);
+ }
+}
+
+export default new MidnightBannerAssert();
diff --git a/packages/e2e-tests/src/elements/midnightBanner.ts b/packages/e2e-tests/src/elements/midnightBanner.ts
new file mode 100644
index 0000000000..0455379b07
--- /dev/null
+++ b/packages/e2e-tests/src/elements/midnightBanner.ts
@@ -0,0 +1,36 @@
+/* global WebdriverIO */
+import { ChainablePromiseElement } from 'webdriverio';
+
+class MidnightBanner {
+ private readonly TITLE = '[data-testid="midnight-event-banner-title"]';
+ private readonly LEARN_MORE_BUTTON = '[data-testid="learn-more-button-extended"]';
+ private readonly REMIND_ME_LATER_BUTTON = '[data-testid="remind-me-later-button-extended"]';
+ private readonly CLOSE_BUTTON = '[data-testid="midnight-event-banner-close-button"]';
+ private readonly BANNER_DESCRIPTION_TEXT = '[data-testid="midnight-event-banner-description"]';
+
+ get title(): ChainablePromiseElement {
+ return $(this.TITLE);
+ }
+
+ get learnMoreButton(): ChainablePromiseElement {
+ return $(this.LEARN_MORE_BUTTON);
+ }
+ get closeButton(): ChainablePromiseElement {
+ return $(this.CLOSE_BUTTON);
+ }
+
+ get bannerDescriptionText(): ChainablePromiseElement {
+ return $(this.BANNER_DESCRIPTION_TEXT);
+ }
+
+ get remindMeLaterButton(): ChainablePromiseElement {
+ return $(this.REMIND_ME_LATER_BUTTON);
+ }
+
+ async clickOnLearnMoreButton() {
+ await this.learnMoreButton.waitForClickable();
+ await this.learnMoreButton.click();
+ }
+}
+
+export default new MidnightBanner();
diff --git a/packages/e2e-tests/src/features/MidnightBanner.feature b/packages/e2e-tests/src/features/MidnightBanner.feature
new file mode 100644
index 0000000000..013001a694
--- /dev/null
+++ b/packages/e2e-tests/src/features/MidnightBanner.feature
@@ -0,0 +1,12 @@
+@Midnight-Banner @Testnet
+
+Feature: Midnight - banner view
+
+ Background:
+ Given Wallet is synced
+
+ @LW-13628
+ Scenario: "Discover the Midnight Token Distribution" banner - click on "Learn more" button
+ Given "Discover the Midnight Token Distribution" banner is displayed
+ When I click on "Learn more" button on "Discover the Midnight Token Distribution" banner
+ Then "www.midnight.gd" page is displayed in new tab
diff --git a/packages/e2e-tests/src/hooks/beforeTagHooks.ts b/packages/e2e-tests/src/hooks/beforeTagHooks.ts
index bd4f2f365f..45fbd72e7b 100644
--- a/packages/e2e-tests/src/hooks/beforeTagHooks.ts
+++ b/packages/e2e-tests/src/hooks/beforeTagHooks.ts
@@ -38,7 +38,7 @@ Before(
Before(
{
- tags: '@AddressBook-extended or @Transactions-Extended or @Tokens-extended or @Staking-Extended or @LockWallet-extended or @Top-Navigation-Extended or @NFTs-Extended or @NFT-Folders-Extended or @SendTx-Bundles-Extended or @SendTx-Simple-Extended or @MainNavigation-Extended or @Send-Transaction-Metadata-Extended or @Settings-Extended or @DAppConnector or @DAppConnector-Extended or @Analytics-Settings-Extended or @Banxa-Extended or @GeneratePaperWallet or @SignMessage-Extended or @WalletAddressPage-Extended or @NamiMode-Extended or @VotingCenterExtended or @DAppExplorer-Extended or @WalletRenaming-Extended or @SharedWalletOnboarding-Extended or @NftPrintLab-Extended'
+ tags: '@AddressBook-extended or @Transactions-Extended or @Tokens-extended or @Staking-Extended or @LockWallet-extended or @Top-Navigation-Extended or @NFTs-Extended or @NFT-Folders-Extended or @SendTx-Bundles-Extended or @SendTx-Simple-Extended or @MainNavigation-Extended or @Send-Transaction-Metadata-Extended or @Settings-Extended or @DAppConnector or @DAppConnector-Extended or @Analytics-Settings-Extended or @Banxa-Extended or @GeneratePaperWallet or @SignMessage-Extended or @WalletAddressPage-Extended or @NamiMode-Extended or @VotingCenterExtended or @DAppExplorer-Extended or @WalletRenaming-Extended or @SharedWalletOnboarding-Extended or @NftPrintLab-Extended or @Midnight-Banner'
},
async () => {
await extendedViewRepositoryWalletInitialization([TestWalletName.TestAutomationWallet]);
diff --git a/packages/e2e-tests/src/steps/midnightBannerSteps.ts b/packages/e2e-tests/src/steps/midnightBannerSteps.ts
new file mode 100644
index 0000000000..553dc67a16
--- /dev/null
+++ b/packages/e2e-tests/src/steps/midnightBannerSteps.ts
@@ -0,0 +1,17 @@
+import { Given, When, Then } from '@cucumber/cucumber';
+import midnightBanner from '../elements/midnightBanner';
+import midnightBannerAssert from '../assert/midnightBannerAssert';
+import { switchToLastWindow } from '../utils/window';
+
+Given(/^"Discover the Midnight Token Distribution" banner is displayed$/, async () => {
+ await midnightBannerAssert.assertSeeMidnightBanner();
+});
+
+When(/^I click on "Learn more" button on "Discover the Midnight Token Distribution" banner$/, async () => {
+ await midnightBanner.clickOnLearnMoreButton();
+});
+
+Then(/^"www.midnight.gd" page is displayed in new tab$/, async () => {
+ await switchToLastWindow();
+ await midnightBannerAssert.assertSeeMidnightURL();
+});
diff --git a/packages/e2e-tests/wdio.conf.base.ts b/packages/e2e-tests/wdio.conf.base.ts
index 8492d6f4ad..10719ceb0b 100755
--- a/packages/e2e-tests/wdio.conf.base.ts
+++ b/packages/e2e-tests/wdio.conf.base.ts
@@ -104,7 +104,11 @@ export const config: WebdriverIO.Config = {
'./src/features/NetworkRequestsCounting.feature'
],
batch15: ['./src/features/NFTsFolders*.feature', './src/features/SignMessage.feature'],
- batch16: ['./src/features/SendTransactionBundlesExtended*.feature', './src/features/e2e/SignDataDAppE2E.feature']
+ batch16: [
+ './src/features/SendTransactionBundlesExtended*.feature',
+ './src/features/e2e/SignDataDAppE2E.feature',
+ './src/features/MidnightBanner.feature'
+ ]
},
automationProtocol: 'webdriver',
exclude: [],