Implement Godot profile page UI with bio editing, privacy controls, favorites, and friends (task 121de83d3be8)
This commit is contained in:
@@ -0,0 +1,80 @@
|
||||
extends SceneTree
|
||||
## Headless smoke test for ProfileUI scene and script.
|
||||
|
||||
func _initialize() -> void:
|
||||
_run()
|
||||
|
||||
func _run() -> void:
|
||||
await process_frame
|
||||
|
||||
print("SMOKE: Starting Profile UI verification...")
|
||||
var scene_res := load("res://scenes/profile_ui.tscn")
|
||||
if scene_res == null:
|
||||
printerr("FAIL: Could not load res://scenes/profile_ui.tscn")
|
||||
quit(1)
|
||||
return
|
||||
|
||||
var ui: Control = scene_res.instantiate()
|
||||
if ui == null:
|
||||
printerr("FAIL: Could not instantiate ProfileUI")
|
||||
quit(1)
|
||||
return
|
||||
|
||||
root.add_child(ui)
|
||||
await process_frame
|
||||
|
||||
# Verify essential nodes
|
||||
if ui.username_label == null or ui.bio_edit == null:
|
||||
printerr("FAIL: username_label or bio_edit is null")
|
||||
quit(1)
|
||||
return
|
||||
|
||||
if ui.privacy_vbox == null or ui.favorites_container == null or ui.friends_container == null:
|
||||
printerr("FAIL: container nodes are null")
|
||||
quit(1)
|
||||
return
|
||||
|
||||
# Verify signal declaration
|
||||
if not ui.has_signal("back_requested"):
|
||||
printerr("FAIL: back_requested signal missing")
|
||||
quit(1)
|
||||
return
|
||||
|
||||
# Test card population
|
||||
ui._populate_card(99, "TestExplorer", "Just another world builder", 12)
|
||||
if ui.username_label.text != "TestExplorer" or ui.bio_edit.text != "Just another world builder":
|
||||
printerr("FAIL: Card population failed")
|
||||
quit(1)
|
||||
return
|
||||
|
||||
print("PASS: Profile card population verified.")
|
||||
|
||||
# Test favorites population
|
||||
var mock_favs := [
|
||||
{"id": 1, "name": "Sunset Plains"},
|
||||
{"id": 2, "name": "Neon City Rooftops"}
|
||||
]
|
||||
ui._populate_favorites(mock_favs)
|
||||
if ui.favorites_container.get_child_count() != 2:
|
||||
printerr("FAIL: Favorites count mismatch")
|
||||
quit(1)
|
||||
return
|
||||
|
||||
print("PASS: Favorites list population verified.")
|
||||
|
||||
# Test friends population
|
||||
var mock_friends := [
|
||||
{"id": 10, "username": "Alice"},
|
||||
{"id": 20, "username": "Bob"}
|
||||
]
|
||||
ui._populate_friends(mock_friends)
|
||||
if ui.friends_container.get_child_count() != 2:
|
||||
printerr("FAIL: Friends list count mismatch")
|
||||
quit(1)
|
||||
return
|
||||
|
||||
print("PASS: Friends list population verified.")
|
||||
|
||||
ui.queue_free()
|
||||
print("SMOKE RESULT: PASS")
|
||||
quit(0)
|
||||
Reference in New Issue
Block a user