From 4624076e90ad24dfbbaae64946c9fce3acbf0a03 Mon Sep 17 00:00:00 2001 From: Kathrin Koebel Date: Wed, 3 Apr 2024 14:01:38 +0545 Subject: [PATCH] trying to make functions in Ocis.ts static --- tests/e2e/pageObjects/Ocis.ts | 32 ++++++++++++++++---------------- tests/e2e/steps/ViewerContext.ts | 6 ++---- 2 files changed, 18 insertions(+), 20 deletions(-) diff --git a/tests/e2e/pageObjects/Ocis.ts b/tests/e2e/pageObjects/Ocis.ts index 47cec02..a338171 100644 --- a/tests/e2e/pageObjects/Ocis.ts +++ b/tests/e2e/pageObjects/Ocis.ts @@ -4,8 +4,9 @@ import config from '../config' import util from 'util' export class Ocis { - page: Page = state.page - elements: Readonly> = { + static page: Page = state.page + static elements: Readonly> = { + userNameSelector: '#oc-login-username', passwordSelector: '#oc-login-password', loginButtonSelector: 'button[type="submit"]', @@ -18,25 +19,24 @@ export class Ocis { resourceNameSelector: '#files-space-table [data-test-resource-name="%s"]' } - //static - async login({ username, password }): Promise { - await this.page.locator(this.elements.userNameSelector).fill(username) - await this.page.locator(this.elements.passwordSelector).fill(password) - await this.page.locator(this.elements.loginButtonSelector).click() - await this.page.locator(this.elements.webContentSelector).waitFor() + static async login({ username, password }): Promise { + await Ocis.page.locator(this.elements.userNameSelector).fill(username) + await Ocis.page.locator(this.elements.passwordSelector).fill(password) + await Ocis.page.locator(this.elements.loginButtonSelector).click() + await Ocis.page.locator(this.elements.webContentSelector).waitFor() } - async logout(): Promise { - await this.page.locator(this.elements.userMenuButtonSelector).click() - await this.page.locator(this.elements.logoutSelector).click() + static async logout(): Promise { + await Ocis.page.locator(this.elements.userMenuButtonSelector).click() + await Ocis.page.locator(this.elements.logoutSelector).click() } - async uploadFile(filename: string): Promise { - await this.page.locator(this.elements.resourceUploadButton).click() - await this.page + static async uploadFile(filename: string): Promise { + await Ocis.page.locator(this.elements.resourceUploadButton).click() + await Ocis.page .locator(this.elements.fileUploadInput) .setInputFiles(`${config.assets}/${filename}`) - await this.page.locator(this.elements.uploadInfoCloseButton).click() - await this.page.locator(util.format(this.elements.resourceNameSelector, filename)).waitFor() + await Ocis.page.locator(this.elements.uploadInfoCloseButton).click() + await Ocis.page.locator(util.format(this.elements.resourceNameSelector, filename)).waitFor() } } diff --git a/tests/e2e/steps/ViewerContext.ts b/tests/e2e/steps/ViewerContext.ts index 22218b9..0af4333 100644 --- a/tests/e2e/steps/ViewerContext.ts +++ b/tests/e2e/steps/ViewerContext.ts @@ -9,18 +9,16 @@ Given( 'the user has logged in with username {string} and password {string}', async function (user: string, password: string): Promise { const page = state.page - const ocis = new Ocis() await page.goto(config.baseUrlOcis) - await ocis.login({ username: user, password: password }) + await Ocis.login({ username: user, password: password }) } ) Given( 'the user has uploaded the following 3D models:', async function (filesForUpload: DataTable): Promise { - const ocis = new Ocis() for (const file of filesForUpload.hashes()) { - await ocis.uploadFile(file.filename) + await Ocis.uploadFile(file.filename) } } )