Skip to content

Commit b657f4e

Browse files
authored
Merge pull request #383 from Progi1984/fixUITests
2 parents 4408804 + 8dbc006 commit b657f4e

8 files changed

Lines changed: 293 additions & 280 deletions

File tree

.github/workflows/ui-test.yml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -104,6 +104,7 @@ jobs:
104104
name: playwright-logs-${{ matrix.PS_VERSION }}
105105
path: |
106106
tests/UI/reports/
107+
tests/UI/test-results/
107108
tests/UI/docker-compose.log
108109
109110
nightly:

tests/UI/campaigns/01_installation/04_resetModule.spec.ts

Lines changed: 33 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -5,15 +5,16 @@ import {
55
dataCustomers,
66
dataModules,
77
dataProducts,
8-
foClassicHomePage,
9-
foClassicLoginPage,
10-
foClassicModalWishlistPage,
11-
foClassicMyWishlistsViewPage,
12-
foClassicProductPage,
13-
foClassicSearchResultsPage,
8+
foHomePage,
9+
foLoginPage,
10+
foModalWishlistPage,
11+
foMyWishlistsViewPage,
12+
foProductPage,
13+
foSearchResultsPage,
1414
modBlockwishlistBoMain,
1515
utilsTest,
1616
} from '@prestashop-core/ui-testing';
17+
import semver from 'semver';
1718

1819
import { test, expect, Page, BrowserContext } from '@playwright/test';
1920

@@ -64,6 +65,16 @@ test.describe('Wishlist module - Reset module', () => {
6465
expect(isModuleVisible).toBeTruthy();
6566
});
6667

