Skip to content

Comments

[feature] Split synchronization view into subviews#190

Merged
paul-fresquet merged 8 commits intorefactor/refactor-synchronization-main-viewfrom
codex/refactor-synchronizationmainview-into-subviews
Aug 23, 2025
Merged

[feature] Split synchronization view into subviews#190
paul-fresquet merged 8 commits intorefactor/refactor-synchronization-main-viewfrom
codex/refactor-synchronizationmainview-into-subviews

Conversation

@paul-fresquet
Copy link
Contributor

Summary

  • modularize synchronization view into before-start, main status, and statistics subviews
  • add corresponding view models and wire them into main view model
  • introduce unit tests for new synchronization view models

Testing

  • dotnet build --verbosity quiet /property:WarningLevel=0
  • dotnet test (fails: The configuration file 'server-common-tests.local.settings.json' was not found and is not optional)

https://chatgpt.com/codex/tasks/task_e_68a97fc9f4d88333bf4930280175787c

@sonarqubecloud
Copy link

@paul-fresquet paul-fresquet requested a review from Copilot August 23, 2025 20:22
Copy link
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull Request Overview

This PR modularizes the synchronization view by splitting the monolithic SynchronizationMainViewModel into three specialized subcomponents: before-start, main status, and statistics. This refactoring improves separation of concerns and testability while maintaining the same functionality.

  • Extracted synchronization logic into three focused view models with corresponding views
  • Introduced comprehensive unit tests for the new view models
  • Updated test infrastructure to force English culture for consistent test execution

Reviewed Changes

Copilot reviewed 17 out of 17 changed files in this pull request and generated 2 comments.

Show a summary per file
File Description
SynchronizationMainViewModel.cs Refactored to compose three specialized subview models instead of handling all logic directly
SynchronizationBeforeStartViewModel.cs New view model handling pre-synchronization start logic and UI state
SynchronizationMainStatusViewModel.cs New view model managing synchronization status display and abort functionality
SynchronizationStatisticsViewModel.cs New view model tracking synchronization progress statistics and timing
View files New AXAML views and code-behind for the three subcomponents
Test files Comprehensive unit tests covering the new view models with proper mocking and assertions
AbstractTester.cs Added culture forcing to ensure consistent test execution across environments
AGENTS.md Updated testing guidelines and coverage requirements

Tip: Customize your code reviews with copilot-instructions.md. Create the file or learn how to get started.

@paul-fresquet paul-fresquet merged commit d5355d6 into refactor/refactor-synchronization-main-view Aug 23, 2025
21 checks passed
@paul-fresquet paul-fresquet deleted the codex/refactor-synchronizationmainview-into-subviews branch August 23, 2025 20:28
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant