snapshot of https://github.com/jitsi/jitsi-meet.git @ fd1749dd28f4138aa80234fc7f311b19aaffa0e7 (2026-09-15)
This commit is contained in:
46
tests/specs/ui/mobileFilmstrip.spec.ts
Normal file
46
tests/specs/ui/mobileFilmstrip.spec.ts
Normal file
@@ -0,0 +1,46 @@
|
||||
import { setTestProperties } from '../../helpers/TestProperties';
|
||||
import { ensureTwoParticipants } from '../../helpers/participants';
|
||||
|
||||
setTestProperties(__filename, {
|
||||
description: 'Checks the filmstrip visibility when joining from a mobile browser.',
|
||||
usesBrowsers: [ 'p1', 'p2' ]
|
||||
});
|
||||
|
||||
describe('Filmstrip on a mobile browser', () => {
|
||||
before(async () => {
|
||||
// Make p2's Chrome look like an iPhone so Platform.OS resolves to 'ios' and isMobileBrowser()
|
||||
// returns true. emulate() persists for the session.
|
||||
await multiRemoteBrowser.getInstance('p2').emulate('device', 'iPhone 15');
|
||||
});
|
||||
|
||||
it('filmstrip and self view are visible when joining a 1:1 call', async () => {
|
||||
await ensureTwoParticipants({
|
||||
configOverwrite: {
|
||||
// The deployment config may show the deep linking page on a mobile browser; disable it.
|
||||
deeplinking: {
|
||||
disabled: true
|
||||
},
|
||||
|
||||
// The default config for tests disables 1-on-1 mode, enable it to test it.
|
||||
disable1On1Mode: false
|
||||
}
|
||||
});
|
||||
|
||||
const { p2 } = ctx;
|
||||
|
||||
// Make sure the mobile emulation is in effect, otherwise the test silently degrades into
|
||||
// testing the desktop UI.
|
||||
expect(await p2.execute(() => navigator.userAgent)).toContain('iPhone');
|
||||
expect(await p2.execute(() => window.innerWidth)).toBeLessThan(500);
|
||||
|
||||
// The whole filmstrip (including the self view) must not be hidden when joining a 1:1 call
|
||||
// on a narrow/mobile client.
|
||||
await p2.getFilmstrip().assertVisible();
|
||||
await p2.getFilmstrip().assertSelfViewIsHidden(false);
|
||||
|
||||
// On mobile browsers the remote thumbnails are hidden in 1-on-1 mode even when the toolbar is
|
||||
// visible (the remote participant is already on the stage), as opposed to desktop where their
|
||||
// visibility follows the toolbar one.
|
||||
await p2.getFilmstrip().verifyRemoteVideosDisplay(false);
|
||||
});
|
||||
});
|
||||
Reference in New Issue
Block a user