48 lines
2.0 KiB
JavaScript
48 lines
2.0 KiB
JavaScript
import { format } from "util";
|
|
import { filesToDelete, swapFileOnRename } from "../../helper/file_helper.js";
|
|
|
|
export class HomePage {
|
|
constructor() {
|
|
this.dialogInputSelector = '//input[@class="input input--block"]';
|
|
this.lastNavaigatedFolderSelector =
|
|
'//div[@class="breadcrumbs"]/span[last()]/a';
|
|
this.contentEditorSelector = '//textarea[@class="ace_text-input"]';
|
|
this.editorContent = '//div[@class="ace_line"]';
|
|
this.buttonSelector = `//button[@title="%s"]`;
|
|
this.fileSelector = `//div[@aria-label="%s"]`;
|
|
this.cardActionSelector = '//div[@class="card-action"]/button[@title="%s"]';
|
|
}
|
|
|
|
async createNewFolder(folderName) {
|
|
await global.page.click(format(this.buttonSelector, "New folder"));
|
|
await global.page.fill(this.dialogInputSelector, folderName);
|
|
await global.page.click(format(this.cardActionSelector, "Create"));
|
|
}
|
|
|
|
async createFileWithContent(filename, content) {
|
|
await global.page.click(format(this.buttonSelector, "New file"));
|
|
await global.page.fill(this.dialogInputSelector, filename);
|
|
await global.page.click(format(this.cardActionSelector, "Create"));
|
|
await global.page.fill(this.contentEditorSelector, content);
|
|
await global.page.click(format(this.buttonSelector, "Save"));
|
|
await global.page.click(format(this.buttonSelector, "Close"));
|
|
|
|
//saving the file info into global array to delete later
|
|
filesToDelete.push(filename);
|
|
}
|
|
|
|
async renameFile(oldfileName, newfileName) {
|
|
await global.page.click(format(this.fileSelector, oldfileName));
|
|
await global.page.click(format(this.buttonSelector, "Rename"));
|
|
await global.page.fill(this.dialogInputSelector, newfileName);
|
|
await global.page.click(format(this.cardActionSelector, "Rename"));
|
|
await swapFileOnRename(oldfileName, newfileName);
|
|
}
|
|
|
|
async deleteFile(filename) {
|
|
await global.page.click(format(this.fileSelector, filename));
|
|
await global.page.click(format(this.buttonSelector, "Delete"));
|
|
await global.page.click(format(this.cardActionSelector, "Delete"));
|
|
}
|
|
}
|