mirror of
https://github.com/deunix-educ/aventuriers-des-mots.git
synced 2026-10-13 02:11:58 +02:00
Add several boards per level, CM1/CM2 levels and the CE1 'plage des sons' pilot board (0.6.0)
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
This commit is contained in:
@@ -70,3 +70,19 @@ func test_profile_deletion_belongs_to_the_adult_space() -> void:
|
||||
assert_true(ProfileManager.list_profiles().has(other_id), "les autres profils sont intacts")
|
||||
|
||||
ProfileManager.delete_profile(other_id)
|
||||
|
||||
|
||||
func test_profile_creation_offers_only_levels_that_have_content() -> void:
|
||||
var scene: Control = add_child_autofree(
|
||||
load("res://scenes/profiles/profile_create.tscn").instantiate()
|
||||
)
|
||||
await wait_process_frames(1)
|
||||
var offered: Array[String] = []
|
||||
for button in scene.get_node("%LevelBox").get_children():
|
||||
offered.append(button.get_meta("level"))
|
||||
var expected: Array[String] = []
|
||||
for level in SchoolLevels.ALL:
|
||||
if not ExerciseEngine.get_regions_for_level(level).is_empty():
|
||||
expected.append(level)
|
||||
assert_eq(offered, expected)
|
||||
assert_true(offered.has("CE1") and offered.has("CE2"))
|
||||
|
||||
@@ -24,6 +24,7 @@ func test_ce1_profile_sees_only_ce1_missions_and_no_toggle() -> void:
|
||||
|
||||
assert_eq(map.get_node("%MapArea").get_child_count(), 9)
|
||||
assert_false(map.get_node("%LevelToggleButton").visible)
|
||||
GameManager.map_region_id = ""
|
||||
|
||||
|
||||
func test_ce2_profile_sees_ce2_missions_and_can_review_ce1() -> void:
|
||||
@@ -31,20 +32,40 @@ func test_ce2_profile_sees_ce2_missions_and_can_review_ce1() -> void:
|
||||
await wait_process_frames(1)
|
||||
|
||||
assert_eq(map.get_node("%MapArea").get_child_count(), 12)
|
||||
assert_eq(map.get_node("%TitleLabel").text, UIText.get_text("world_map.title_ce2"))
|
||||
assert_eq(map.get_node("%TitleLabel").text, "Le marais des homophones")
|
||||
var toggle: Button = map.get_node("%LevelToggleButton")
|
||||
assert_true(toggle.visible)
|
||||
|
||||
toggle.pressed.emit()
|
||||
await wait_process_frames(1)
|
||||
assert_eq(map.get_node("%MapArea").get_child_count(), 9)
|
||||
assert_eq(map.get_node("%TitleLabel").text, UIText.get_text("world_map.title"))
|
||||
assert_eq(map.get_node("%TitleLabel").text, "La forêt des accords")
|
||||
assert_eq(toggle.text, "Retour au CE2")
|
||||
|
||||
toggle.pressed.emit()
|
||||
await wait_process_frames(1)
|
||||
assert_eq(map.get_node("%MapArea").get_child_count(), 12)
|
||||
|
||||
|
||||
func test_ce1_profile_can_move_between_its_regions() -> void:
|
||||
var map := _open_map_for("CE1")
|
||||
await wait_process_frames(1)
|
||||
assert_eq(map.get_node("%TitleLabel").text, "La forêt des accords")
|
||||
var button: Button = map.get_node("%RegionButton")
|
||||
assert_true(button.visible)
|
||||
assert_eq(map.get_node("%MapArea").get_child_count(), 9)
|
||||
|
||||
button.pressed.emit()
|
||||
await wait_process_frames(1)
|
||||
assert_eq(map.get_node("%TitleLabel").text, "La plage des sons")
|
||||
assert_eq(map.get_node("%MapArea").get_child_count(), 9)
|
||||
|
||||
button.pressed.emit()
|
||||
await wait_process_frames(1)
|
||||
assert_eq(map.get_node("%TitleLabel").text, "La forêt des accords")
|
||||
GameManager.map_region_id = ""
|
||||
|
||||
|
||||
func test_map_offers_a_way_back_to_the_profile_selection() -> void:
|
||||
var map := _open_map_for("CE1")
|
||||
await wait_process_frames(1)
|
||||
|
||||
Reference in New Issue
Block a user