feat: simplify account create/edit and add row copy
All checks were successful
技能自动化发布 / release (push) Successful in 8s
All checks were successful
技能自动化发布 / release (push) Successful in 8s
Data-management add/edit now use short forms with enums; copy clones a platform account into a new empty profile. Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
@@ -182,6 +182,62 @@ def test_profile_dir_not_editable(metadata_db):
|
||||
assert int(cur.fetchone()[0]) == 0
|
||||
|
||||
|
||||
def test_account_edit_form_columns_and_enums(metadata_db):
|
||||
import json
|
||||
|
||||
cur = metadata_db.cursor()
|
||||
expected_editable = {
|
||||
"account_label",
|
||||
"login_id",
|
||||
"login_id_type",
|
||||
"url",
|
||||
"status",
|
||||
}
|
||||
readonly_runtime = {
|
||||
"platform_key",
|
||||
"tenant_id",
|
||||
"environment",
|
||||
"role",
|
||||
"provider_code",
|
||||
"session_status",
|
||||
"auth_strategy",
|
||||
"session_persistent",
|
||||
"device_fingerprint",
|
||||
}
|
||||
for column_name in expected_editable:
|
||||
cur.execute(
|
||||
"""
|
||||
SELECT editable FROM _jiangchang_columns
|
||||
WHERE table_name = ? AND column_name = ?
|
||||
""",
|
||||
(ACCOUNTS_TABLE, column_name),
|
||||
)
|
||||
assert int(cur.fetchone()[0]) == 1, column_name
|
||||
for column_name in readonly_runtime:
|
||||
cur.execute(
|
||||
"""
|
||||
SELECT editable FROM _jiangchang_columns
|
||||
WHERE table_name = ? AND column_name = ?
|
||||
""",
|
||||
(ACCOUNTS_TABLE, column_name),
|
||||
)
|
||||
assert int(cur.fetchone()[0]) == 0, column_name
|
||||
|
||||
cur.execute(
|
||||
"""
|
||||
SELECT options_json FROM _jiangchang_columns
|
||||
WHERE table_name = ? AND column_name = 'status'
|
||||
""",
|
||||
(ACCOUNTS_TABLE,),
|
||||
)
|
||||
options = json.loads(cur.fetchone()[0])
|
||||
values = {item["value"] for item in options}
|
||||
labels = {item["label"] for item in options}
|
||||
assert values == {"active", "disabled", "needs_review"}
|
||||
assert "启用" in labels
|
||||
assert "停用" in labels
|
||||
|
||||
|
||||
def test_timestamp_columns_use_datetime_display_type(metadata_db):
|
||||
cur = metadata_db.cursor()
|
||||
for table_name in USER_BUSINESS_TABLES:
|
||||
|
||||
Reference in New Issue
Block a user