2020-09-28 14:31:45 +05:00
|
|
|
/* eslint-disable no-undef */
|
2021-07-09 01:13:26 +05:00
|
|
|
const fs = require("fs");
|
2020-09-28 14:31:45 +05:00
|
|
|
|
|
|
|
|
const NOTEBOOK = {
|
|
|
|
|
title: "Test notebook 1",
|
|
|
|
|
description: "This is test notebook 1",
|
|
|
|
|
topics: ["Topic 1", "Very long topic 2", "Topic 3"],
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
const NOTE = {
|
|
|
|
|
title: "Test 1",
|
|
|
|
|
content: "This is " + "Test 1".repeat(10),
|
|
|
|
|
};
|
|
|
|
|
|
2021-07-18 18:02:13 +05:00
|
|
|
const PASSWORD = "123abc123abc";
|
|
|
|
|
|
2020-09-28 14:31:45 +05:00
|
|
|
function getTestId(id) {
|
|
|
|
|
return `[data-test-id="${id}"]`;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
async function createNote(note, actionButtonId) {
|
|
|
|
|
await page.click(getTestId(actionButtonId + "-action-button"));
|
|
|
|
|
|
2021-07-18 18:02:13 +05:00
|
|
|
await editNote(note.title, note.content);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
async function editNote(title, content) {
|
2021-07-07 14:29:51 +05:00
|
|
|
await page.waitForSelector(".mce-content-body");
|
2021-05-31 00:59:49 +05:00
|
|
|
|
2021-07-18 18:02:13 +05:00
|
|
|
if (title) await page.fill(getTestId("editor-title"), title);
|
2020-09-28 14:31:45 +05:00
|
|
|
|
2021-07-08 12:40:53 +05:00
|
|
|
await page.waitForTimeout(100);
|
|
|
|
|
|
|
|
|
|
await page.focus(".mce-content-body");
|
|
|
|
|
|
2021-07-18 18:02:13 +05:00
|
|
|
await page.type(".mce-content-body", content);
|
2020-09-28 14:31:45 +05:00
|
|
|
}
|
|
|
|
|
|
2021-07-09 01:13:26 +05:00
|
|
|
async function downloadFile(downloadActionSelector, encoding) {
|
|
|
|
|
return new Promise(async (resolve) => {
|
|
|
|
|
page.on("download", async (download) => {
|
|
|
|
|
const path = await download.path();
|
|
|
|
|
resolve(fs.readFileSync(path, { encoding }).toString());
|
|
|
|
|
});
|
|
|
|
|
await page.waitForSelector(downloadActionSelector);
|
|
|
|
|
|
|
|
|
|
await page.click(downloadActionSelector);
|
|
|
|
|
});
|
|
|
|
|
}
|
|
|
|
|
|
2020-09-28 14:31:45 +05:00
|
|
|
module.exports = {
|
|
|
|
|
NOTE,
|
|
|
|
|
NOTEBOOK,
|
2021-07-18 18:02:13 +05:00
|
|
|
PASSWORD,
|
2020-09-28 14:31:45 +05:00
|
|
|
getTestId,
|
|
|
|
|
createNote,
|
2021-07-18 18:02:13 +05:00
|
|
|
editNote,
|
2021-07-09 01:13:26 +05:00
|
|
|
downloadFile,
|
2020-09-28 14:31:45 +05:00
|
|
|
};
|