125 lines
4.2 KiB
JavaScript
125 lines
4.2 KiB
JavaScript
const ne = require('../notifications/elements');
|
|
const ule = require('../user/elements');
|
|
const ce = require('../chat/elements');
|
|
const e = require('../core/elements');
|
|
|
|
async function clickTestElement(element) {
|
|
await document.querySelectorAll(element)[0].click();
|
|
}
|
|
|
|
async function popupMenu(test) {
|
|
await test.page.evaluate(clickTestElement, e.options);
|
|
await test.page.evaluate(clickTestElement, ne.settings);
|
|
}
|
|
|
|
async function enableChatPopup(test) {
|
|
await test.waitForSelector(ne.notificationsTab);
|
|
await test.page.evaluate(clickTestElement, ne.notificationsTab);
|
|
await test.waitForSelector(ne.chatPushAlerts);
|
|
await test.page.evaluate(clickTestElement, ne.chatPushAlerts);
|
|
}
|
|
|
|
async function enableUserJoinPopup(test) {
|
|
await test.waitForSelector(ne.notificationsTab);
|
|
await test.page.evaluate(clickTestElement, ne.notificationsTab);
|
|
await test.waitForSelector(ne.userJoinPushAlerts);
|
|
await test.page.evaluate(clickTestElement, ne.userJoinPushAlerts);
|
|
}
|
|
|
|
async function saveSettings(page) {
|
|
await page.waitForSelector(ne.saveSettings);
|
|
await page.click(ne.saveSettings, true);
|
|
}
|
|
|
|
async function waitForToast(test) {
|
|
await test.waitForSelector(ne.smallToastMsg);
|
|
const resp = await test.page.evaluate(getTestElement, ne.smallToastMsg) !== null;
|
|
return resp;
|
|
}
|
|
|
|
async function getLastToastValue(test) {
|
|
await test.waitForSelector(ne.smallToastMsg);
|
|
const toast = test.page.evaluate(() => {
|
|
const lastToast = document.querySelectorAll('div[data-test="toastSmallMsg"]')[0].innerText;
|
|
return lastToast;
|
|
});
|
|
return toast;
|
|
}
|
|
|
|
async function getOtherToastValue(test) {
|
|
await test.waitForSelector(ne.smallToastMsg);
|
|
const toast = test.page.evaluate(() => {
|
|
const lastToast = document.querySelectorAll('div[data-test="toastSmallMsg"]')[1].innerText;
|
|
return lastToast;
|
|
});
|
|
return toast;
|
|
}
|
|
|
|
async function getTestElement(element) {
|
|
await document.querySelectorAll(element)[1];
|
|
}
|
|
|
|
async function clickOnElement(element) {
|
|
await document.querySelectorAll(element)[0].click();
|
|
}
|
|
|
|
async function clickThePrivateChatButton(element) {
|
|
await document.querySelectorAll(element)[0].click();
|
|
}
|
|
|
|
async function publicChatMessageToast(page1, page2) {
|
|
// Open private Chat with the other User
|
|
await page1.page.evaluate(clickOnElement, ule.userListItem);
|
|
await page1.page.evaluate(clickThePrivateChatButton, ce.activeChat);
|
|
// send a public message
|
|
await page2.page.type(ce.publicChat, ce.publicMessage1);
|
|
await page2.page.click(ce.sendButton, true);
|
|
return ne.publicChatToast;
|
|
}
|
|
|
|
async function privateChatMessageToast(page2) {
|
|
// Open private Chat with the other User
|
|
await page2.page.evaluate(clickOnElement, ule.userListItem);
|
|
await page2.page.evaluate(clickThePrivateChatButton, ce.activeChat);
|
|
// send a private message
|
|
await page2.page.type(ce.privateChat, ce.message1);
|
|
await page2.page.click(ce.sendButton, true);
|
|
return ne.privateChatToast;
|
|
}
|
|
|
|
// File upload notification
|
|
async function uploadFileMenu(test) {
|
|
await test.page.evaluate(clickOnElement, ne.dropdownContent);
|
|
await test.page.evaluate(clickOnElement, ne.uploadPresentation);
|
|
}
|
|
|
|
async function getFileItemStatus(element, value) {
|
|
document.querySelectorAll(element)[1].innerText.includes(value);
|
|
}
|
|
|
|
async function startPoll(test) {
|
|
await test.page.evaluate(clickOnElement, ne.dropdownContent);
|
|
await test.page.evaluate(clickOnElement, ne.polling);
|
|
await test.waitForSelector(ne.hidePollDesc);
|
|
await test.waitForSelector(ne.pollBtn);
|
|
await test.page.evaluate(clickOnElement, ne.pollBtn);
|
|
await test.waitForSelector(ne.publishLabel);
|
|
await test.page.evaluate(clickOnElement, ne.publishLabel);
|
|
}
|
|
|
|
exports.getFileItemStatus = getFileItemStatus;
|
|
exports.privateChatMessageToast = privateChatMessageToast;
|
|
exports.publicChatMessageToast = publicChatMessageToast;
|
|
exports.enableUserJoinPopup = enableUserJoinPopup;
|
|
exports.getOtherToastValue = getOtherToastValue;
|
|
exports.getLastToastValue = getLastToastValue;
|
|
exports.enableChatPopup = enableChatPopup;
|
|
exports.uploadFileMenu = uploadFileMenu;
|
|
exports.getTestElement = getTestElement;
|
|
exports.saveSettings = saveSettings;
|
|
exports.waitForToast = waitForToast;
|
|
exports.popupMenu = popupMenu;
|
|
exports.clickTestElement = clickTestElement;
|
|
exports.startPoll = startPoll;
|
|
exports.clickOnElement = clickOnElement;
|