Skip to content

Commit

Permalink
Merge pull request #5 from PrestaShop/pr4
Browse files Browse the repository at this point in the history
test: commonjs build
  • Loading branch information
Progi1984 authored Jan 18, 2024
2 parents 329be7e + e1027ab commit b6ea7e9
Show file tree
Hide file tree
Showing 10 changed files with 87 additions and 74 deletions.
34 changes: 0 additions & 34 deletions src/common/BO/loginBO.ts

This file was deleted.

4 changes: 3 additions & 1 deletion src/interfaces/BO/dashboard/index.ts
Original file line number Diff line number Diff line change
@@ -1,3 +1,5 @@
export interface DashboardPageInterface {
import {BOBasePagePageInterface} from '@interfaces/BO';

export interface DashboardPageInterface extends BOBasePagePageInterface {
readonly pageTitle: string;
}
6 changes: 6 additions & 0 deletions src/interfaces/BO/index.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
import type {CommonPageInterface} from '@interfaces/index';
import type {Page} from '@playwright/test';

export interface BOBasePagePageInterface extends CommonPageInterface {
logoutBO(page: Page): Promise<void>;
}
4 changes: 3 additions & 1 deletion src/interfaces/BO/login/index.ts
Original file line number Diff line number Diff line change
@@ -1,6 +1,8 @@
import {BOBasePagePageInterface} from '@interfaces/BO';

import type {Page} from '@playwright/test';

export interface LoginPageInterface {
export interface LoginPageInterface extends BOBasePagePageInterface {
readonly pageTitle: string;

successLogin(page: Page, email: string, password: string): Promise<void>;
Expand Down
7 changes: 7 additions & 0 deletions src/interfaces/index.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
import type {Page} from '@playwright/test';

export interface CommonPageInterface {
getPageTitle(page: Page): Promise<string>;

goTo(page: Page, url: string): Promise<void>;
}
17 changes: 10 additions & 7 deletions src/pages/BO/dashboard/index.ts
Original file line number Diff line number Diff line change
@@ -1,12 +1,15 @@
import type {DashboardPageInterface} from '@interfaces/BO/dashboard';
import semver from 'semver';

let file: string;
const psVersion = process.env.PS_VERSION ?? '0.0.0';

if (semver.gte(process.env.PS_VERSION as string, '8.0.0')) {
file = '@versions/8.0.0/pages/BO/dashboard';
} else {
file = '@versions/8.0.0/pages/BO/dashboard';
/* eslint-disable global-require */
function requirePage(): DashboardPageInterface {
if (semver.gte(psVersion, '8.0.0')) {
return require('@versions/8.0.0/pages/BO/dashboard');
}
return require('@versions/8.0.0/pages/BO/dashboard');
}
/* eslint-enable global-require */

const Dashboard = await import(file);
export default Dashboard;
export default requirePage();
17 changes: 10 additions & 7 deletions src/pages/BO/login/index.ts
Original file line number Diff line number Diff line change
@@ -1,12 +1,15 @@
import type {LoginPageInterface} from '@interfaces/BO/login';
import semver from 'semver';

let file: string;
const psVersion = process.env.PS_VERSION ?? '0.0.0';

if (semver.gte(process.env.PS_VERSION as string, '8.0.0')) {
file = '@versions/8.0.0/pages/BO/login';
} else {
file = '@versions/8.0.0/pages/BO/login';
/* eslint-disable global-require */
function requirePage(): LoginPageInterface {
if (semver.gte(psVersion, '8.0.0')) {
return require('@versions/8.0.0/pages/BO/login');
}
return require('@versions/8.0.0/pages/BO/login');
}
/* eslint-enable global-require */

const Login = await import(file);
export default Login;
export default requirePage();
2 changes: 1 addition & 1 deletion src/versions/8.0.0/pages/BO/dashboard/index.ts
Original file line number Diff line number Diff line change
Expand Up @@ -625,4 +625,4 @@ class Dashboard extends BOBasePage implements DashboardPageInterface {
}
}

export default new Dashboard();
module.exports = new Dashboard();
2 changes: 1 addition & 1 deletion src/versions/8.0.0/pages/BO/login/index.ts
Original file line number Diff line number Diff line change
Expand Up @@ -184,4 +184,4 @@ class Login extends BOBasePage implements LoginPageInterface {
}
}

export default new Login();
module.exports = new Login();
68 changes: 46 additions & 22 deletions tsconfig.json
Original file line number Diff line number Diff line change
@@ -1,31 +1,55 @@
{
"compilerOptions": {
"noImplicitAny": true,
"noImplicitThis": true,
"module": "es2022",
"target": "es2022",
"strict": true,
"moduleResolution": "node",
"listEmittedFiles": true,
"allowSyntheticDefaultImports": true,
"resolveJsonModule": true,
"esModuleInterop": true,
"allowJs": true,
"downlevelIteration": true,
"baseUrl": "./",
"outDir": "dist",
"target": "es6",
"module": "commonjs",
"skipDefaultLibCheck": true,
"skipLibCheck": true,
"moduleResolution": "node",
"noImplicitAny": true,
"noImplicitThis": false,
"strict": true,
"strictFunctionTypes": true,
"isolatedModules": true,
"declaration": true,
"lib": [
"dom",
"dom.iterable",
"esnext"
],
"baseUrl": "./",
"outDir": "./dist",
"paths": {
"@interfaces/*": ["src/interfaces/*"],
"@pages/*": ["src/pages/*"],
"@common/*": ["src/common/*"],
"@data/*": ["src/data/*"],
"@types/*": ["src/types/*"],
"@utils/*": ["src/utils/*"],
"@versions/*": ["src/versions/*"]
"@interfaces/*": [
"src/interfaces/*"
],
"@pages/*": [
"src/pages/*"
],
"@data/*": [
"src/data/*"
],
"@types/*": [
"src/types/*"
],
"@utils/*": [
"src/utils/*"
],
"@versions/*": [
"src/versions/*"
]
},
"typeRoots": ["types", "node_modules/@types"],
"skipLibCheck": true
"typeRoots": [
"types",
"node_modules/@types"
],
},
"include": ["src/**/*"],
"exclude": ["node_modules"]
"include": [
"src/**/*"
],
"exclude": [
"node_modules"
]
}

0 comments on commit b6ea7e9

Please sign in to comment.