test: Fix achievement integration test setup and system visibility (#42)

This commit is contained in:
demenik
2025-12-11 18:47:42 +01:00
parent 18b179bc42
commit aa70598316
2 changed files with 13 additions and 2 deletions

View File

@@ -1,5 +1,6 @@
use pomomon_garden::features::achievement::AchievementPlugin;
use pomomon_garden::features::achievement::components::{AchievementId, AchievementProgress};
use pomomon_garden::features::core::states::AppState;
use pomomon_garden::features::notification::components::Notifications;
use pomomon_garden::features::phase::components::SessionTracker;
use pomomon_garden::prelude::*;
@@ -9,8 +10,18 @@ use strum::IntoEnumIterator;
fn test_achievement_unlock_logic() {
let mut app = App::new();
app.add_plugins(MinimalPlugins);
app.add_plugins(bevy::state::app::StatesPlugin);
app.add_plugins(AchievementPlugin);
app.insert_resource(Notifications::default()); // Needs to be present because check_achievements uses it
app.init_state::<AppState>();
app.insert_resource(Notifications::default());
app.insert_resource(SessionTracker::default());
{
let mut next_state = app.world_mut().resource_mut::<NextState<AppState>>();
next_state.set(AppState::GameScreen);
}
app.update();
// Helper to run systems and get progress
let mut run_check = |completed_focus: u32, total_berries: u32, total_withered: u32| {