68+
// >= 9.1.x : Hummingbird is enabled, but blockwishlist is disabled
69+
if (semver.gte(utilsTest.getPSVersion(), '9.1.0')) {
70+
test(`should enable the module ${dataModules.blockwishlist.name}`, async () => {
71+
await utilsTest.addContextItem(test.info(), 'testIdentifier', 'searchModule', baseContext);
72+
73+
const textResult = await boModuleManagerPage.setActionInModule(page, dataModules.blockwishlist, 'enable');
74+
expect(textResult).toEqual(boModuleManagerPage.enableModuleSuccessMessage(dataModules.blockwishlist.tag));
75+
});
76+
}
77+
6778
test('should display the reset modal and cancel it', async () => {
6879
await utilsTest.addContextItem(test.info(), 'testIdentifier', 'resetModuleAndCancel', baseContext);
6980

@@ -109,53 +120,53 @@ test.describe('Wishlist module - Reset module', () => {
109120
await utilsTest.addContextItem(test.info(), 'testIdentifier', 'goToFo', baseContext);
110121

111122
page = await modBlockwishlistBoMain.viewMyShop(page);
112-
await foClassicHomePage.changeLanguage(page, 'en');
123+
await foHomePage.changeLanguage(page, 'en');
113124

114-
const isHomePage = await foClassicHomePage.isHomePage(page);
125+
const isHomePage = await foHomePage.isHomePage(page);
115126
expect(isHomePage).toBeTruthy();
116127
});
117128

118129
test('should go to login page', async () => {
119130
await utilsTest.addContextItem(test.info(), 'testIdentifier', 'goToLoginPageFO', baseContext);
120131

121-
await foClassicHomePage.goToLoginPage(page);
132+
await foHomePage.goToLoginPage(page);
122133

123-
const pageTitle = await foClassicLoginPage.getPageTitle(page);
124-
expect(pageTitle).toContain(foClassicLoginPage.pageTitle);
134+
const pageTitle = await foLoginPage.getPageTitle(page);
135+
expect(pageTitle).toContain(foLoginPage.pageTitle);
125136
});
126137

127138
test('should sign in with default customer', async () => {
128139
await utilsTest.addContextItem(test.info(), 'testIdentifier', 'sighInFO', baseContext);
129140

130-
await foClassicLoginPage.customerLogin(page, dataCustomers.johnDoe);
141+
await foLoginPage.customerLogin(page, dataCustomers.johnDoe);
131142

132-
const isCustomerConnected = await foClassicLoginPage.isCustomerConnected(page);
143+
const isCustomerConnected = await foLoginPage.isCustomerConnected(page);
133144
expect(isCustomerConnected).toBeTruthy();
134145
});
135146

136147
test(`should search the product ${dataProducts.demo_3.name}`, async () => {
137148
await utilsTest.addContextItem(test.info(), 'testIdentifier', 'searchProductDemo3', baseContext);
138149

139-
await foClassicMyWishlistsViewPage.searchProduct(page, dataProducts.demo_3.name);
140-
await foClassicSearchResultsPage.goToProductPage(page, 1);
150+
await foMyWishlistsViewPage.searchProduct(page, dataProducts.demo_3.name);
151+
await foSearchResultsPage.goToProductPage(page, 1);
141152

142-
const pageTitle = await foClassicProductPage.getPageTitle(page);
153+
const pageTitle = await foProductPage.getPageTitle(page);
143154
expect(pageTitle).toEqual(dataProducts.demo_3.name);
144155
});
145156

146157
test('should add to the wishlist and get the label', async () => {
147158
await utilsTest.addContextItem(test.info(), 'testIdentifier', 'addToWishlist1', baseContext);
148159

149-
await foClassicProductPage.clickAddToWishlistButton(page);
160+
await foProductPage.clickAddToWishlistButton(page);
150161

151-
const textResult = await foClassicModalWishlistPage.getModalAddToCreateWislistLabel(page);
162+
const textResult = await foModalWishlistPage.getModalAddToCreateWislistLabel(page);
152163
expect(textResult).toContain(labelButton);
153164
});
154165

155166
test('should return to \'Modules > Module Manager\' page', async () => {
156167
await utilsTest.addContextItem(test.info(), 'testIdentifier', 'goToModuleManagerPageForReset', baseContext);
157168

158-
page = await foClassicModalWishlistPage.changePage(browserContext, 0);
169+
page = await foModalWishlistPage.changePage(browserContext, 0);
159170
await boDashboardPage.goToSubMenu(
160171
page,
161172
boDashboardPage.modulesParentLink,
@@ -185,10 +196,10 @@ test.describe('Wishlist module - Reset module', () => {
185196
await utilsTest.addContextItem(test.info(), 'testIdentifier', 'addToWishlist2', baseContext);
186197

187198
page = await boModuleManagerPage.changePage(browserContext, 1);
188-
await foClassicProductPage.reloadPage(page);
189-
await foClassicProductPage.clickAddToWishlistButton(page);
199+
await foProductPage.reloadPage(page);
200+
await foProductPage.clickAddToWishlistButton(page);
190201

191-
const textResult = await foClassicModalWishlistPage.getModalAddToCreateWislistLabel(page);
202+
const textResult = await foModalWishlistPage.getModalAddToCreateWislistLabel(page);
192203
expect(textResult).toContain(modBlockwishlistBoMain.defaultValueCreateButtonLabel);
193204
});
194205
});

tests/UI/campaigns/01_installation/05_uninstallAndDeleteModule.spec.ts

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -4,8 +4,8 @@ import {
44
boModuleManagerPage,
55
dataModules,
66
dataProducts,
7-
foClassicHomePage,
8-
foClassicProductPage,
7+
foHomePage,
8+
foProductPage,
99
utilsFile,
1010
utilsTest,
1111
} from '@prestashop-core/ui-testing';
@@ -92,18 +92,18 @@ test.describe('Wishlist module - Uninstall and delete module', () => {
9292
await utilsTest.addContextItem(test.info(), 'testIdentifier', 'viewMyShop', baseContext);
9393

9494
page = await boModuleManagerPage.viewMyShop(page);
95-
await foClassicHomePage.changeLanguage(page, 'en');
95+
await foHomePage.changeLanguage(page, 'en');
9696

97-
const isHomePage = await foClassicHomePage.isHomePage(page);
97+
const isHomePage = await foHomePage.isHomePage(page);
9898
expect(isHomePage).toBeTruthy();
9999
});
100100

101101
test('should go the product page', async () => {
102102
await utilsTest.addContextItem(test.info(), 'testIdentifier', 'goToProductPage', baseContext);
103103

104-
await foClassicHomePage.goToProductPage(page, 1);
104+
await foHomePage.goToProductPage(page, 1);
105105

106-
const productInformations = await foClassicProductPage.getProductInformation(page);
106+
const productInformations = await foProductPage.getProductInformation(page);
107107
expect(productInformations.name).toEqual(dataProducts.demo_1.name);
108108
});
109109

@@ -112,14 +112,14 @@ test.describe('Wishlist module - Uninstall and delete module', () => {
112112

113113
test.skip(true, 'Can\'t be uninstalled as it is a volume in Docker');
114114

115-
const hasAddToWishlistButton = await foClassicProductPage.hasAddToWishlistButton(page);
115+
const hasAddToWishlistButton = await foProductPage.hasAddToWishlistButton(page);
116116
expect(hasAddToWishlistButton).toBeFalsy();
117117
});
118118

119119
test('should go back to Back Office', async () => {
120120
await utilsTest.addContextItem(test.info(), 'testIdentifier', 'returnToModulesManager', baseContext);
121121

122-
page = await foClassicProductPage.closePage(browserContext, page, 0);
122+
page = await foProductPage.closePage(browserContext, page, 0);
123123

124124
test.skip(true, 'Can\'t be uninstalled as it is a volume in Docker');
125125
await boDashboardPage.goToSubMenu(

tests/UI/campaigns/02_configuration/02_statisticsTabSettings.spec.ts

Lines changed: 18 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -7,9 +7,9 @@ import {
77
dataCustomers,
88
dataModules,
99
// Import FO pages
10-
foClassicCategoryPage,
11-
foClassicHomePage,
12-
foClassicLoginPage,
10+
foCategoryPage,
11+
foHomePage,
12+
foLoginPage,
1313
// Import modules
1414
modBlockwishlistBoMain,
1515
modBlockwishlistBoStatistics,
@@ -98,36 +98,36 @@ test.describe('Wishlist module - Statistics tab settings', () => {
9898
await utilsTest.addContextItem(test.info(), 'testIdentifier', 'goToFO', baseContext);
9999

100100
page = await modBlockwishlistBoStatistics.viewMyShop(page);
101-
await foClassicHomePage.changeLanguage(page, 'en');
101+
await foHomePage.changeLanguage(page, 'en');
102102

103-
const isHomePage = await foClassicHomePage.isHomePage(page);
103+
const isHomePage = await foHomePage.isHomePage(page);
104104
expect(isHomePage).toEqual(true);
105105
});
106106

107107
test('should go to login page', async () => {
108108
await utilsTest.addContextItem(test.info(), 'testIdentifier', 'goToLoginPage', baseContext);
109109

110-
await foClassicHomePage.goToLoginPage(page);
110+
await foHomePage.goToLoginPage(page);
111111

112-
const pageTitle = await foClassicLoginPage.getPageTitle(page);
113-
expect(pageTitle, 'Fail to open FO login page').toContain(foClassicLoginPage.pageTitle);
112+
const pageTitle = await foLoginPage.getPageTitle(page);
113+
expect(pageTitle, 'Fail to open FO login page').toContain(foLoginPage.pageTitle);
114114
});
115115

116116
test('should sign in with default customer', async () => {
117117
await utilsTest.addContextItem(test.info(), 'testIdentifier', 'sighInFo', baseContext);
118118

119-
await foClassicLoginPage.customerLogin(page, dataCustomers.johnDoe);
119+
await foLoginPage.customerLogin(page, dataCustomers.johnDoe);
120120

121-
const isCustomerConnected = await foClassicLoginPage.isCustomerConnected(page);
121+
const isCustomerConnected = await foLoginPage.isCustomerConnected(page);
122122
expect(isCustomerConnected, 'Customer is not connected').toEqual(true);
123123
});
124124

125125
test('should go to all products page', async () => {
126126
await utilsTest.addContextItem(test.info(), 'testIdentifier', 'goToAllProducts', baseContext);
127127

128-
await foClassicHomePage.goToAllProductsPage(page);
128+
await foHomePage.goToAllProductsPage(page);
129129

130-
const isCategoryPageVisible = await foClassicCategoryPage.isCategoryPage(page);
130+
const isCategoryPageVisible = await foCategoryPage.isCategoryPage(page);
131131
expect(isCategoryPageVisible).toEqual(true);
132132
});
133133

@@ -136,27 +136,27 @@ test.describe('Wishlist module - Statistics tab settings', () => {
136136
test(`should add product #${idxProduct} to wishlist`, async () => {
137137
await utilsTest.addContextItem(test.info(), 'testIdentifier', `addToFavorite${idxProduct}`, baseContext);
138138

139-
const textResult = await foClassicCategoryPage.addToWishList(page, idxProduct);
140-
expect(textResult).toEqual(foClassicCategoryPage.messageAddedToWishlist);
139+
const textResult = await foCategoryPage.addToWishList(page, idxProduct);
140+
expect(textResult).toEqual(foCategoryPage.messageAddedToWishlist);
141141

142-
const isAddedToWishlist = await foClassicCategoryPage.isAddedToWishlist(page, idxProduct);
142+
const isAddedToWishlist = await foCategoryPage.isAddedToWishlist(page, idxProduct);
143143
expect(isAddedToWishlist).toEqual(true);
144144
});
145145
}
146146

147147
test('should logout', async () => {
148148
await utilsTest.addContextItem(test.info(), 'testIdentifier', 'foLogout', baseContext);
149149

150-
await foClassicCategoryPage.logout(page);
150+
await foCategoryPage.logout(page);
151151

152-
const isCustomerConnected = await foClassicHomePage.isCustomerConnected(page);
152+
const isCustomerConnected = await foHomePage.isCustomerConnected(page);
153153
expect(isCustomerConnected).toEqual(false);
154154
});
155155

156156
test('should go to BO', async () => {
157157
await utilsTest.addContextItem(test.info(), 'testIdentifier', 'goToBoBack', baseContext);
158158

159-
page = await foClassicHomePage.closePage(browserContext, page, 0);
159+
page = await foHomePage.closePage(browserContext, page, 0);
160160

161161
const pageTitle = await modBlockwishlistBoStatistics.getPageTitle(page);
162162
expect(pageTitle).toContain(modBlockwishlistBoStatistics.pageTitle);

0 commit comments

Comments
 (0)