ufutx_love_mp/tools/sharing/check-contact.cjs

16 lines
1.5 KiB
JavaScript

const assert=require('assert'),{createHarness}=require('./harness.cjs')
;(async()=>{
const h=createHarness(),page=h.page('myShare')
page.setOverview({total:100,verified:6,can_apply:false});await page.openApplication();assert(!page.showApplication);assert.equal(page.remaining,1)
page.setOverview({total:12,verified:7,can_apply:true});await page.openApplication();assert(page.showApplication);assert.equal(page.remaining,0)
page.keepApplicationOpen();assert(page.showApplication);page.closeApplication();assert(!page.showApplication)
h.state.overview={total:12,verified:6,can_apply:false};await page.openApplication();assert(!page.showApplication);assert(!page.canApply)
h.state.overview={total:12,verified:8,can_apply:true};await page.refreshEligibility();assert(page.canApply)
h.flags.requestFail=true;await page.openApplication();assert(!page.showApplication);assert(!page.canApply);assert(page.eligibilityError);assert(!page.checkingEligibility)
h.flags.requestFail=false;await page.refreshEligibility();assert(page.canApply)
page.setOverview({total:100,verified:6,can_apply:true});assert(!page.canApply)
await page.saveContact();assert(!page.savingContact);assert(h.calls.some(x=>x.toast&&x.toast.title==='二维码已保存'))
h.flags.saveFail=true;await page.saveContact();assert(!page.savingContact);assert(h.calls.some(x=>x.modal&&x.modal.title==='未能保存'))
console.log('PASS: 6/7/8 verified thresholds, stale eligibility, failure/retry and contact save errors; no automatic role grant.')
})().catch(error=>{console.error(error.stack);process.exitCode=1})