更新最新代码
This commit is contained in:
@@ -0,0 +1,16 @@
|
||||
const test=require('node:test');
|
||||
const assert=require('node:assert/strict');
|
||||
const path=require('node:path');
|
||||
const createLoader=require('./load-module.cjs');
|
||||
test('pet page guides unbound users to binding and loads adoption after binding',async()=>{
|
||||
let definition,unbound=true,calls=0,url;const app={globalData:{}};
|
||||
const load=createLoader({Page:p=>definition=p,console,Date,getApp:()=>app,wx:{switchTab:p=>url=p.url}}, {
|
||||
'../../utils/page-cache':{withDataCache:p=>p},
|
||||
'../../utils/request':{api:{coupleInfo:async()=>({not_bound:unbound}),petInfo:async()=>{calls++;return {has_pet:false};}}}
|
||||
});
|
||||
load(path.join(__dirname,'../pages/pet/pet.js'));
|
||||
const page={...definition,data:{...definition.data},setData:p=>Object.assign(page.data,p)};
|
||||
await page.loadPetInfo();assert.equal(calls,0);assert.equal(page.data.needsBinding,true);assert.equal(page.data.loading,false);assert.equal(page.data.loadError,false);
|
||||
page.bindPartner();assert.equal(app.globalData.openProfileBind,true);assert.equal(url,'/pages/profile/profile');
|
||||
unbound=false;await page.loadPetInfo();assert.equal(calls,1);assert.equal(page.data.needsBinding,false);assert.equal(page.data.hasPet,false);
|
||||
});
|
||||
Reference in New Issue
Block a user