Implement Godot groups UI with browse, create, group page, and role management (task 909744ff1eee)
This commit is contained in:
@@ -0,0 +1,68 @@
|
||||
extends SceneTree
|
||||
## Headless smoke test for GroupsUI scene and script.
|
||||
|
||||
func _initialize() -> void:
|
||||
_run()
|
||||
|
||||
func _run() -> void:
|
||||
await process_frame
|
||||
|
||||
print("SMOKE: Starting Groups UI verification...")
|
||||
var scene_res := load("res://scenes/groups_ui.tscn")
|
||||
if scene_res == null:
|
||||
printerr("FAIL: Could not load res://scenes/groups_ui.tscn")
|
||||
quit(1)
|
||||
return
|
||||
|
||||
var ui: Control = scene_res.instantiate()
|
||||
if ui == null:
|
||||
printerr("FAIL: Could not instantiate GroupsUI")
|
||||
quit(1)
|
||||
return
|
||||
|
||||
root.add_child(ui)
|
||||
await process_frame
|
||||
|
||||
# Verify essential nodes
|
||||
if ui.groups_list_container == null or ui.members_list_container == null:
|
||||
printerr("FAIL: container nodes are null")
|
||||
quit(1)
|
||||
return
|
||||
|
||||
if ui.group_name_label == null or ui.member_count_label == null:
|
||||
printerr("FAIL: label 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 group card building
|
||||
ui._build_group_card(1, "Alpha Guild", "Top tier world creators", 5)
|
||||
if ui.groups_list_container.get_child_count() != 1:
|
||||
printerr("FAIL: Group card not added to groups_list_container")
|
||||
quit(1)
|
||||
return
|
||||
|
||||
print("PASS: Group card building verified.")
|
||||
|
||||
# Test members list population with owner management
|
||||
var mock_members := [
|
||||
{"user_id": 10, "role": "owner", "user": {"username": "OwnerUser"}},
|
||||
{"user_id": 20, "role": "admin", "user": {"username": "AdminUser"}},
|
||||
{"user_id": 30, "role": "member", "user": {"username": "NormalUser"}}
|
||||
]
|
||||
ui._populate_members_list(mock_members, true)
|
||||
if ui.members_list_container.get_child_count() != 3:
|
||||
printerr("FAIL: Member list count mismatch")
|
||||
quit(1)
|
||||
return
|
||||
|
||||
print("PASS: Group members list population with role management verified.")
|
||||
|
||||
ui.queue_free()
|
||||
print("SMOKE RESULT: PASS")
|
||||
quit(0)
|
||||
Reference in New Issue
Block a user