test: Fix achievement integration test setup and system visibility (#42)
This commit is contained in:
@@ -18,7 +18,7 @@ impl Plugin for AchievementPlugin {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
fn check_achievements(
|
pub fn check_achievements(
|
||||||
tracker: Res<SessionTracker>,
|
tracker: Res<SessionTracker>,
|
||||||
mut progress: ResMut<AchievementProgress>,
|
mut progress: ResMut<AchievementProgress>,
|
||||||
mut notifications: ResMut<Notifications>,
|
mut notifications: ResMut<Notifications>,
|
||||||
|
|||||||
@@ -1,5 +1,6 @@
|
|||||||
use pomomon_garden::features::achievement::AchievementPlugin;
|
use pomomon_garden::features::achievement::AchievementPlugin;
|
||||||
use pomomon_garden::features::achievement::components::{AchievementId, AchievementProgress};
|
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::notification::components::Notifications;
|
||||||
use pomomon_garden::features::phase::components::SessionTracker;
|
use pomomon_garden::features::phase::components::SessionTracker;
|
||||||
use pomomon_garden::prelude::*;
|
use pomomon_garden::prelude::*;
|
||||||
@@ -9,8 +10,18 @@ use strum::IntoEnumIterator;
|
|||||||
fn test_achievement_unlock_logic() {
|
fn test_achievement_unlock_logic() {
|
||||||
let mut app = App::new();
|
let mut app = App::new();
|
||||||
app.add_plugins(MinimalPlugins);
|
app.add_plugins(MinimalPlugins);
|
||||||
|
app.add_plugins(bevy::state::app::StatesPlugin);
|
||||||
app.add_plugins(AchievementPlugin);
|
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
|
// Helper to run systems and get progress
|
||||||
let mut run_check = |completed_focus: u32, total_berries: u32, total_withered: u32| {
|
let mut run_check = |completed_focus: u32, total_berries: u32, total_withered: u32| {
|
||||||
|
|||||||
Reference in New Issue
Block a user