NEO-122: Shorten economy HUD paths and add quest HUD controller tests.
parent
eba0d09d70
commit
b3f9b22ef2
|
|
@ -140,13 +140,13 @@ var _dev_pulse_bootstrap_attempted: bool = false
|
|||
@onready var _telegraph_label: Label = _hud_root.get_node("TelegraphLabel")
|
||||
@onready var _cooldown_slots_label: Label = _hud_root.get_node("CooldownSlotsLabel")
|
||||
@onready var _economy_hud_section: VBoxContainer = $UICanvas/EconomyHudSection
|
||||
@onready var _inventory_label: Label = _economy_hud_section.get_node("BodyScroll/Body/InventoryLabel")
|
||||
@onready var _economy_body: Node = _economy_hud_section.get_node("BodyScroll/Body")
|
||||
@onready var _inventory_label: Label = _economy_body.get_node("InventoryLabel")
|
||||
@onready var _gather_feedback_label: Label = _hud_root.get_node("GatherFeedbackLabel")
|
||||
@onready var _craft_feedback_label: Label = _hud_root.get_node("CraftFeedbackLabel")
|
||||
@onready
|
||||
var _skill_progression_label: Label = _economy_hud_section.get_node("BodyScroll/Body/SkillProgressionLabel")
|
||||
@onready var _gig_xp_label: Label = _economy_hud_section.get_node("BodyScroll/Body/GigXpLabel")
|
||||
@onready var _craft_recipe_panel: Node = _economy_hud_section.get_node("BodyScroll/Body/CraftRecipePanel")
|
||||
@onready var _skill_progression_label: Label = _economy_body.get_node("SkillProgressionLabel")
|
||||
@onready var _gig_xp_label: Label = _economy_body.get_node("GigXpLabel")
|
||||
@onready var _craft_recipe_panel: Node = _economy_body.get_node("CraftRecipePanel")
|
||||
@onready var _inventory_client: Node = $InventoryClient
|
||||
@onready var _item_defs_client: Node = $ItemDefinitionsClient
|
||||
@onready var _skill_progression_client: Node = $SkillProgressionClient
|
||||
|
|
|
|||
|
|
@ -0,0 +1,58 @@
|
|||
extends GdUnitTestSuite
|
||||
|
||||
## NEO-122: quest HUD controller accept key + progress label render.
|
||||
|
||||
const QuestHudController := preload("res://scripts/quest_hud_controller.gd")
|
||||
const QuestProgressClient := preload("res://scripts/quest_progress_client.gd")
|
||||
const QuestDefinitionsClient := preload("res://scripts/quest_definitions_client.gd")
|
||||
|
||||
|
||||
func _build_controller() -> Node:
|
||||
var controller: Node = QuestHudController.new()
|
||||
var progress: Node = QuestProgressClient.new()
|
||||
var defs: Node = QuestDefinitionsClient.new()
|
||||
var progress_label := Label.new()
|
||||
var accept_label := Label.new()
|
||||
add_child(controller)
|
||||
add_child(progress)
|
||||
add_child(defs)
|
||||
controller.call(
|
||||
"setup",
|
||||
progress,
|
||||
defs,
|
||||
progress_label,
|
||||
accept_label,
|
||||
Callable(self, "_noop_http_config")
|
||||
)
|
||||
await get_tree().process_frame
|
||||
return controller
|
||||
|
||||
|
||||
func _noop_http_config(_client: Node) -> void:
|
||||
pass
|
||||
|
||||
|
||||
func test_try_accept_key_input_handles_q_key() -> void:
|
||||
# Arrange
|
||||
var controller := await _build_controller()
|
||||
var event := InputEventKey.new()
|
||||
event.pressed = true
|
||||
event.keycode = KEY_Q
|
||||
# Act
|
||||
var handled: bool = bool(controller.call("try_accept_key_input", event))
|
||||
# Assert
|
||||
assert_bool(handled).is_true()
|
||||
|
||||
|
||||
func test_progress_label_shows_loading_before_snapshot() -> void:
|
||||
# Arrange
|
||||
var controller: Node = QuestHudController.new()
|
||||
var progress_label := Label.new()
|
||||
add_child(controller)
|
||||
controller.call("setup", QuestProgressClient.new(), QuestDefinitionsClient.new(), progress_label, Label.new(), Callable())
|
||||
await get_tree().process_frame
|
||||
# Act
|
||||
var text: String = progress_label.text
|
||||
# Assert
|
||||
assert_str(text).contains("Quests:")
|
||||
assert_str(text).contains("Loading")
|
||||
|
|
@ -0,0 +1 @@
|
|||
uid://c8k3m2questhudtest01
|
||||
Loading…
Reference in New Issue