9a91324456
* - mock detect when user turns into moderator - add moderator indicator to display on messages and username changer * also mock moderator flag in message payload about user to display indicator * add some menu looking icons and a menu of actions * WIP chat moderators * Add support for admin promoting a user to moderator * WIP- open a more info panel of user+message info; add some a11y to buttons * style the details panel * adjust positioning of menus * Merge fixes. ChatClient->Client ChatServer->Server * Remove moderator bool placeholders to use real state * Support inline hiding of messages by moderators * Support inline banning of chat users * Cleanup linter warnings * Puppeteer tests fail after typing take place * Manually resolve conflicts in chat between moderator feature and develop Co-authored-by: Gabe Kangas <gabek@real-ity.com> |
||
---|---|---|
.. | ||
lib | ||
screenshots | ||
tests | ||
admin.test.js | ||
bot-share-search-scrapers.test.js | ||
chat-embed.test.js | ||
jest.config.json | ||
main.test.js | ||
package-lock.json | ||
package.json | ||
README.md | ||
run.sh | ||
video-embed.test.js |
Automated browser tests
The tests currently address the following interfaces:
- The main web frontend of Owncast
- The embeddable video player
- The embeddable read-only chat
- the embeddable read-write chat
Each have a set of test to make sure they load, have the expected elements on the screen, that API requests are successful, and that there are no errors being thrown in the console.
The main web frontend additionally iterates its tests over a set of different device characteristics to verify mobile and tablet usage and goes through some interactive usage of the page such as changing their name and sending a chat message by clicking and typing.
While it emulates the user agent, screen size, and touch features of different devices, they're still just a copy of Chromium running and not a true emulation of these other devices. So any "it breaks only on Safari" type bugs will not get caught.
It can't actually play video, so anything specific about video playback cannot be verified with these tests.
Setup
npm install
Run
./run.sh
Screenshots
After the tests finish a set of screenshots will be saved into the screenshots
directory to aid in troubleshooting or sanity checking different viewport sizes. three