Skip to content

Commit 6142d59

Browse files
committed
fix: add e2e
1 parent 00a2a9b commit 6142d59

File tree

3 files changed

+73
-0
lines changed

3 files changed

+73
-0
lines changed

test/e2e/fixture-builder.js

+6
Original file line numberDiff line numberDiff line change
@@ -304,6 +304,12 @@ class FixtureBuilder {
304304
return this.withNetworkController({ selectedNetworkClientId: 'mainnet' });
305305
}
306306

307+
withNetworkControllerOnLinea() {
308+
return this.withNetworkController({
309+
selectedNetworkClientId: 'linea-mainnet',
310+
});
311+
}
312+
307313
withNetworkControllerOnOptimism() {
308314
return this.withNetworkController({
309315
networkConfigurations: {

test/e2e/page-objects/pages/nft-details-page.ts

+11
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,8 @@ class NFTDetailsPage {
2020

2121
private readonly nftSendButton = '[data-testid="nft-send-button"]';
2222

23+
private readonly nftItemButtom = '[data-testid="nft-item"]';
24+
2325
constructor(driver: Driver) {
2426
this.driver = driver;
2527
}
@@ -42,6 +44,10 @@ class NFTDetailsPage {
4244
await this.driver.clickElement(this.nftSendButton);
4345
}
4446

47+
async clickNFTItemButton() {
48+
await this.driver.clickElement(this.nftItemButtom);
49+
}
50+
4551
async removeNFT() {
4652
console.log('Click to remove NFT on NFT details page');
4753
await this.driver.clickElement(this.nftOptionsButton);
@@ -84,6 +90,11 @@ class NFTDetailsPage {
8490
text: name,
8591
});
8692
}
93+
94+
async check_nftFullImageIsDisplayed() {
95+
console.log('Check if NFT full image is displayed on NFT details page');
96+
await this.driver.waitForSelector('[data-testid="nft-item"]');
97+
}
8798
}
8899

89100
export default NFTDetailsPage;
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,56 @@
1+
import { withFixtures } from '../../../helpers';
2+
import FixtureBuilder from '../../../fixture-builder';
3+
import HeaderNavbar from '../../../page-objects/pages/header-navbar';
4+
import Homepage from '../../../page-objects/pages/home/homepage';
5+
import NFTListPage from '../../../page-objects/pages/home/nft-list';
6+
import PrivacySettings from '../../../page-objects/pages/settings/privacy-settings';
7+
import SettingsPage from '../../../page-objects/pages/settings/settings-page';
8+
import { loginWithBalanceValidation } from '../../../page-objects/flows/login.flow';
9+
import { setupAutoDetectMocking } from './mocks';
10+
import NFTDetailsPage from '../../../page-objects/pages/nft-details-page';
11+
12+
describe('NFT full', function () {
13+
it('displays NFT full image when NFT is on a network different from the current network', async function () {
14+
const driverOptions = { mock: true };
15+
await withFixtures(
16+
{
17+
fixtures: new FixtureBuilder().withNetworkControllerOnLinea().build(),
18+
driverOptions,
19+
title: this.test?.fullTitle(),
20+
testSpecificMock: setupAutoDetectMocking,
21+
},
22+
async ({ driver }) => {
23+
await loginWithBalanceValidation(driver);
24+
25+
// navigate to security & privacy settings and toggle on NFT autodetection
26+
await new HeaderNavbar(driver).openSettingsPage();
27+
const settingsPage = new SettingsPage(driver);
28+
await settingsPage.check_pageIsLoaded();
29+
await settingsPage.goToPrivacySettings();
30+
31+
const privacySettings = new PrivacySettings(driver);
32+
await privacySettings.check_pageIsLoaded();
33+
await privacySettings.toggleAutodetectNft();
34+
await settingsPage.closeSettingsPage();
35+
36+
// check that nft is displayed
37+
const homepage = new Homepage(driver);
38+
await homepage.check_pageIsLoaded();
39+
await homepage.check_expectedBalanceIsDisplayed();
40+
await homepage.goToNftTab();
41+
const nftListPage = new NFTListPage(driver);
42+
await nftListPage.check_nftNameIsDisplayed(
43+
'ENS: Ethereum Name Service',
44+
);
45+
await nftListPage.check_nftImageIsDisplayed();
46+
await nftListPage.clickNFTIconOnActivityList();
47+
48+
const nftDetailsPage = new NFTDetailsPage(driver);
49+
await nftDetailsPage.check_pageIsLoaded();
50+
51+
await nftDetailsPage.clickNFTItemButton();
52+
await nftDetailsPage.check_nftFullImageIsDisplayed();
53+
},
54+
);
55+
});
56+
});

0 commit comments

Comments
 (0)