Skip to content

Commit 98ab956

Browse files
authored
Merge pull request #460 from Progi1984/boReturnStatusesCreatePage
Migrate `@pages/BO/shopParameters/orderSettings/statuses/returnStatus/add` from Core
2 parents 08af070 + 4632168 commit 98ab956

File tree

4 files changed

+84
-0
lines changed
  • src
    • interfaces/BO/shopParameters/orderSettings/orderStatuses/returnStatuses
    • pages/BO/shopParameters/orderSettings/orderStatuses/returnStatuses
    • versions/develop/pages/BO/shopParameters/orderSettings/orderStatuses/returnStatuses

4 files changed

+84
-0
lines changed

src/index.ts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -308,6 +308,7 @@ export {default as boProductsCreateTabStocksPage} from '@pages/BO/catalog/produc
308308
export {default as boProductsCreateTabVirtualProductPage} from '@pages/BO/catalog/products/create/tabVirtualProduct';
309309
export {default as boProductSettingsPage} from '@pages/BO/shopParameters/productSettings';
310310
export {default as boQuickAccessPage} from '@pages/BO/quickAccess';
311+
export {default as boReturnStatusesCreatePage} from '@pages/BO/shopParameters/orderSettings/orderStatuses/returnStatuses/create';
311312
export {default as boRolesPage} from '@pages/BO/advancedParameters/team/roles';
312313
export {default as boRolesCreatePage} from '@pages/BO/advancedParameters/team/roles/create';
313314
export {default as boSearchPage} from '@pages/BO/shopParameters/search';
Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
import type FakerOrderReturnStatus from '@data/faker/orderReturnStatus';
2+
import {BOBasePagePageInterface} from '@interfaces/BO';
3+
import {type Page} from '@playwright/test';
4+
5+
export interface BOReturnStatusesCreatePageInterface extends BOBasePagePageInterface {
6+
readonly pageTitleCreate: string;
7+
readonly pageTitleEdit: (name: string) => string;
8+
9+
setOrderReturnStatus(page: Page, orderReturnStatusData: FakerOrderReturnStatus): Promise<string>;
10+
}
Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
import {
2+
type BOReturnStatusesCreatePageInterface,
3+
} from '@interfaces/BO/shopParameters/orderSettings/orderStatuses/returnStatuses/create';
4+
5+
/* eslint-disable global-require, @typescript-eslint/no-require-imports, @typescript-eslint/no-var-requires */
6+
function requirePage(): BOReturnStatusesCreatePageInterface {
7+
return require('@versions/develop/pages/BO/shopParameters/orderSettings/orderStatuses/returnStatuses/create');
8+
}
9+
/* eslint-enable global-require, @typescript-eslint/no-require-imports, @typescript-eslint/no-var-requires */
10+
11+
export default requirePage();
Lines changed: 62 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,62 @@
1+
import type FakerOrderReturnStatus from '@data/faker/orderReturnStatus';
2+
import {
3+
type BOReturnStatusesCreatePageInterface,
4+
} from '@interfaces/BO/shopParameters/orderSettings/orderStatuses/returnStatuses/create';
5+
import BOBasePage from '@pages/BO/BOBasePage';
6+
import {type Page} from '@playwright/test';
7+
8+
/**
9+
* Add order return status page, contains selectors and functions for the page
10+
* @class
11+
* @extends BOBasePage
12+
*/
13+
class BOReturnStatusesCreatePage extends BOBasePage implements BOReturnStatusesCreatePageInterface {
14+
public readonly pageTitleCreate: string;
15+
16+
public readonly pageTitleEdit: (name: string) => string;
17+
18+
private readonly nameInput: string;
19+
20+
private readonly colorInput: string;
21+
22+
private readonly saveButton: string;
23+
24+
/**
25+
* @constructs
26+
* Setting up titles and selectors to use on add order return status page
27+
*/
28+
constructor() {
29+
super();
30+
31+
this.pageTitleCreate = `New return status • ${global.INSTALL.SHOP_NAME}`;
32+
this.pageTitleEdit = (name: string) => `Editing return status ${name}${global.INSTALL.SHOP_NAME}`;
33+
34+
// Form selectors
35+
this.nameInput = '#order_return_state_name_1';
36+
this.colorInput = '#order_return_state_color';
37+
this.saveButton = '#save-button';
38+
}
39+
40+
/* Methods */
41+
42+
/**
43+
* Fill order return status form
44+
* @param page {Page} Browser tab
45+
* @param orderReturnStatusData {FakerOrderReturnStatus} Data to set on order return status form
46+
* @return {Promise<string>}
47+
*/
48+
async setOrderReturnStatus(page: Page, orderReturnStatusData: FakerOrderReturnStatus): Promise<string> {
49+
await this.setValue(page, this.nameInput, orderReturnStatusData.name);
50+
51+
// Set color
52+
await this.setInputValue(page, this.colorInput, orderReturnStatusData.color);
53+
54+
// Save order return status
55+
await this.clickAndWaitForURL(page, this.saveButton);
56+
57+
// Return successful message
58+
return this.getAlertSuccessBlockParagraphContent(page);
59+
}
60+
}
61+
62+
module.exports = new BOReturnStatusesCreatePage();

0 commit comments

Comments
 (0)