-
Notifications
You must be signed in to change notification settings - Fork 4.9k
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
1 parent
e8bc6a5
commit e858389
Showing
3 changed files
with
108 additions
and
0 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,46 @@ | ||
import { Driver } from '../../../webdriver/driver'; | ||
|
||
class SelectNetwork { | ||
private driver: Driver; | ||
|
||
private networkName: string | undefined; | ||
|
||
private addNetworkButton: object; | ||
|
||
private closeButton: string; | ||
|
||
private toggleButton: string; | ||
|
||
constructor(driver: Driver) { | ||
this.driver = driver; | ||
this.addNetworkButton = { | ||
tag: 'button', | ||
text: 'Add a custom network', | ||
}; | ||
this.closeButton = 'button[aria-label="Close"]'; | ||
this.toggleButton = '.toggle-button > div'; | ||
} | ||
|
||
async clickNetworkName(networkName: string): Promise<void> { | ||
console.log(`Click ${networkName}`); | ||
this.networkName = `[data-testid="${networkName}"]`; | ||
await this.driver.clickElement(this.networkName); | ||
} | ||
|
||
async addNewNetwork(): Promise<void> { | ||
console.log('Click Add network'); | ||
await this.driver.clickElement(this.addNetworkButton); | ||
} | ||
|
||
async clickCloseButton(): Promise<void> { | ||
console.log('Click Close Button'); | ||
await this.driver.clickElement(this.closeButton); | ||
} | ||
|
||
async clickToggleButton(): Promise<void> { | ||
console.log('Click Toggle Button'); | ||
await this.driver.clickElement(this.toggleButton); | ||
} | ||
} | ||
|
||
export default SelectNetwork; |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,46 @@ | ||
import { Suite } from 'mocha'; | ||
import { Driver } from '../../webdriver/driver'; | ||
import { withFixtures, defaultGanacheOptions } from '../../helpers'; | ||
import FixtureBuilder from '../../fixture-builder'; | ||
import { Ganache } from '../../seeder/ganache'; | ||
import { loginWithBalanceValidation } from '../../page-objects/flows/login.flow'; | ||
import HomePage from '../../page-objects/pages/homepage'; | ||
import HeaderNavbar from '../../page-objects/pages/header-navbar'; | ||
import SelectNetwork from '../../page-objects/pages/dialog/select-network'; | ||
|
||
describe('Switch network - ', function (this: Suite) { | ||
it('Ethereum Mainnet and Sepolia', async function () { | ||
await withFixtures( | ||
{ | ||
fixtures: new FixtureBuilder().build(), | ||
ganacheOptions: defaultGanacheOptions, | ||
title: this.test?.fullTitle(), | ||
}, | ||
async ({ | ||
driver, | ||
ganacheServer, | ||
}: { | ||
driver: Driver; | ||
ganacheServer?: Ganache; | ||
}) => { | ||
await loginWithBalanceValidation(driver, ganacheServer); | ||
const homePage = new HomePage(driver); | ||
const headerNavbar = new HeaderNavbar(driver); | ||
const selectNetwork = new SelectNetwork(driver); | ||
|
||
// Validate the switch network functionality to default Ethereum Mainnet | ||
await headerNavbar.clickSwitchNetworkDropDown(); | ||
await selectNetwork.clickNetworkName('Ethereum Mainnet'); | ||
await homePage.check_expectedBalanceIsDisplayed('25'); | ||
await headerNavbar.check_networkNameSwitchDropDown('Ethereum Mainnet'); | ||
// Validate the switch network functionality to test network Sepolia | ||
await headerNavbar.clickSwitchNetworkDropDown(); | ||
await selectNetwork.clickToggleButton(); | ||
await selectNetwork.clickNetworkName('Sepolia'); | ||
// Validate the transaction made in Ethereum network is not displayed in Sepolia network | ||
await homePage.check_expectedBalanceIsDisplayed('25 Sepolia'); | ||
await headerNavbar.check_networkNameSwitchDropDown('Sepolia'); | ||
}, | ||
); | ||
}); | ||
}); |