Every popup is now called *Popup instead of *Window in its file, root node, node name, class and variable, and PopupWindow becomes BasePopup. Player is PlayerRow, SongListObject is SongRow and Character is CharacterCard. Script files are snake_case and scene files PascalCase, each matching its class or root node, and LightGrayTheme.tres is light_gray_theme.tres.
66 lines
1.6 KiB
GDScript
66 lines
1.6 KiB
GDScript
extends MainWindowTestSuite
|
|
## Winning turns statistics off until a new game starts.
|
|
|
|
var _crono: PlayerObject
|
|
|
|
|
|
func before_test() -> void:
|
|
super()
|
|
_crono = _add_player("Crono")
|
|
await _play_first_song()
|
|
Settings.winning_score = 1
|
|
|
|
|
|
func _stats_checkbox() -> CheckButton:
|
|
return _quiz.get_node("SettingsPopup").get_node("%AddToDatabaseCheckButton")
|
|
|
|
|
|
func test_winning_turns_statistics_off() -> void:
|
|
await _give_point_with_keybind(1)
|
|
|
|
assert_bool(Settings.add_to_stats).is_false()
|
|
|
|
|
|
func test_resetting_points_turns_statistics_back_on() -> void:
|
|
await _give_point_with_keybind(1)
|
|
|
|
_press("QuizToolbar/ResetPointsButton")
|
|
|
|
assert_bool(Settings.add_to_stats).is_true()
|
|
|
|
|
|
func test_statistics_turned_off_by_hand_stay_off_after_reset() -> void:
|
|
Settings.add_to_stats = false
|
|
await _give_point_with_keybind(1)
|
|
|
|
_press("QuizToolbar/ResetPointsButton")
|
|
|
|
assert_bool(Settings.add_to_stats).is_false()
|
|
|
|
|
|
func test_settings_checkbox_shows_statistics_off_after_win() -> void:
|
|
await _give_point_with_keybind(1)
|
|
|
|
_press("QuizToolbar/SettingsButton")
|
|
|
|
assert_bool(_stats_checkbox().button_pressed).is_false()
|
|
|
|
|
|
func test_songs_after_a_win_are_not_counted() -> void:
|
|
await _give_point_with_keybind(1)
|
|
var played_before: int = _server.count("/music/played?song=0")
|
|
|
|
_press("SongControls/ShowAnswerButton")
|
|
|
|
assert_int(_server.count("/music/played?song=0")).is_equal(played_before)
|
|
|
|
|
|
func test_winning_score_cannot_go_below_one() -> void:
|
|
_press("QuizToolbar/SettingsButton")
|
|
var lower_button: Button = _quiz.get_node("SettingsPopup").get_node("%LowerButton")
|
|
|
|
for i: int in 3:
|
|
lower_button.pressed.emit()
|
|
|
|
assert_int(Settings.winning_score).is_equal(1)
|