const { I } = inject(); import { logger } from '../Logger/logger'; import { Wait } from './dewWait'; import { DewElement } from './element'; import { z } from './z'; /** * Dew File Upload class */ export class DewFileUpload { /** * To upload file * ```js * await DewFileUpload.uploadFile("C:/Downloads/image.png","image.png"); * ``` * @param {string}filePath * @param {string}fullFileName */ static async uploadFile(filePath: string, fullFileName: string) { try { await z.attachFile(`.//dew-file-upload/div/input[@type='file']`, filePath); await Wait.waitForDefaultTimeout(10); await DewElement.verifyIfISeeElement(`.//*[@title='${fullFileName}']`); } catch (error) { logger.log(`Issue while performing operation in DDCC: Error while uploading file`); throw error; } } /** * To upload single or multiple files * ```js * await DewFileUpload.uploadFileUsingLocator(".//dew-file-upload/div/input","C:/Downloads/image.png","C:/Downloads/test.pdf"); * await DewFileUpload.uploadFileUsingLocator(".//dew-file-upload/div/input","C:/Downloads/image.png"); * ``` * @param {string}locator * @param {string}fullFileName */ static async uploadFileUsingLocator(locator: string, ...listOfFiles: string[]) { try { for (const files of listOfFiles) { z.attachFile(locator, files); } await Wait.waitForDefaultTimeout(10); } catch (error) { logger.log(`Issue while performing operation in DDCC: Error while uploading file`); throw error; } } }