From 1016a3ac011ad50a70566f89f62c4bb7003a28d5 Mon Sep 17 00:00:00 2001
From: anne-lxm <1076217653@qq.com>
Date: Mon, 27 Sep 2021 20:38:19 +0800
Subject: [PATCH] =?UTF-8?q?jest=E6=B5=8B=E8=AF=95?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
.../uni-send-sms-code/uni-send-sms-code.vue | 124 +++---
env.js | 30 ++
jest.config.js | 17 +
manifest.json | 382 ++++++++----------
package.json | 16 +-
pages/grid/grid.test.js | 40 ++
pages/grid/grid.vue | 6 +-
pages/list/detail.test1.js | 20 +
pages/list/list.nvue | 22 +-
pages/list/list.test.js | 32 ++
pages/list/search/search.test.js | 34 ++
pages/ucenter/about/about.test.js | 32 ++
pages/ucenter/login-page/index/index.test1.js | 56 +++
.../login-page/phone-code/phone-code.test1.js | 37 ++
.../login-page/phone-code/phone-code.vue | 62 ++-
.../login-page/pwd-login/pwd-login.test.js | 49 +++
.../login-page/pwd-login/pwd-login.vue | 105 +++--
.../pwd-retrieve/pwd-retrieve.test.js | 32 ++
.../login-page/pwd-retrieve/pwd-retrieve.vue | 66 ++-
.../login-page/register/register.test.js | 55 +++
.../ucenter/login-page/register/register.vue | 62 ++-
pages/ucenter/settings/settings.test.js | 25 ++
pages/ucenter/settings/settings.vue | 38 +-
pages/ucenter/ucenter.test.js | 30 ++
pages/ucenter/ucenter.vue | 27 +-
.../userinfo/bind-mobile/bind-mobile.test.js | 60 +++
.../userinfo/bind-mobile/bind-mobile.vue | 108 +++--
pages/ucenter/userinfo/userinfo.test.js | 35 ++
pages/ucenter/userinfo/userinfo.vue | 15 +-
testSequencer.js | 16 +
uni-starter.config.js | 42 +-
.../uni-config-center/uni-id/config.json | 4 +-
.../cloudfunctions/uni-id-cf/index.js | 10 +-
vue.config.js | 9 +
34 files changed, 1237 insertions(+), 461 deletions(-)
create mode 100644 env.js
create mode 100644 jest.config.js
create mode 100644 pages/grid/grid.test.js
create mode 100644 pages/list/detail.test1.js
create mode 100644 pages/list/list.test.js
create mode 100644 pages/list/search/search.test.js
create mode 100644 pages/ucenter/about/about.test.js
create mode 100644 pages/ucenter/login-page/index/index.test1.js
create mode 100644 pages/ucenter/login-page/phone-code/phone-code.test1.js
create mode 100644 pages/ucenter/login-page/pwd-login/pwd-login.test.js
create mode 100644 pages/ucenter/login-page/pwd-retrieve/pwd-retrieve.test.js
create mode 100644 pages/ucenter/login-page/register/register.test.js
create mode 100644 pages/ucenter/settings/settings.test.js
create mode 100644 pages/ucenter/ucenter.test.js
create mode 100644 pages/ucenter/userinfo/bind-mobile/bind-mobile.test.js
create mode 100644 pages/ucenter/userinfo/userinfo.test.js
create mode 100644 testSequencer.js
create mode 100644 vue.config.js
diff --git a/components/uni-send-sms-code/uni-send-sms-code.vue b/components/uni-send-sms-code/uni-send-sms-code.vue
index 9cea476..2a512be 100644
--- a/components/uni-send-sms-code/uni-send-sms-code.vue
+++ b/components/uni-send-sms-code/uni-send-sms-code.vue
@@ -39,9 +39,9 @@
/*
验证码类型,用于防止不同功能的验证码混用,目前支持的类型login登录、register注册、bind绑定手机、unbind解绑手机
*/
- codeType:{
+ codeType: {
type: String,
- default(){
+ default () {
return 'login'
}
}
@@ -52,14 +52,15 @@
reverseTimer: null
};
},
- computed: {
+ computed: {
innerText() {
if (this.reverseNumber == 0) return this.$t('common').getVerifyCode;
- return this.$t('smsCode.resendVerifyCode ')+ '('+this.reverseNumber+'s)';
+ return this.$t('smsCode.resendVerifyCode') + '(' + this.reverseNumber + 's)';
}
},
created() {
this.initClick();
+ // console.log(this.$t('smsCode.resendVerifyCode'));
},
methods: {
initClick() {
@@ -68,63 +69,92 @@
this.sendMsg();
})
},
- sendMsg() {
+ async sendMsg() {
let reg_phone = /^1\d{10}$/;
- if(!reg_phone.test(this.phone))return uni.showToast({
+ if (!reg_phone.test(this.phone)) return uni.showToast({
title: this.$t('smsCode.phoneErrTip'),
icon: 'none'
});
- uniCloud.callFunction({
- name:'uni-id-cf',
- data:{
- action:'sendSmsCode',
- params:{
+ return await uniCloud.callFunction({
+ name: 'uni-id-cf',
+ data: {
+ action: 'sendSmsCode',
+ params: {
"mobile": this.phone,
"type": this.codeType
},
},
- success: ({result}) => {
- console.log(result);
- if(result.code===0){
- uni.showToast({
- title: this.$t('smsCode.sendSuccessTip'),
- icon: 'none'
- });
- this.reverseNumber = Number(this.count);
- this.getCode();
- this.$emit('getCode');
- }else{
- uni.showModal({
- content: result.msg,
- showCancel: false
- });
- }
+ }).then(({result})=>{
+ console.log(result);
+ if (result.code === 0) {
+ uni.showToast({
+ title: this.$t('smsCode.sendSuccessTip'),
+ icon: 'none'
+ });
+ this.reverseNumber = Number(this.count);
+ this.getCode();
+ this.$emit('getCode');
+ } else {
+ uni.showModal({
+ content: result.msg,
+ showCancel: false
+ });
}
+ return result
})
- },
- getCode() {
- if (this.reverseNumber == 0) {
- clearTimeout(this.reverseTimer);
- this.reverseTimer = null;
- return;
- }
- this.reverseNumber--;
- this.reverseTimer = setTimeout(() => {
- this.getCode();
- }, 1000)
+
+ // uniCloud.callFunction({
+ // name:'uni-id-cf',
+ // data:{
+ // action:'sendSmsCode',
+ // params:{
+ // "mobile": this.phone,
+ // "type": this.codeType
+ // },
+ // },
+ // success: ({result}) => {
+ // console.log(result);
+ // if(result.code===0){
+ // uni.showToast({
+ // title: this.$t('smsCode.sendSuccessTip'),
+ // icon: 'none'
+ // });
+ // this.reverseNumber = Number(this.count);
+ // this.getCode();
+ // this.$emit('getCode');
+ // }else{
+ // uni.showModal({
+ // content: result.msg,
+ // showCancel: false
+ // });
+ // }
+ // }
+ // })
+ },
+ getCode() {
+ if (this.reverseNumber == 0) {
+ clearTimeout(this.reverseTimer);
+ this.reverseTimer = null;
+ return;
}
+ this.reverseNumber--;
+ this.reverseTimer = setTimeout(() => {
+ this.getCode();
+ }, 1000)
}
}
+ }
+
diff --git a/env.js b/env.js
new file mode 100644
index 0000000..4b3f357
--- /dev/null
+++ b/env.js
@@ -0,0 +1,30 @@
+module.exports = {
+ "compile": true,
+ "h5": {
+ "options": {
+ "headless": false
+ },
+ "executablePath": "C:/Program Files/Google/Chrome/Application/chrome.exe"
+ },
+ "mp-weixin": {
+ "port": 9420,
+ "account": "",
+ "args": "",
+ "cwd": "",
+ "launch": true,
+ "teardown": "disconnect",
+ "remote": false,
+ "executablePath": "C:/Users/liuxi/download/微信web开发者工具/cli.bat"
+ },
+ "app-plus": {
+ "android": {
+ "id": "",
+ "executablePath": "D:/HX/alpha-3.1.3/HBuilderX/plugins/launcher/base/android_base.apk"
+ },
+ "version": "",
+ "ios": {
+ "id": "",
+ "executablePath": ""
+ }
+ }
+}
diff --git a/jest.config.js b/jest.config.js
new file mode 100644
index 0000000..0f6fbea
--- /dev/null
+++ b/jest.config.js
@@ -0,0 +1,17 @@
+const path = require('path');
+module.exports = {
+ testTimeout: 10000,
+ reporters: [
+ 'default'
+ ],
+ watchPathIgnorePatterns: ['/node_modules/', '/dist/', '/.git/'],
+ moduleFileExtensions: ['js', 'json'],
+ rootDir: __dirname,
+ testMatch: ["/pages/**/*test.[jt]s?(x)"],
+ // testMatch: ["/pages/ucenter/login-page/pwd-retrieve/pwd-retrieve.test.js"],
+ testPathIgnorePatterns: ['/node_modules/'],
+ testSequencer:path.join(__dirname, "testSequencer.js")
+ //pages/ucenter/userinfo/userinfo.test.js
+ //pages/ucenter/login-page/pwd-login/pwd-login.test.js
+
+}
diff --git a/manifest.json b/manifest.json
index 4d879fd..ed7d6a8 100644
--- a/manifest.json
+++ b/manifest.json
@@ -1,224 +1,198 @@
{
- "name": "统一应用基本项目",
- "appid": "请点击重新获取",
- "description": "云端一体应用快速开发模版",
- "versionName": "1.0.0",
- "versionCode": "100",
- "transformPx": false,
- "app-plus": {
- "locales": {
- "en": {
+ "name" : "统一应用基本项目",
+ "appid" : "__UNI__D53040B",
+ "description" : "云端一体应用快速开发模版",
+ "versionName" : "1.0.0",
+ "versionCode" : "100",
+ "transformPx" : false,
+ "app-plus" : {
+ "locales" : {
+ "en" : {
// 英文
- "name": "uni-starter", // 应用名称
- "android": {
- "strings": {
+ "name" : "uni-starter", // 应用名称
+ "android" : {
+ "strings" : {
//Android平台自定义字符串
- "CustomKey": "CustomValue"
- }
- },
- "ios": {
- "privacyDescription": {
+ "CustomKey" : "CustomValue"
+ }
+ },
+ "ios" : {
+ "privacyDescription" : {
//iOS平台隐私访问描述信息
- "NSPhotoLibraryUsageDescription": "access to the user’s photo library(read)"
- },
- "infoPlist": {
+ "NSPhotoLibraryUsageDescription" : "access to the user’s photo library(read)"
+ },
+ "infoPlist" : {
//iOS平台自定义InfoPlist.strings
- "CustomKey": "CustomValue"
- }
- }
- },
- "zh": {
+ "CustomKey" : "CustomValue"
+ }
+ }
+ },
+ "zh" : {
// 中文(简体)
- "name": "统一应用基本项目" // 应用名称
- }
- },
- "privacy": {
- "prompt": "template",
- "template": {
- "title": "服务协议和隐私政策",
- "message": " 请你务必审慎阅读、充分理解“服务协议”和“隐私政策”各条款,包括但不限于:为了更好的向你提供服务,我们需要收集你的设备标识、操作日志等信息用于分析、优化应用性能。
你可阅读《服务协议》和《隐私政策》了解详细信息。如果你同意,请点击下面按钮开始接受我们的服务。",
- "buttonAccept": "同意",
- "buttonRefuse": "暂不同意"
- }
- },
- "compatible": {
- "ignoreVersion": true
- },
- "usingComponents": true,
- "nvueStyleCompiler": "uni-app",
- "compilerVersion": 3,
- "splashscreen": {
- "alwaysShowBeforeRender": false,
- "waiting": true,
- "autoclose": true,
- "delay": 0
- },
- "modules": {
- "Fingerprint": {
- },
- "Share": {
- },
- "OAuth": {
- },
- "FaceID": {
- },
- "Push": {
- },
- "Geolocation": {
- }
- },
- "distribute": {
- "android": {
- "permissions": [
- "",
- "",
- "",
- "",
- "",
- "",
- "",
- "",
- "",
- "",
- "",
- "",
- "",
- "",
- "",
- ""
- ],
- "abiFilters": [
- "armeabi-v7a",
- "arm64-v8a",
- "x86"
- ]
- },
- "ios": {
- "capabilities": {
- "entitlements": {
- "com.apple.developer.associated-domains": [
- "applinks:static-76ce2c5e-31c7-4d81-8fcf-ed1541ecbc6e.bspapp.com"
- ]
- }
- }
- },
- "sdkConfigs": {
- "oauth": {
- "apple": {
- },
- "weixin": {
- "appid": "",
- "appsecret": "",
- "UniversalLinks": ""
- },
- "univerify": {
- }
+ "name" : "统一应用基本项目" // 应用名称
+ }
},
- "ad": {
+ "privacy" : {
+ "prompt" : "template",
+ "template" : {
+ "title" : "服务协议和隐私政策",
+ "message" : " 请你务必审慎阅读、充分理解“服务协议”和“隐私政策”各条款,包括但不限于:为了更好的向你提供服务,我们需要收集你的设备标识、操作日志等信息用于分析、优化应用性能。
你可阅读《服务协议》和《隐私政策》了解详细信息。如果你同意,请点击下面按钮开始接受我们的服务。",
+ "buttonAccept" : "同意",
+ "buttonRefuse" : "暂不同意"
+ }
},
- "share": {
- "weixin": {
- "appid": "",
- "UniversalLinks": ""
- }
+ "compatible" : {
+ "ignoreVersion" : true
},
- "geolocation": {
- "baidu": {
- "__platform__": [
- "ios",
- "android"
- ],
- "appkey_ios": "请填写地图的key",
- "appkey_android": "请填写地图的key"
- }
+ "usingComponents" : true,
+ "nvueStyleCompiler" : "uni-app",
+ "compilerVersion" : 3,
+ "splashscreen" : {
+ "alwaysShowBeforeRender" : false,
+ "waiting" : true,
+ "autoclose" : true,
+ "delay" : 0
},
- "push": {
- "unipush": {
- }
+ "modules" : {
+ "Fingerprint" : {},
+ "OAuth" : {},
+ "FaceID" : {},
+ "Push" : {},
+ "Geolocation" : {}
},
- "payment": {
- }
- },
- "icons": {
- "android": {
- "hdpi": "",
- "xhdpi": "",
- "xxhdpi": "",
- "xxxhdpi": ""
+ "distribute" : {
+ "android" : {
+ "permissions" : [
+ "",
+ "",
+ "",
+ "",
+ "",
+ "",
+ "",
+ "",
+ "",
+ "",
+ "",
+ "",
+ "",
+ "",
+ "",
+ ""
+ ],
+ "abiFilters" : [ "armeabi-v7a", "arm64-v8a", "x86" ]
+ },
+ "ios" : {
+ "capabilities" : {
+ "entitlements" : {
+ "com.apple.developer.associated-domains" : [ "applinks:static-76ce2c5e-31c7-4d81-8fcf-ed1541ecbc6e.bspapp.com" ]
+ }
+ }
+ },
+ "sdkConfigs" : {
+ "oauth" : {
+ "apple" : {},
+ "univerify" : {}
+ },
+ "ad" : {},
+ "share" : {
+ "weixin" : {
+ "appid" : "",
+ "UniversalLinks" : ""
+ }
+ },
+ "geolocation" : {
+ "baidu" : {
+ "__platform__" : [ "ios", "android" ],
+ "appkey_ios" : "请填写地图的key",
+ "appkey_android" : "请填写地图的key"
+ }
+ },
+ "push" : {
+ "unipush" : {}
+ },
+ "payment" : {}
+ },
+ "icons" : {
+ "android" : {
+ "hdpi" : "",
+ "xhdpi" : "",
+ "xxhdpi" : "",
+ "xxxhdpi" : ""
+ },
+ "ios" : {
+ "appstore" : "",
+ "ipad" : {
+ "app" : "",
+ "app@2x" : "",
+ "notification" : "",
+ "notification@2x" : "",
+ "proapp@2x" : "",
+ "settings" : "",
+ "settings@2x" : "",
+ "spotlight" : "",
+ "spotlight@2x" : ""
+ },
+ "iphone" : {
+ "app@2x" : "",
+ "app@3x" : "",
+ "notification@2x" : "",
+ "notification@3x" : "",
+ "settings@2x" : "",
+ "settings@3x" : "",
+ "spotlight@2x" : "",
+ "spotlight@3x" : ""
+ }
+ }
+ },
+ "splashscreen" : {
+ "iosStyle" : "common",
+ "androidStyle" : "common"
+ }
+ },
+ "nvueLaunchMode" : ""
+ },
+ "quickapp" : {},
+ "mp-weixin" : {
+ "appid" : "",
+ "setting" : {
+ "urlCheck" : false,
+ "es6" : false
},
- "ios": {
- "appstore": "",
- "ipad": {
- "app": "",
- "app@2x": "",
- "notification": "",
- "notification@2x": "",
- "proapp@2x": "",
- "settings": "",
- "settings@2x": "",
- "spotlight": "",
- "spotlight@2x": ""
- },
- "iphone": {
- "app@2x": "",
- "app@3x": "",
- "notification@2x": "",
- "notification@3x": "",
- "settings@2x": "",
- "settings@3x": "",
- "spotlight@2x": "",
- "spotlight@3x": ""
- }
+ "usingComponents" : true,
+ "betterScopedSlots" : true,
+ "permission" : {
+ "scope.userLocation" : {
+ "desc" : "演示在onShow生命周期获取地理位置"
+ }
}
- },
- "splashscreen": {
- "iosStyle": "common",
- "androidStyle": "common"
- }
},
- "nvueLaunchMode": ""
- },
- "quickapp": {
- },
- "mp-weixin": {
- "appid": "",
- "setting": {
- "urlCheck": false,
- "es6": false
+ "mp-alipay" : {
+ "usingComponents" : true
+ },
+ "mp-baidu" : {
+ "usingComponents" : true
},
- "usingComponents": true,
- "betterScopedSlots": true,
- "permission": {
- "scope.userLocation": {
- "desc": "演示在onShow生命周期获取地理位置"
- }
- }
- },
- "mp-alipay": {
- "usingComponents": true
- },
- "mp-baidu": {
- "usingComponents": true
- },
- "mp-toutiao": {
- "usingComponents": true
- },
- "uniStatistics": {
- "enable": false
- },
- "h5": {
- "template": "",
- "sdkConfigs": {
- "maps": {
- "qqmap": {
- "key": ""
+ "mp-toutiao" : {
+ "usingComponents" : true
+ },
+ "uniStatistics" : {
+ "enable" : false
+ },
+ "h5" : {
+ "template" : "",
+ "sdkConfigs" : {
+ "maps" : {
+ "qqmap" : {
+ "key" : ""
+ }
+ }
}
- }
- }
- },
- "_spaceID": "",
- "vueVersion": "2"
+ },
+ "_spaceID" : "",
+ "vueVersion" : "2"
}
//...
// 中文(简体)
// 应用名称
+
diff --git a/package.json b/package.json
index f6a9ffd..28b42c7 100644
--- a/package.json
+++ b/package.json
@@ -4,12 +4,12 @@
"version": "1.1.9",
"description": "云端一体应用快速开发基本项目模版",
"keywords": [
- "login",
- "登录",
- "搜索",
- "uni-id例子",
- "留言板"
- ],
+ "login",
+ "登录",
+ "搜索",
+ "uni-id例子",
+ "留言板"
+ ],
"repository": "https://codechina.csdn.net/dcloud/uni-starter.git",
"engines": {
"HBuilderX": "^3.1.20"
@@ -81,5 +81,7 @@
}
}
},
- "dependencies": {}
+ "dependencies": {
+ "@jest/test-sequencer": "^27.0.6"
+ }
}
diff --git a/pages/grid/grid.test.js b/pages/grid/grid.test.js
new file mode 100644
index 0000000..cc37b18
--- /dev/null
+++ b/pages/grid/grid.test.js
@@ -0,0 +1,40 @@
+// jest官方文档: https://www.jestjs.cn/
+// uniapp自动化测试教程: https://uniapp.dcloud.io/collocation/auto/quick-start
+
+describe('pages/grid/grid.vue', () => {
+ let page
+ beforeAll(async () => {
+ page = await program.switchTab('/pages/grid/grid')
+ await page.waitFor(500)
+ })
+
+ it('检测宫格', async () => {
+ // expect.assertions(1);
+ // const perPage = await page.$('.warp')
+ // const getData = await perPage.data('gridList')
+ // console.log("getData: ",getData);
+ // expect(getData.length).toBe(9)
+ expect.assertions(1);
+ const getData = await page.data('gridList')
+ console.log("getData: ",getData);
+ expect(getData.length).toBe(9)
+
+ })
+
+ it('点击宫格', async () => {
+ // expect.assertions(1);
+ const perPage = await page.$('.warp')
+ const uGrid = await perPage.$('.uni-grid-box')
+ console.log("uGrid-----------: ",uGrid);
+
+ // await uGrid.callMethod('change')
+
+ // const tapRes = await uGrid.tap()
+ // const tapRes = await uGrid.callMethod('change')
+ // await page.waitFor(300)
+ // console.log("tapRes: ",tapRes);
+ })
+
+
+
+});
\ No newline at end of file
diff --git a/pages/grid/grid.vue b/pages/grid/grid.vue
index 55a04b7..00a9a4e 100644
--- a/pages/grid/grid.vue
+++ b/pages/grid/grid.vue
@@ -25,7 +25,7 @@
-
+
{
+ let page
+ beforeAll(async () => {
+ page = await program.navigateTo('/pages/list/detail?id=614343e09ee65f000158ac93&title=阿里小程序IDE官方内嵌uni-app,为开发者提供多端开发服务')
+ await page.waitFor(500)
+ })
+ it('检测内容', async () => {
+ expect.assertions(1);
+ const page = await program.currentPage()
+ await program.pageScrollTo(100)
+ console.log(await page.scrollTop(),"scrollTop")
+ expect(await page.scrollTop()).toBe(100)
+ })
+
+
+
+});
diff --git a/pages/list/list.nvue b/pages/list/list.nvue
index fa53e5c..48113f9 100644
--- a/pages/list/list.nvue
+++ b/pages/list/list.nvue
@@ -10,7 +10,8 @@
+ field="avatar,title,last_modify_date,user_id.username" @load="loadData"
+ >
@@ -68,7 +69,8 @@
where: "",
keyword: "",
refreshState: 0,
- listHight: 0
+ listHight: 0,
+ dataList:[]
}
},
watch: {
@@ -88,9 +90,10 @@
// #ifndef APP-NVUE
this.listHight = 'auto'
// #endif
- cdbRef = this.$refs.udb
+ cdbRef = this.$refs.udb
+
},
- async onShow() {
+ async onShow() {
this.keyword = getApp().globalData.searchText
getApp().globalData.searchText = ''
//这里仅演示如何,在onShow生命周期获取设备位置,并在设备或者应用没有权限时自动引导。设置完毕自动重新获取。
@@ -99,10 +102,8 @@
// title:"获取定位中"
// });
//默认h5端不获取定位
- // #ifndef H5
- let location = await gps.getLocation({geocode:true})
- console.log(location);
- // #endif
+ // let location = await gps.getLocation({geocode:true})
+ // console.log(location);
// if(location){
// uni.showToast({
// title: JSON.stringify(location),
@@ -112,6 +113,11 @@
// uni.hideLoading()
},
methods: {
+ loadData(e){
+ console.log("e: ----",e[0]);
+ this.dataList = e[0]
+ console.log("this.dataList: ",this.dataList);
+ },
searchClick(e) { //点击搜索框
uni.hideKeyboard();
uni.navigateTo({
diff --git a/pages/list/list.test.js b/pages/list/list.test.js
new file mode 100644
index 0000000..94a5995
--- /dev/null
+++ b/pages/list/list.test.js
@@ -0,0 +1,32 @@
+describe('pages/list/list.vue', () => {
+
+ let page
+ beforeAll(async () => {
+ page = await program.switchTab('/pages/list/list')
+ await page.waitFor(500)
+ })
+
+ it('检测标题', async () => {
+ // expect.assertions(2);
+ // const perPage = await page.$('.pages')
+ // await page.waitFor(500)
+ // const getData = await perPage.data('dataList')
+ // console.log("getData: ",getData);
+ // expect(getData.title).toBe('阿里小程序IDE官方内嵌uni-app,为开发者提供多端开发服务')
+ // expect(getData.length).toBe(1)
+
+ const getData = await page.data('dataList')
+ console.log("getData: ",getData);
+
+
+ })
+
+ it('点击搜索跳转', async () => {
+ expect.assertions(2);
+ const searchTo = await page.callMethod('searchClick')
+ await page.waitFor(300)
+ expect((await program.currentPage()).path).toBe('pages/list/search/search')
+ await page.waitFor(500)
+ expect((await program.navigateBack()).path).toBe('pages/list/list')
+ })
+})
\ No newline at end of file
diff --git a/pages/list/search/search.test.js b/pages/list/search/search.test.js
new file mode 100644
index 0000000..dac8349
--- /dev/null
+++ b/pages/list/search/search.test.js
@@ -0,0 +1,34 @@
+// jest官方文档: https://www.jestjs.cn/
+// uniapp自动化测试教程: https://uniapp.dcloud.io/collocation/auto/quick-start
+
+describe('pages/list/search/search.vue', () => {
+ let page
+ beforeAll(async () => {
+ page = await program.navigateTo('/pages/list/search/search')
+ await page.waitFor(500)
+ })
+ it('搜索发现-显示-影藏', async () => {
+ expect.assertions(2);
+ await page.callMethod('searchHotRefresh')
+ await page.waitFor(300)
+ const getShow = await page.data('netHotListIsHide')
+ expect(getShow).toBeFalsy()
+ if(!getShow){
+ await page.setData({netHotListIsHide: true})
+ expect(await page.data('netHotListIsHide')).toBeTruthy()
+ }
+ })
+
+ it('搜索内容', async () => {
+ expect.assertions(1);
+ const setSearchTest = await page.setData({
+ searchText: '小程序',
+ })
+ // console.log(await page.data('searchText'));
+ await page.callMethod('search', '小程序')
+ await page.waitFor(300)
+ expect((await program.currentPage()).path).toBe('pages/list/list')
+ // 执行 navigateBack 验证是否返回
+ // expect((await program.navigateBack()).path).toBe('pages/list/search/search')
+ })
+});
diff --git a/pages/ucenter/about/about.test.js b/pages/ucenter/about/about.test.js
new file mode 100644
index 0000000..fa1dd5d
--- /dev/null
+++ b/pages/ucenter/about/about.test.js
@@ -0,0 +1,32 @@
+// jest官方文档: https://www.jestjs.cn/
+// uniapp自动化测试教程: https://uniapp.dcloud.io/collocation/auto/quick-start
+
+describe('pages/ucenter/about/about.vue', () => {
+ let page
+ beforeAll(async () => {
+ page = await program.navigateTo('/pages/ucenter/about/about')
+ await page.waitFor(500)
+ })
+
+ it('检测标题', async () => {
+ // expect.assertions(1);
+ // const perPage = await page.$('.about')
+ // await page.waitFor(500)
+ const getData = await page.data('about')
+ console.log("getData-----------: ", getData);
+ // expect(getData.appName).toBe('uni-starter')
+ // expect(getData.slogan).toBe('云端一体应用快速开发模版')
+ })
+
+ it('隐私政策协议-点击跳转', async () => {
+ // expect.assertions(1);
+ const elAgree = await page.$('.agreement')
+ // console.log("elAgree: ", elAgree);
+
+ await page.callMethod('navigateTo', {
+ url: "https://ask.dcloud.net.cn/protocol.html",
+ title: "用户服务条款"
+ })
+ })
+
+});
diff --git a/pages/ucenter/login-page/index/index.test1.js b/pages/ucenter/login-page/index/index.test1.js
new file mode 100644
index 0000000..8bcb64d
--- /dev/null
+++ b/pages/ucenter/login-page/index/index.test1.js
@@ -0,0 +1,56 @@
+// jest官方文档: https://www.jestjs.cn/
+// uniapp自动化测试教程: https://uniapp.dcloud.io/collocation/auto/quick-start
+describe('pages/ucenter/login-page/index/index.vue', () => {
+
+ let page
+ beforeAll(async () => {
+ page = await program.navigateTo('/pages/ucenter/login-page/index/index?type=smsCode')
+ await page.waitFor(500)
+ })
+
+ it('检查', async () => {
+
+ console.log(await program.currentPage());
+ const perPage = await page.$('.content')
+ const getTitle = await perPage.$('.title')
+
+ console.log(await getTitle.text());
+
+ // if ((await program.currentPage()).path == 'pages/ucenter/login-page/index/index') {
+ // expect(await getTitle.text()).toBe('登录后即可展示自己')
+ // }
+
+ })
+
+ it('手机号', async () => {
+
+ const setInput = await page.setData({
+ "phone": '17769516019',
+ "agree": true,
+ })
+ await page.waitFor(300)
+ console.log(await page.data('phone'), "phone----------");
+ console.log(await page.data('agree'), "agree-----------");
+
+
+ const agreeTrue = await page.waitFor(async () => {
+ return await page.data('agree')
+ })
+ console.log("agreeTrue: ", agreeTrue);
+
+ await page.callMethod('sendShortMsg')
+ await page.waitFor(300)
+ console.log(await program.currentPage());
+ // except((await program.currentPage()).path).toBe('pages/ucenter/login-page/phone-code/phone-code?phoneNumber=17769516019')
+
+
+ // if (process.env.UNI_PLATFORM === "h5") {
+ // const elInput = await page.$('.input-box')
+ // console.log("elInput: ",elInput);
+
+ // console.log(await elInput.attribute('src'));
+
+ // }
+
+ })
+})
diff --git a/pages/ucenter/login-page/phone-code/phone-code.test1.js b/pages/ucenter/login-page/phone-code/phone-code.test1.js
new file mode 100644
index 0000000..700a6db
--- /dev/null
+++ b/pages/ucenter/login-page/phone-code/phone-code.test1.js
@@ -0,0 +1,37 @@
+// jest官方文档: https://www.jestjs.cn/
+// uniapp自动化测试教程: https://uniapp.dcloud.io/collocation/auto/quick-start
+describe('pages/ucenter/login-page/phone-code/phone-code.vue', () => {
+
+ let page
+ beforeAll(async () => {
+ page = await program.navigateTo('/pages/ucenter/login-page/phone-code/phone-code')
+ await page.waitFor(500)
+ })
+// ?phoneNumber=17769516019
+ it('获取短信验证码', async () => {
+
+ const initClickRes = await page.callMethod('initClick')
+ console.log("initClickRes: ",initClickRes);
+
+ console.log(await page.data('count'));
+
+ await page.waitFor(500)
+
+ await page.setData({
+ "code":"123456"
+ })
+
+ expect(await page.data('code').length).toBe(6)
+
+
+ const submitRes = await page.callMethod('submit')
+ console.log("submitRes: ",submitRes);
+
+ // expect(submitRes.msg).toBe('注册成功')
+
+ console.log(await program.currentPage());
+ // 登录成功后,/pages/ucenter/settings/settings
+
+
+ })
+})
diff --git a/pages/ucenter/login-page/phone-code/phone-code.vue b/pages/ucenter/login-page/phone-code/phone-code.vue
index d08d5fe..822b70f 100644
--- a/pages/ucenter/login-page/phone-code/phone-code.vue
+++ b/pages/ucenter/login-page/phone-code/phone-code.vue
@@ -42,27 +42,49 @@
// this.$refs.sendSmsCode.start();
},
methods: {
- submit(){ //完成并提交
- uniCloud.callFunction({
- name:'uni-id-cf',
- data:{
- action:'loginBySms',
- params:{
+ async submit(){ //完成并提交
+ return await uniCloud.callFunction({
+ name:'uni-id-cf',
+ data:{
+ action:'loginBySms',
+ params:{
"mobile":this.phone,
- "code":this.code
- },
- },
- success: ({result}) => {
- if(result.code === 0){
- this.loginSuccess(result)
- }else{
- uni.showModal({
- content: result.msg,
- showCancel: false
- });
- }
- }
- })
+ "code":this.code
+ },
+ }
+ }).then(({result})=>{
+ if(result.code === 0){
+ this.loginSuccess(result)
+ }else{
+ uni.showModal({
+ content: result.msg,
+ showCancel: false
+ });
+ }
+ return result
+ })
+
+ // uniCloud.callFunction({
+ // name:'uni-id-cf',
+ // data:{
+ // action:'loginBySms',
+ // params:{
+ // "mobile":this.phone,
+ // "code":this.code
+ // },
+ // },
+ // success: ({result}) => {
+ // if(result.code === 0){
+ // this.loginSuccess(result)
+ // }else{
+ // uni.showModal({
+ // content: result.msg,
+ // showCancel: false
+ // });
+ // }
+ // }
+ // })
+
}
}
}
diff --git a/pages/ucenter/login-page/pwd-login/pwd-login.test.js b/pages/ucenter/login-page/pwd-login/pwd-login.test.js
new file mode 100644
index 0000000..ca19cc3
--- /dev/null
+++ b/pages/ucenter/login-page/pwd-login/pwd-login.test.js
@@ -0,0 +1,49 @@
+// jest官方文档: https://www.jestjs.cn/
+// uniapp自动化测试教程: https://uniapp.dcloud.io/collocation/auto/quick-start
+
+describe('pages/ucenter/login-page/pwd-login/pwd-login.vue', () => {
+
+ let page
+ beforeAll(async () => {
+ page = await program.redirectTo('/pages/ucenter/login-page/pwd-login/pwd-login')
+ await page.waitFor(500)
+ })
+
+ it('前往注册页', async () => {
+ // expect.assertions(2);
+ const resReg = await page.callMethod('toRegister')
+ await page.waitFor(300)
+ expect((await program.currentPage()).path).toBe(
+ 'pages/ucenter/login-page/register/register')
+ await page.waitFor(500)
+ // 执行 navigateBack 验证是否返回
+ expect((await program.navigateBack()).path).toBe(
+ 'pages/ucenter/login-page/pwd-login/pwd-login')
+ })
+
+ it('跳转到忘记密码页', async () => {
+ const resPwd = await page.callMethod('toRetrievePwd')
+
+ await page.waitFor(300)
+ expect((await program.currentPage()).path).toBe(
+ 'pages/ucenter/login-page/pwd-retrieve/pwd-retrieve')
+
+ await page.waitFor(500)
+ // 执行 navigateBack 验证是否返回
+ expect((await program.navigateBack()).path).toBe(
+ 'pages/ucenter/login-page/pwd-login/pwd-login')
+ })
+
+ it('用户名密码登录', async () => {
+ // expect.assertions(1);
+ const setForm = await page.setData({
+ "password": "111111",
+ "username": "数字天堂",
+ "agree": true,
+ })
+ const resLogin = await page.callMethod('pwdLogin')
+ console.log("resLogin: ", resLogin.msg);
+ expect(resLogin.msg).toBe("登录成功");
+ })
+
+})
diff --git a/pages/ucenter/login-page/pwd-login/pwd-login.vue b/pages/ucenter/login-page/pwd-login/pwd-login.vue
index 7413577..2a972e5 100644
--- a/pages/ucenter/login-page/pwd-login/pwd-login.vue
+++ b/pages/ucenter/login-page/pwd-login/pwd-login.vue
@@ -51,50 +51,86 @@
url: '../pwd-retrieve/pwd-retrieve?phoneNumber=' + (this.isPhone ? this.username : '') +
'&phoneArea=' + this.currenPhoneArea
})
+ // uni.redirectTo({
+ // url: '../pwd-retrieve/pwd-retrieve?phoneNumber=' + (this.isPhone ? this.username : '') +
+ // '&phoneArea=' + this.currenPhoneArea
+ // })
},
/**
* 密码登录
*/
- pwdLogin() {
+ async pwdLogin() {
if (!this.agree) {
return uni.showToast({
title: this.$t('common').noAgree,
icon: 'none'
});
}
+ return await uniCloud.callFunction({
+ name:'uni-id-cf',
+ data:{
+ action:'login',
+ params:{
+ "username": this.username,
+ "password": this.password,
+ "captcha":this.captcha
+ },
+ },
+ }).then(({result}) => {
+ console.log(result);
+ if (result.code === 0) {
+ this.loginSuccess(result)
+ } else {
+ if (result.needCaptcha) {
+ uni.showToast({
+ title: result.msg,
+ icon: 'none'
+ });
+ this.createCaptcha()
+ }else{
+ uni.showModal({
+ title: this.$t('common').error,
+ content: result.msg,
+ showCancel: false,
+ confirmText: this.$t('common').gotIt
+ });
+ }
+ }
+ return result
+ })
// 下边是可以登录
- uniCloud.callFunction({
- name:'uni-id-cf',
- data:{
- action:'login',
- params:{
- "username": this.username,
- "password": this.password,
- "captcha":this.captcha
- },
- },
- success: ({result}) => {
- console.log(result);
- if (result.code === 0) {
- this.loginSuccess(result)
- } else {
- if (result.needCaptcha) {
- uni.showToast({
- title: result.msg,
- icon: 'none'
- });
- this.createCaptcha()
- }else{
- uni.showModal({
- title: this.$t('common').error,
- content: result.msg,
- showCancel: false,
- confirmText: this.$t('common').gotIt
- });
- }
- }
- }
- })
+ // uniCloud.callFunction({
+ // name:'uni-id-cf',
+ // data:{
+ // action:'login',
+ // params:{
+ // "username": this.username,
+ // "password": this.password,
+ // "captcha":this.captcha
+ // },
+ // },
+ // success: ({result}) => {
+ // console.log(result);
+ // if (result.code === 0) {
+ // this.loginSuccess(result)
+ // } else {
+ // if (result.needCaptcha) {
+ // uni.showToast({
+ // title: result.msg,
+ // icon: 'none'
+ // });
+ // this.createCaptcha()
+ // }else{
+ // uni.showModal({
+ // title: this.$t('common').error,
+ // content: result.msg,
+ // showCancel: false,
+ // confirmText: this.$t('common').gotIt
+ // });
+ // }
+ // }
+ // }
+ // })
},
createCaptcha(){
uniCloud.callFunction({
@@ -123,6 +159,9 @@
uni.navigateTo({
url: '/pages/ucenter/login-page/register/register'
})
+ // uni.redirectTo({
+ // url: '/pages/ucenter/login-page/register/register'
+ // })
}
}
}
diff --git a/pages/ucenter/login-page/pwd-retrieve/pwd-retrieve.test.js b/pages/ucenter/login-page/pwd-retrieve/pwd-retrieve.test.js
new file mode 100644
index 0000000..565a9eb
--- /dev/null
+++ b/pages/ucenter/login-page/pwd-retrieve/pwd-retrieve.test.js
@@ -0,0 +1,32 @@
+// jest官方文档: https://www.jestjs.cn/
+// uniapp自动化测试教程: https://uniapp.dcloud.io/collocation/auto/quick-start
+describe('pages/ucenter/login-page/pwd-retrieve/pwd-retrieve.vue', () => {
+
+ let page
+ beforeAll(async () => {
+ page = await program.navigateTo('/pages/ucenter/login-page/pwd-retrieve/pwd-retrieve?phoneNumber=17769516019')
+ await page.waitFor(500)
+ })
+
+ it('重置密码', async () => {
+ await page.setData({
+ formData: {
+ "phone": "17769516019",
+ 'pwd': '222222',
+ 'pwd2': '222222',
+ 'code':'123456'
+ }
+ })
+
+ if (process.env.UNI_PLATFORM === "h5") {
+ const submitRes = await page.callMethod('submit')
+ console.log("submitRes: ",submitRes);
+ // expect(submitRes.msg).toBe('密码重置成功')
+ await page.waitFor(500)
+ }
+
+ console.log(await program.currentPage());
+ // expect((await program.currentPage()).path).toBe('/pages/ucenter/settings/settings')
+
+ })
+})
diff --git a/pages/ucenter/login-page/pwd-retrieve/pwd-retrieve.vue b/pages/ucenter/login-page/pwd-retrieve/pwd-retrieve.vue
index 730f35a..e0f0a7b 100644
--- a/pages/ucenter/login-page/pwd-retrieve/pwd-retrieve.vue
+++ b/pages/ucenter/login-page/pwd-retrieve/pwd-retrieve.vue
@@ -137,30 +137,52 @@
/**
* 完成并提交
*/
- submit() {
+ submit() {
this.$refs.form.validate()
- .then(res => {
- uniCloud.callFunction({
- name:'uni-id-cf',
- data:{
- action:'resetPwdBySmsCode',
- params:{
- "mobile": this.formData.phone,
- "code": this.formData.code,
- "password": this.formData.pwd
- },
- },
- success: ({result}) => {
- console.log(result);
- uni.showToast({
- title: result.msg,
- icon: 'none'
- });
- if (result.code === 0) {
- uni.navigateBack()
- }
- }
+ .then( async res => {
+ return await uniCloud.callFunction({
+ name:'uni-id-cf',
+ data:{
+ action:'resetPwdBySmsCode',
+ params:{
+ "mobile": this.formData.phone,
+ "code": this.formData.code,
+ "password": this.formData.pwd
+ },
+ }
+ }).then(({result})=>{
+ console.log(result);
+ // uni.showToast({
+ // title: result.msg,
+ // icon: 'none'
+ // });
+ if (result.code === 0) {
+ uni.navigateBack()
+ }
+ return result
})
+
+ // uniCloud.callFunction({
+ // name:'uni-id-cf',
+ // data:{
+ // action:'resetPwdBySmsCode',
+ // params:{
+ // "mobile": this.formData.phone,
+ // "code": this.formData.code,
+ // "password": this.formData.pwd
+ // },
+ // },
+ // success: ({result}) => {
+ // console.log(result);
+ // uni.showToast({
+ // title: result.msg,
+ // icon: 'none'
+ // });
+ // if (result.code === 0) {
+ // uni.navigateBack()
+ // }
+ // }
+ // })
})
}
}
diff --git a/pages/ucenter/login-page/register/register.test.js b/pages/ucenter/login-page/register/register.test.js
new file mode 100644
index 0000000..076c306
--- /dev/null
+++ b/pages/ucenter/login-page/register/register.test.js
@@ -0,0 +1,55 @@
+// jest官方文档: https://www.jestjs.cn/
+// uniapp自动化测试教程: https://uniapp.dcloud.io/collocation/auto/quick-start
+
+
+describe('pages/ucenter/login-page/register/register.vue', () => {
+
+ let page
+ beforeAll(async () => {
+ page = await program.redirectTo('/pages/ucenter/login-page/register/register')
+ await page.waitFor(500)
+ })
+
+ it('注册账号', async () => {
+
+ let username = "数字天堂"
+ let nickname = "DCloud"
+ let password = "111111"
+ let pwd2 = "111111"
+
+ const setInput = await page.setData({
+ formData: {
+ "username": username,
+ "nickname": nickname,
+ 'password': password,
+ 'pwd2': pwd2
+ },
+ })
+ // console.log(await page.data('formData'),"0000000000000");
+
+ expect(username).toMatch(/^.{3,20}$/);
+ expect(password).toMatch(/^.{6,20}$/);
+ expect(pwd2).toMatch(/^.{6,20}$/);
+ expect(pwd2).toEqual(password);
+
+ await page.setData({
+ agree: true
+ })
+
+ const getUid = await page.waitFor(async () => {
+ const resRegister = await page.callMethod('submit')
+ await page.waitFor(300)
+ return resRegister
+ })
+
+ console.log("getUid:---------- ",getUid.msg);
+ if (getUid.uid) {
+ expect(getUid.msg).toBe("注册成功");
+ expect(getUid.userInfo.username).toBe("数字天堂");
+ await program.navigateTo('/pages/ucenter/settings/settings')
+ } else {
+ expect(getUid.msg).toBe("此用户名已注册");
+ await program.navigateTo('/pages/ucenter/login-page/pwd-login/pwd-login')
+ }
+ })
+})
diff --git a/pages/ucenter/login-page/register/register.vue b/pages/ucenter/login-page/register/register.vue
index 8adfea3..30191ac 100644
--- a/pages/ucenter/login-page/register/register.vue
+++ b/pages/ucenter/login-page/register/register.vue
@@ -58,34 +58,56 @@ import mixin from '../common/login-page.mixin.js';
uni.showLoading({
mask: true
})
- this.$refs.form.validate().then((res) => {
- this.submitForm(res)
+ return this.$refs.form.validate().then(async(res) => {
+ console.log("res: ",res);
+ let msg = await this.submitForm(res)
+ console.log("msg: --------------",msg);
+ return msg
}).catch((errors) => {
console.log(errors);
+ return errors
})
.finally(() => {
uni.hideLoading()
})
},
- submitForm(params) {
- uniCloud.callFunction({
- name:'uni-id-cf',
- data:{
- action:'register',
- params,
- },
- success: ({result}) => {
- console.log(result);
- if(result.code === 0){
- this.loginSuccess(result)
- }else{
- uni.showModal({
- content: result.msg,
- showCancel: false
- });
- }
- }
+ async submitForm(params) {
+ return await uniCloud.callFunction({
+ name:'uni-id-cf',
+ data:{
+ action:'register',
+ params,
+ },
+ }).then(({result}) => {
+ if(result.code === 0){
+ this.loginSuccess(result)
+ }else{
+ uni.showModal({
+ content: result.msg,
+ showCancel: false
+ });
+ }
+ console.log(result);
+ return result
})
+ // uniCloud.callFunction({
+ // name:'uni-id-cf',
+ // data:{
+ // action:'register',
+ // params,
+ // },
+ // success: ({result}) => {
+ // console.log(result);
+ // if(result.code === 0){
+ // this.loginSuccess(result)
+ // }else{
+ // uni.showModal({
+ // content: result.msg,
+ // showCancel: false
+ // });
+ // }
+ // }
+ // })
}
}
}
diff --git a/pages/ucenter/settings/settings.test.js b/pages/ucenter/settings/settings.test.js
new file mode 100644
index 0000000..dc699df
--- /dev/null
+++ b/pages/ucenter/settings/settings.test.js
@@ -0,0 +1,25 @@
+// uniapp自动化测试教程: https://uniapp-test.dcloud.net.cn/docs/testcase/start
+
+// import {mapGetters} from 'vuex';
+
+describe('pages/ucenter/settings/settings', () => {
+ let page
+ beforeAll(async () => {
+ page = await program.navigateTo('/pages/ucenter/settings/settings')
+ await page.waitFor(500)
+ })
+
+ it('退出登录', async () => {
+ const perPage = await page.$('.content')
+ const uList = await perPage.$('.userInfo-class')
+ await page.waitFor(300)
+ const getTokenRes = await page.waitFor(async()=>{
+ return await page.data('uniToken')
+ })
+ console.log("getTokenRes: ",getTokenRes);
+ await page.callMethod('clickLogout')
+ console.log((await program.currentPage()).path);
+ })
+
+
+});
\ No newline at end of file
diff --git a/pages/ucenter/settings/settings.vue b/pages/ucenter/settings/settings.vue
index f5374c1..85cbe3b 100644
--- a/pages/ucenter/settings/settings.vue
+++ b/pages/ucenter/settings/settings.vue
@@ -2,7 +2,7 @@
-
+
@@ -42,7 +42,8 @@
pushServer:pushServer,
supportMode:[],
pushIsOn:"wait",
- currentLanguage:""
+ currentLanguage:"",
+ uniToken:""
}
},
computed: {
@@ -52,6 +53,8 @@
})
},
onLoad() {
+ this.uniToken = uni.getStorageSync('uni_id_token')
+ console.log("uniToken: ",this.uniToken);
this.currentLanguage = uni.getStorageSync('CURRENT_LANG') == "en"?'English':'简体中文'
uni.setNavigationBarTitle({
@@ -177,21 +180,24 @@
})
},
clickLogout() {
+ console.log("this.hasLogin:---------------- ",this.hasLogin);
if (this.hasLogin) {
- uni.showModal({
- title: this.$t('settings.tips'),
- content: this.$t('settings.exitLogin'),
- cancelText: this.$t('settings.cancelText'),
- confirmText: this.$t('settings.confirmText'),
- success: res => {
- if (res.confirm) {
- this.logout();
- uni.navigateBack();
- }
- },
- fail: () => {},
- complete: () => {}
- });
+ this.logout();
+ uni.navigateBack();
+ // uni.showModal({
+ // title: this.$t('settings.tips'),
+ // content: this.$t('settings.exitLogin'),
+ // cancelText: this.$t('settings.cancelText'),
+ // confirmText: this.$t('settings.confirmText'),
+ // success: res => {
+ // if (res.confirm) {
+ // this.logout();
+ // uni.navigateBack();
+ // }
+ // },
+ // fail: () => {},
+ // complete: () => {}
+ // });
} else {
uni.navigateTo({
url: '/pages/ucenter/login-page/index/index'
diff --git a/pages/ucenter/ucenter.test.js b/pages/ucenter/ucenter.test.js
new file mode 100644
index 0000000..25cca33
--- /dev/null
+++ b/pages/ucenter/ucenter.test.js
@@ -0,0 +1,30 @@
+describe('pages/ucenter/ucenter.vue', () => {
+
+ let page
+ beforeAll(async () => {
+ page = await program.switchTab('/pages/ucenter/ucenter')
+ await page.waitFor(300)
+ })
+
+ it('宫格', async () => {
+ const getGrid = await page.data('gridList')
+ // console.log("getGrid: ",getGrid);
+ expect(getGrid.length).toBe(4)
+ })
+
+ it('列表', async () => {
+ const getUcenterList = await page.data('ucenterList')
+ // console.log("getUcenterList: ",getUcenterList);
+ expect(getUcenterList.length).toBe(3)
+ })
+
+ it('我的积分', async () => {
+ // expect.assertions(1);
+ const getScoreRes = await page.callMethod('getScore')
+ console.log("getScoreRes: ", getScoreRes);
+ await page.waitFor(500)
+ // expect(getScoreRes.score).not.toBeUndefined();
+ })
+
+
+})
diff --git a/pages/ucenter/ucenter.vue b/pages/ucenter/ucenter.vue
index cae7fbc..7f5cf1a 100644
--- a/pages/ucenter/ucenter.vue
+++ b/pages/ucenter/ucenter.vue
@@ -38,7 +38,7 @@
import checkUpdate from '@/uni_modules/uni-upgrade-center-app/utils/check-update';
import callCheckVersion from '@/uni_modules/uni-upgrade-center-app/utils/call-check-version';
import uniShare from '@/uni_modules/uni-share/js_sdk/uni-share.js';
-
+ // import pwdLogin from '../../common/toLogin.js';
const db = uniCloud.database();
export default {
data() {
@@ -120,10 +120,14 @@
"style": "solid", // 边框样式
"radius": "100%" // 边框圆角,支持百分比
}
- }
+ },
+ uniToken:""
}
},
- onLoad() {
+ async onLoad() {
+ // const loginRes = await pwdLogin()
+ // console.log(loginRes,'-------------');
+ // this.uniToken = loginRes.token
// console.log(313,this.userInfo,this.hasLogin);
//#ifdef APP-PLUS
this.ucenterList[this.ucenterList.length - 2].unshift({
@@ -133,7 +137,9 @@
icon: 'loop',
showBadge: this.appVersion.hasNew
})
- //#endif
+ //#endif
+ this.uniToken = uni.getStorageSync('uni_id_token')
+ console.log("uniToken: ",this.uniToken);
},
computed: {
...mapGetters({
@@ -218,7 +224,8 @@
/**
* 获取积分信息
*/
- getScore() {
+ async getScore() {
+ console.log("this.userInfo:------------- ",this.userInfo);
if (!this.userInfo) return uni.showToast({
title: this.$t('mine.checkScore'),
icon: 'none'
@@ -226,7 +233,7 @@
uni.showLoading({
mask: true
})
- db.collection("uni-id-scores")
+ return await db.collection("uni-id-scores")
.where('"user_id" == $env.uid')
.field('score,balance')
.orderBy("create_date", "desc")
@@ -240,9 +247,11 @@
uni.showToast({
title: msg,
icon: 'none'
- });
- }).finally(()=>{
- uni.hideLoading()
+ });
+ return data
+ }).finally((e)=>{
+ uni.hideLoading()
+ return e
})
},
async share() {
diff --git a/pages/ucenter/userinfo/bind-mobile/bind-mobile.test.js b/pages/ucenter/userinfo/bind-mobile/bind-mobile.test.js
new file mode 100644
index 0000000..09bd9cf
--- /dev/null
+++ b/pages/ucenter/userinfo/bind-mobile/bind-mobile.test.js
@@ -0,0 +1,60 @@
+// uniapp自动化测试教程: https://uniapp-test.dcloud.net.cn/docs/testcase/start
+
+describe('pages/ucenter/userinfo/bind-mobile/bind-mobile.vue', () => {
+ let page
+ beforeAll( async ()=>{
+ page = await program.redirectTo('/pages/ucenter/userinfo/bind-mobile/bind-mobile')
+ await page.waitFor(500)
+ })
+
+ it('修改绑定手机号',async()=>{
+ let phone = "17769516019"
+ await page.setData({
+ formData: {
+ "phone":phone
+ }
+ })
+ // console.log(await page.data("formData"));
+ expect(phone).toMatch(/^1\d{10}$/);
+
+ if (process.env.UNI_PLATFORM === "mp-weixin") {
+ const codeBtnMp = await page.$('uni-send-sms-code')
+ const sendMsgResMp = await codeBtnMp.callMethod('sendMsg')
+ await page.waitFor(300)
+ }else{
+ const codebtn = await page.$('.short-code-btn')
+ const sendMsgRes = await codebtn.callMethod('sendMsg')
+ await page.waitFor(300)
+ }
+
+ let code = "123456"
+ await page.setData({formData: {code}})
+ expect(code).toMatch(/^\d{6}$/);
+
+ const submitRes = await page.callMethod('submit')
+ await page.waitFor(300)
+ console.log("submitRes: ",submitRes);
+
+ if(submitRes){
+ switch (submitRes.code){
+ case 0:
+ expect(submitRes.msg).toBe("手机号码绑定成功")
+ await page.waitFor(300)
+ console.log(await program.currentPage());
+ expect((await program.currentPage()).path).toBe('/pages/ucenter/userinfo/userinfo')
+ break;
+ case 403:
+ expect(submitRes.msg).toBe("缺少token")
+ await page.waitFor(300)
+ await program.redirectTo('/pages/ucenter/login-page/pwd-login/pwd-login')
+ break;
+ case 60101:
+ expect(submitRes.msg).toBe("此手机号已绑定")
+ break;
+ default:
+ break;
+ }
+ }
+ })
+
+});
\ No newline at end of file
diff --git a/pages/ucenter/userinfo/bind-mobile/bind-mobile.vue b/pages/ucenter/userinfo/bind-mobile/bind-mobile.vue
index fc25519..fe7d2a6 100644
--- a/pages/ucenter/userinfo/bind-mobile/bind-mobile.vue
+++ b/pages/ucenter/userinfo/bind-mobile/bind-mobile.vue
@@ -3,13 +3,14 @@
-
+
-
+