Files
upstream-jitsi-meet/tests/specs/jaas/mobileBrowserDeepLinking.spec.ts
upstream-mirror 1d2bfcac0c
Some checks failed
Prosody Plugin Tests / test (push) Failing after 10m11s
Close stale issues and PRs / stale (push) Failing after 1s
snapshot of https://github.com/jitsi/jitsi-meet.git @ fd1749dd28f4138aa80234fc7f311b19aaffa0e7 (2026-09-15)
2026-09-15 15:56:32 +05:00

38 lines
1.6 KiB
TypeScript

import { setTestProperties } from '../../helpers/TestProperties';
import { joinJaasMuc, generateJaasToken as t } from '../../helpers/jaas';
setTestProperties(__filename, {
useJaas: true
});
// JaaS deployments set deeplinking.[android|ios].appScheme to 'com.8x8.meet',
// which makes getDeepLinkingPage() short-circuit on mobile browsers (see
// react/features/deep-linking/functions.web.ts). This test verifies that
// behavior by emulating an iPhone and asserting the meeting is reached.
describe('JaaS mobile browser deep linking', () => {
before(async () => {
// Make Chrome look like an iPhone so Platform.OS resolves to 'ios' and
// isMobileBrowser() returns true. emulate() persists for the session.
await multiRemoteBrowser.getInstance('p1').emulate('device', 'iPhone 15');
});
it('does not show the deep linking page', async () => {
// joinJaasMuc waits for the prejoin screen with a 3s timeout. If the
// deep linking mobile page had rendered instead, that lookup would
// throw, failing the test. Reaching the assertion below means the
// prejoin was found.
const p = await joinJaasMuc({
token: t({ room: '*' })
}, {
skipWaitToJoin: true
});
// Belt-and-suspenders: the deep linking mobile page renders the
// 'launchMeetingLabel' string; assert it isn't on the page.
const deepLinkLabel = p.driver.$(
'//*[contains(text(),"How do you want to join this meeting?")]');
expect(await deepLinkLabel.isExisting()).toBe(false);
});
});