feat(M08-C): 补会员检索与员工概况
This commit is contained in:
@@ -7,6 +7,7 @@ const read = (path) => readFileSync(join(root, path), 'utf8');
|
||||
|
||||
const appJson = JSON.parse(read('miniapp/app.json'));
|
||||
assert.ok(appJson.pages.includes('pages/manager/dashboard'));
|
||||
assert.ok(appJson.pages.includes('pages/manager/people'));
|
||||
assert.ok(appJson.pages.includes('pages/manager/order-create'));
|
||||
|
||||
const index = read('miniapp/pages/index/index.js') + read('miniapp/pages/index/index.wxml');
|
||||
@@ -36,6 +37,8 @@ for (const pattern of [
|
||||
"method: 'PATCH'",
|
||||
'store.operation.write',
|
||||
'tenant.manage',
|
||||
'canReadUsers',
|
||||
'openPeople',
|
||||
'changeRoomStatus',
|
||||
'toggleRoomConfiguration',
|
||||
'activeOrders',
|
||||
@@ -55,11 +58,13 @@ const orderCreate = read('miniapp/pages/manager/order-create.js')
|
||||
+ read('miniapp/pages/manager/order-create.wxml');
|
||||
for (const pattern of [
|
||||
'/management/stores/${encodeURIComponent(this.data.storeId)}/rooms',
|
||||
'/management/members?page=1&pageSize=20&status=ACTIVE',
|
||||
'/management/orders/reserve-on-behalf',
|
||||
'startAt.toISOString()',
|
||||
'endAt.toISOString()',
|
||||
'pricingMode',
|
||||
'会员用户 ID',
|
||||
'selectMember',
|
||||
'授权范围内选择会员',
|
||||
'价格由服务端'
|
||||
]) {
|
||||
assert.match(orderCreate, new RegExp(pattern.replace(/[.*+?^${}()|[\]\\]/g, '\\$&')));
|
||||
@@ -78,6 +83,42 @@ for (const pattern of [
|
||||
assert.match(orderRoutes, new RegExp(pattern.replace(/[.*+?^${}()|[\]\\]/g, '\\$&')));
|
||||
}
|
||||
|
||||
const people = read('miniapp/pages/manager/people.js')
|
||||
+ read('miniapp/pages/manager/people.wxml');
|
||||
for (const pattern of [
|
||||
'/management/members?page=1&pageSize=50',
|
||||
'/management/members/${encodeURIComponent(memberId)}',
|
||||
'/management/staff?page=1&pageSize=50',
|
||||
'selectedMember',
|
||||
'maskedLastIp',
|
||||
'会员与员工',
|
||||
'最近余额流水'
|
||||
]) {
|
||||
assert.match(people, new RegExp(pattern.replace(/[.*+?^${}()|[\]\\]/g, '\\$&')));
|
||||
}
|
||||
|
||||
const peopleRoutes = read('backend/src/routes/members.ts')
|
||||
+ read('backend/src/routes/user-management.ts')
|
||||
+ read('backend/src/auth/user-management-repository.ts')
|
||||
+ read('backend/src/wallets/member-profile-service.ts');
|
||||
for (const pattern of [
|
||||
'/app-api/management/members',
|
||||
'/app-api/management/members/:id',
|
||||
'/app-api/management/staff',
|
||||
"userType: 'STAFF'",
|
||||
'qipai_order_user_access oa',
|
||||
"oa.access_type = 'OWNER'",
|
||||
'mo.store_id IN'
|
||||
]) {
|
||||
assert.match(peopleRoutes, new RegExp(pattern.replace(/[.*+?^${}()|[\]\\]/g, '\\$&')));
|
||||
}
|
||||
|
||||
const mysqlPaginationRepositories = peopleRoutes
|
||||
+ read('backend/src/orders/order-query-repository.ts')
|
||||
+ read('backend/src/cleaning/cleaning-task-repository.ts');
|
||||
assert.doesNotMatch(mysqlPaginationRepositories, /LIMIT \? OFFSET \?/);
|
||||
assert.match(mysqlPaginationRepositories, /Math\.trunc/);
|
||||
|
||||
const routes = read('backend/src/routes/store-room-management.ts');
|
||||
for (const pattern of [
|
||||
'/app-api/management/stores',
|
||||
|
||||
Reference in New Issue
Block a user