2018-11-22 04:58:45 +08:00
|
|
|
// Test: Sending a chat message
|
|
|
|
|
2018-11-23 20:55:16 +08:00
|
|
|
const Page = require('../core/page');
|
2021-09-22 11:51:29 +08:00
|
|
|
const e = require('../core/elements');
|
2018-11-22 04:58:45 +08:00
|
|
|
const util = require('./util');
|
2021-08-21 04:33:57 +08:00
|
|
|
const { checkElementLengthEqualTo } = require('../core/util');
|
2018-11-22 04:58:45 +08:00
|
|
|
|
|
|
|
class Send extends Page {
|
2018-11-23 03:15:52 +08:00
|
|
|
constructor() {
|
2021-09-23 03:22:47 +08:00
|
|
|
super();
|
2018-11-23 03:15:52 +08:00
|
|
|
}
|
|
|
|
|
2020-08-14 10:41:14 +08:00
|
|
|
async test(testName) {
|
2021-08-14 01:35:00 +08:00
|
|
|
try {
|
|
|
|
await util.openChat(this);
|
2018-11-22 04:58:45 +08:00
|
|
|
|
2021-08-14 01:35:00 +08:00
|
|
|
// 0 messages
|
2021-09-03 02:31:24 +08:00
|
|
|
const chat0 = await this.page.evaluate(checkElementLengthEqualTo, e.chatUserMessageText, 0);
|
2021-02-26 23:52:17 +08:00
|
|
|
await this.screenshot(`${testName}`, `01-before-chat-message-send-[${this.meetingId}]`);
|
2021-08-14 04:33:27 +08:00
|
|
|
|
2021-08-14 01:35:00 +08:00
|
|
|
// send a message
|
|
|
|
await this.type(e.chatBox, e.message);
|
2021-02-26 23:52:17 +08:00
|
|
|
await this.screenshot(`${testName}`, `02-typing-chat-message-[${this.meetingId}]`);
|
2021-08-14 04:33:27 +08:00
|
|
|
|
2021-09-22 21:11:56 +08:00
|
|
|
await this.waitAndClick(e.sendButton);
|
2021-02-26 23:52:17 +08:00
|
|
|
await this.screenshot(`${testName}`, `03-after-chat-message-send-[${this.meetingId}]`);
|
2020-01-29 03:25:27 +08:00
|
|
|
|
2021-08-14 01:35:00 +08:00
|
|
|
await this.waitForSelector(e.chatUserMessageText);
|
2020-01-29 03:25:27 +08:00
|
|
|
|
2021-08-14 01:35:00 +08:00
|
|
|
// 1 message
|
2021-09-03 02:31:24 +08:00
|
|
|
const chat1 = await this.page.evaluate(checkElementLengthEqualTo, e.chatUserMessageText, 1);
|
2021-08-14 01:35:00 +08:00
|
|
|
return chat0 === chat1;
|
2021-08-26 22:13:18 +08:00
|
|
|
} catch (err) {
|
|
|
|
await this.logger(err);
|
2021-08-14 01:35:00 +08:00
|
|
|
return false;
|
|
|
|
}
|
2018-11-22 04:58:45 +08:00
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
module.exports = exports = Send;
|