feat(h5): allow guest access without login and retain history only for WeChat
This commit is contained in:
@@ -27,7 +27,7 @@ try {
|
||||
const context = await browser.newContext({ viewport: { width: 375, height: 726 }, isMobile: true, hasTouch: true,
|
||||
userAgent: 'Mozilla/5.0 (Linux; Android 13) AppleWebKit/537.36 Chrome/130.0.0.0 Mobile Safari/537.36' });
|
||||
const page = await context.newPage(), errors = [], blockedWrites = [];
|
||||
let user = { id: 'profile-fixture-a', kind: 'browser' };
|
||||
let user = { id: 'profile-fixture-a', kind: 'wechat' };
|
||||
page.setDefaultTimeout(20000);
|
||||
page.on('pageerror', e => errors.push(e.message));
|
||||
await page.route('**/*', route => {
|
||||
@@ -88,7 +88,7 @@ try {
|
||||
user = { id: 'profile-fixture-b', kind: 'wechat' };
|
||||
await enter(); assert.deepEqual(await values(), blank, 'another account does not inherit profile/picker/skin values');
|
||||
await pick('#pick-gender'); assert.equal((await values()).gender, '女', 'new account wheel reset too');
|
||||
user = { id: 'profile-fixture-a', kind: 'browser' };
|
||||
user = { id: 'profile-fixture-a', kind: 'wechat' };
|
||||
await page.evaluate(() => AccountClient.init());
|
||||
await page.goBack(); await page.waitForSelector('#s-splash.active');
|
||||
await enter(false); assert.deepEqual(await values(), original, 'switching back without a reload restores the right account');
|
||||
@@ -182,6 +182,10 @@ try {
|
||||
await enter(); assert.equal((await values()).skin, 3, 'skin selection also survives reload');
|
||||
await page.click('[data-action="submit-profile"]');
|
||||
await page.waitForSelector('#p-photoguide.show');
|
||||
user = { id: 'profile-fixture-guest', kind: 'browser' };
|
||||
await enter(); assert.deepEqual(await values(), blank, 'guests never inherit WeChat preferences');
|
||||
await pick('#pick-gender', [1]); assert.equal((await values()).gender, '男');
|
||||
await enter(); assert.deepEqual(await values(), blank, 'guest preferences do not survive reload');
|
||||
assert.deepEqual(errors, []); assert.deepEqual(blockedWrites, [], 'no backend writes or paid requests');
|
||||
console.log('PASS: actual profile defaults/wheels/reload/account isolation; real mobile finger-follow/snap/flick/edges/cancel; fixed profile/no vertical movement/controls fit in seven viewport sizes; real birth-wheel vertical touch still works; arrows/dots/keyboard/submission; no JS errors/backend writes');
|
||||
} finally {
|
||||
|
||||
Reference in New Issue
Block a user