fix: refine mini program nickname collection flow
This commit is contained in:
@@ -2640,6 +2640,7 @@ mod tests {
|
||||
login_payload["bindingStatus"],
|
||||
Value::String("pending_bind_phone".to_string())
|
||||
);
|
||||
assert_eq!(login_payload["created"], Value::Bool(true));
|
||||
assert_eq!(
|
||||
login_payload["user"]["loginMethod"],
|
||||
Value::String("wechat".to_string())
|
||||
@@ -2746,6 +2747,7 @@ mod tests {
|
||||
login_payload["bindingStatus"],
|
||||
Value::String("pending_bind_phone".to_string())
|
||||
);
|
||||
assert_eq!(login_payload["created"], Value::Bool(true));
|
||||
|
||||
let bind_response = app
|
||||
.oneshot(
|
||||
@@ -4423,4 +4425,4 @@ mod tests {
|
||||
assert_eq!(response.status(), StatusCode::NOT_FOUND, "{path}");
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -349,6 +349,7 @@ pub async fn login_wechat_mini_program(
|
||||
token: signed_session.access_token,
|
||||
binding_status: result.user.binding_status.as_str().to_string(),
|
||||
user: map_auth_user_payload(result.user),
|
||||
created: result.created,
|
||||
},
|
||||
),
|
||||
))
|
||||
|
||||
@@ -253,6 +253,7 @@ pub struct WechatMiniProgramLoginResponse {
|
||||
pub token: String,
|
||||
pub binding_status: String,
|
||||
pub user: AuthUserPayload,
|
||||
pub created: bool,
|
||||
}
|
||||
|
||||
pub fn build_available_login_methods(
|
||||
@@ -389,4 +390,29 @@ mod tests {
|
||||
})
|
||||
);
|
||||
}
|
||||
|
||||
#[test]
|
||||
fn wechat_mini_program_login_response_marks_created_user() {
|
||||
let payload = serde_json::to_value(WechatMiniProgramLoginResponse {
|
||||
token: "token-001".to_string(),
|
||||
binding_status: AUTH_BINDING_STATUS_PENDING_BIND_PHONE.to_string(),
|
||||
user: AuthUserPayload {
|
||||
id: "user_001".to_string(),
|
||||
public_user_code: "SY-00000001".to_string(),
|
||||
display_name: "微信旅人".to_string(),
|
||||
avatar_url: None,
|
||||
phone_number: None,
|
||||
phone_number_masked: None,
|
||||
login_method: AUTH_LOGIN_METHOD_WECHAT.to_string(),
|
||||
binding_status: AUTH_BINDING_STATUS_PENDING_BIND_PHONE.to_string(),
|
||||
wechat_bound: true,
|
||||
wechat_display_name: None,
|
||||
wechat_account: Some("wx-openid-001".to_string()),
|
||||
},
|
||||
created: true,
|
||||
})
|
||||
.expect("payload should serialize");
|
||||
|
||||
assert_eq!(payload["created"], serde_json::Value::Bool(true));
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user