bigbluebutton-Github/bigbluebutton-tests/playwright/virtualizedlist/virtualize.js
2022-04-21 07:19:08 -04:00

39 lines
1.3 KiB
JavaScript

const { expect } = require('@playwright/test');
const Page = require('../core/page');
const e = require('../core/elements');
const { USER_LIST_VLIST_BOTS_LISTENING } = require('../core/constants');
class VirtualizeList {
constructor(browser, page) {
this.page1 = new Page(browser, page);
this.browser = browser;
this.pagesArray = [];
}
// Join BigBlueButton meeting
async init() {
await this.page1.init(true, true, { fullName: 'BroadCaster1' });
await this.page1.waitForSelector(e.firstUser);
for (let i = 1; i <= parseInt(USER_LIST_VLIST_BOTS_LISTENING); i++) {
const newPage = await this.browser.newPage();
const viewerPage = new Page(this.browser, newPage);
const fullName = `Viewer-${i}`;
await viewerPage.init(false, true, { fullName, meetingId: this.page1.meetingId });
console.log(`${fullName} joined`);
this.pagesArray.push(viewerPage);
}
}
async test() {
const USER_LIST_VLIST_VISIBLE_USERS = await this.page1.getSelectorCount(e.userListItem);
const totalNumberOfUsersMongo = await this.page1.page.evaluate(() => {
const collection = require('/imports/api/users/index.js');
return collection.default._collection.find().count();
});
await expect(USER_LIST_VLIST_VISIBLE_USERS).toBeLessThan(totalNumberOfUsersMongo);
}
}
exports.VirtualizeList = VirtualizeList;