Skip to content

Commit da5370b

Browse files
unhappychoiceclaude
andcommitted
test: add snapshot tests for CLI screens and update imports
- Add snapshot tests for RepoListScreen, RepoPlayScreen - Add snapshot tests for TrendingLanguageSelectionScreen, TrendingRepositorySelectionScreen - Add mock data providers for CLI screens - Update all test imports from presentation::game to presentation::tui - Add Ctrl+C handling tests for CLI screens - Fix array underflow bugs found during testing 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <noreply@anthropic.com>
1 parent ec8fa8c commit da5370b

File tree

49 files changed

+536
-37
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

49 files changed

+536
-37
lines changed

tests/integration/mod.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@ use gittype::domain::services::source_code_parser::parsers::parse_with_thread_lo
1212
use gittype::domain::services::source_code_parser::ChunkExtractor;
1313
use gittype::domain::services::source_code_parser::SourceCodeParser;
1414
use gittype::domain::services::source_file_extractor::SourceFileExtractor;
15-
use gittype::presentation::game::screens::loading_screen::NoOpProgressReporter;
15+
use gittype::presentation::tui::screens::loading_screen::NoOpProgressReporter;
1616
use gittype::GitTypeError;
1717
use gittype::Result;
1818
use ignore::WalkBuilder;

tests/integration/screens/analytics_screen_test.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@ use crate::integration::screens::mocks::analytics_screen_mock::MockAnalyticsData
22
use crossterm::event::{KeyCode, KeyEvent, KeyModifiers};
33
use gittype::domain::events::EventBus;
44
use gittype::presentation::game::events::NavigateTo;
5-
use gittype::presentation::game::screens::analytics_screen::AnalyticsScreen;
5+
use gittype::presentation::tui::screens::analytics_screen::AnalyticsScreen;
66

77
screen_snapshot_test!(
88
test_analytics_screen_snapshot_overview,

tests/integration/screens/animation_screen_test.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@ use crate::integration::screens::mocks::animation_screen_mock::MockAnimationData
22
use crossterm::event::{KeyCode, KeyModifiers};
33
use gittype::domain::events::EventBus;
44
use gittype::presentation::game::events::NavigateTo;
5-
use gittype::presentation::game::screens::animation_screen::AnimationScreen;
5+
use gittype::presentation::tui::screens::animation_screen::AnimationScreen;
66

77
screen_snapshot_test!(
88
test_animation_screen_snapshot_with_session_result,

tests/integration/screens/help_screen_test.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
use crossterm::event::{KeyCode, KeyEvent, KeyModifiers};
22
use gittype::domain::events::EventBus;
33
use gittype::presentation::game::events::NavigateTo;
4-
use gittype::presentation::game::screens::help_screen::HelpScreen;
4+
use gittype::presentation::tui::screens::help_screen::HelpScreen;
55

66
screen_snapshot_test!(
77
test_help_screen_snapshot_cli,

tests/integration/screens/info_dialog_test.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@ use crate::integration::screens::helpers::EmptyMockProvider;
22
use crossterm::event::{KeyCode, KeyModifiers};
33
use gittype::domain::events::EventBus;
44
use gittype::presentation::game::events::NavigateTo;
5-
use gittype::presentation::game::screens::info_dialog::InfoDialogScreen;
5+
use gittype::presentation::tui::screens::info_dialog::InfoDialogScreen;
66

77
screen_snapshot_test!(
88
test_info_dialog_snapshot_default,

tests/integration/screens/loading_screen_test.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@ use gittype::domain::events::EventBus;
33
use gittype::infrastructure::browser;
44
use gittype::presentation::game::events::ExitRequested;
55
use gittype::presentation::game::game_data::GameData;
6-
use gittype::presentation::game::screens::loading_screen::LoadingScreen;
6+
use gittype::presentation::tui::screens::loading_screen::LoadingScreen;
77
use gittype::presentation::game::{Screen, ScreenType};
88
use std::sync::{Arc, Mutex};
99

tests/integration/screens/mocks/analytics_screen_mock.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
use gittype::presentation::game::models::ScreenDataProvider;
2-
use gittype::presentation::game::screens::analytics_screen::{AnalyticsData, LangStats, RepoStats};
2+
use gittype::presentation::tui::screens::analytics_screen::{AnalyticsData, LangStats, RepoStats};
33
use gittype::Result;
44
use std::collections::HashMap;
55

tests/integration/screens/mocks/animation_screen_mock.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
use gittype::domain::models::SessionResult;
22
use gittype::presentation::game::models::ScreenDataProvider;
3-
use gittype::presentation::game::screens::animation_screen::AnimationData;
3+
use gittype::presentation::tui::screens::animation_screen::AnimationData;
44
use gittype::Result;
55
use std::time::{Duration, Instant};
66

tests/integration/screens/mocks/mod.rs

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,8 @@
11
pub mod analytics_screen_mock;
22
pub mod animation_screen_mock;
33
pub mod records_screen_mock;
4+
pub mod repo_list_screen_mock;
5+
pub mod repo_play_screen_mock;
46
pub mod session_details_dialog_mock;
57
pub mod session_failure_screen_mock;
68
pub mod session_repository_mock;
@@ -11,3 +13,4 @@ pub mod stage_summary_screen_mock;
1113
pub mod title_screen_mock;
1214
pub mod total_summary_screen_mock;
1315
pub mod total_summary_share_screen_mock;
16+
pub mod trending_repository_selection_screen_mock;

tests/integration/screens/mocks/records_screen_mock.rs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,8 @@
11
use chrono::{TimeZone, Utc};
22
use gittype::domain::models::storage::{SessionResultData, StoredRepository, StoredSession};
33
use gittype::presentation::game::models::ScreenDataProvider;
4-
use gittype::presentation::game::screens::records_screen::RecordsScreenData;
5-
use gittype::presentation::game::screens::session_detail_screen::SessionDisplayData;
4+
use gittype::presentation::tui::screens::records_screen::RecordsScreenData;
5+
use gittype::presentation::tui::screens::session_detail_screen::SessionDisplayData;
66
use gittype::Result;
77

88
pub struct MockRecordsDataProvider;

0 commit comments

Comments
 (0)