refactor(configmanager): rename UI project and split test projects

Rename ConfigManager to ConfigManager.Ui to match the Core/CLI/UI project
structure, and split the monolithic test project into Core.Tests,
Cli.Tests, and Ui.Tests to align with the source project organization.
This commit is contained in:
Joseph Doherty
2026-01-28 10:24:36 -05:00
parent 7c4781dfe3
commit 1fc7792cd1
131 changed files with 267 additions and 212 deletions
@@ -0,0 +1,22 @@
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
<TargetFramework>net10.0</TargetFramework>
<ImplicitUsings>enable</ImplicitUsings>
<Nullable>enable</Nullable>
<IsPackable>false</IsPackable>
<IsTestProject>true</IsTestProject>
</PropertyGroup>
<ItemGroup>
<ProjectReference Include="..\..\..\src\Utils\JdeScoping.ConfigManager.Cli\JdeScoping.ConfigManager.Cli.csproj" />
<ProjectReference Include="..\..\..\src\Utils\JdeScoping.ConfigManager.Core\JdeScoping.ConfigManager.Core.csproj" />
</ItemGroup>
<ItemGroup>
<PackageReference Include="Microsoft.NET.Test.Sdk" Version="17.12.0" />
<PackageReference Include="NSubstitute" Version="5.3.0" />
<PackageReference Include="Shouldly" Version="4.2.1" />
<PackageReference Include="xunit" Version="2.9.3" />
<PackageReference Include="xunit.runner.visualstudio" Version="3.0.1" />
</ItemGroup>
</Project>
@@ -0,0 +1,3 @@
global using Xunit;
global using Shouldly;
global using NSubstitute;
@@ -0,0 +1,21 @@
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
<TargetFramework>net10.0</TargetFramework>
<ImplicitUsings>enable</ImplicitUsings>
<Nullable>enable</Nullable>
<IsPackable>false</IsPackable>
<IsTestProject>true</IsTestProject>
</PropertyGroup>
<ItemGroup>
<ProjectReference Include="..\..\..\src\Utils\JdeScoping.ConfigManager.Core\JdeScoping.ConfigManager.Core.csproj" />
</ItemGroup>
<ItemGroup>
<PackageReference Include="Microsoft.NET.Test.Sdk" Version="17.12.0" />
<PackageReference Include="NSubstitute" Version="5.3.0" />
<PackageReference Include="Shouldly" Version="4.2.1" />
<PackageReference Include="xunit" Version="2.9.3" />
<PackageReference Include="xunit.runner.visualstudio" Version="3.0.1" />
</ItemGroup>
</Project>
@@ -1,6 +1,6 @@
using JdeScoping.ConfigManager.Core.Models;
namespace JdeScoping.ConfigManager.Tests.Models;
namespace JdeScoping.ConfigManager.Core.Tests.Models;
public class ConnectionStringEntryTests
{
@@ -3,7 +3,7 @@ using JdeScoping.ConfigManager.Core.Models;
using Shouldly;
using Xunit;
namespace JdeScoping.ConfigManager.Tests.Models;
namespace JdeScoping.ConfigManager.Core.Tests.Models;
public class ConnectionStringsSectionConverterTests
{
@@ -1,6 +1,6 @@
using JdeScoping.ConfigManager.Core.Services;
namespace JdeScoping.ConfigManager.Tests.Services;
namespace JdeScoping.ConfigManager.Core.Tests.Services;
public class AutoDiscoveryServiceTests : IDisposable
{
@@ -1,6 +1,6 @@
using JdeScoping.ConfigManager.Core.Services;
namespace JdeScoping.ConfigManager.Tests.Services;
namespace JdeScoping.ConfigManager.Core.Tests.Services;
public class BackupServiceTests
{
@@ -2,7 +2,7 @@ using JdeScoping.ConfigManager.Core.Models;
using JdeScoping.ConfigManager.Core.Services;
using JdeScoping.DataSync.Configuration;
namespace JdeScoping.ConfigManager.Tests.Services;
namespace JdeScoping.ConfigManager.Core.Tests.Services;
public class ConfigFileServiceTests
{
@@ -1,7 +1,7 @@
using JdeScoping.ConfigManager.Core.Models;
using JdeScoping.ConfigManager.Core.Services;
namespace JdeScoping.ConfigManager.Tests.Services;
namespace JdeScoping.ConfigManager.Core.Tests.Services;
public class ConnectionTestServiceTests
{
@@ -1,6 +1,6 @@
using JdeScoping.ConfigManager.Core.Services;
namespace JdeScoping.ConfigManager.Tests.Services;
namespace JdeScoping.ConfigManager.Core.Tests.Services;
public class DiffServiceTests
{
@@ -1,6 +1,6 @@
using JdeScoping.ConfigManager.Core.Services;
namespace JdeScoping.ConfigManager.Tests.Services;
namespace JdeScoping.ConfigManager.Core.Tests.Services;
public class FileSystemTests
{
@@ -1,7 +1,7 @@
using JdeScoping.ConfigManager.Core.Services;
using JdeScoping.ConfigManager.Core.Services.SecureStore;
namespace JdeScoping.ConfigManager.Tests.Services;
namespace JdeScoping.ConfigManager.Core.Tests.Services;
public class RuntimeConfigValidationServiceTests : IDisposable
{
@@ -1,7 +1,7 @@
using System.IO;
using JdeScoping.ConfigManager.Core.Services.SecureStore;
namespace JdeScoping.ConfigManager.Tests.Services.SecureStore;
namespace JdeScoping.ConfigManager.Core.Tests.Services.SecureStore;
public class SecureStoreManagerTests : IDisposable
{
@@ -2,7 +2,7 @@ using JdeScoping.ConfigManager.Core.Models;
using JdeScoping.ConfigManager.Core.Services;
using JdeScoping.DataSync.Configuration;
namespace JdeScoping.ConfigManager.Tests.Services;
namespace JdeScoping.ConfigManager.Core.Tests.Services;
public class ValidationServiceTests
{
@@ -0,0 +1,3 @@
global using Xunit;
global using Shouldly;
global using NSubstitute;
@@ -8,8 +8,8 @@
</PropertyGroup>
<ItemGroup>
<ProjectReference Include="..\..\src\Utils\JdeScoping.ConfigManager.Core\JdeScoping.ConfigManager.Core.csproj" />
<ProjectReference Include="..\..\src\Utils\JdeScoping.ConfigManager\JdeScoping.ConfigManager.csproj" />
<ProjectReference Include="..\..\..\src\Utils\JdeScoping.ConfigManager.Ui\JdeScoping.ConfigManager.Ui.csproj" />
<ProjectReference Include="..\..\..\src\Utils\JdeScoping.ConfigManager.Core\JdeScoping.ConfigManager.Core.csproj" />
</ItemGroup>
<ItemGroup>
@@ -1,10 +1,10 @@
using Avalonia;
using Avalonia.Headless;
using JdeScoping.ConfigManager;
using JdeScoping.ConfigManager.Ui;
[assembly: AvaloniaTestApplication(typeof(JdeScoping.ConfigManager.Tests.TestAppBuilder))]
[assembly: AvaloniaTestApplication(typeof(JdeScoping.ConfigManager.Ui.Tests.TestAppBuilder))]
namespace JdeScoping.ConfigManager.Tests;
namespace JdeScoping.ConfigManager.Ui.Tests;
/// <summary>
/// Provides a headless Avalonia application builder for UI tests.
@@ -1,7 +1,7 @@
using JdeScoping.ConfigManager.Core.Services;
using JdeScoping.ConfigManager.ViewModels.Dialogs;
using JdeScoping.ConfigManager.Ui.ViewModels.Dialogs;
namespace JdeScoping.ConfigManager.Tests.ViewModels.Dialogs;
namespace JdeScoping.ConfigManager.Ui.Tests.ViewModels.Dialogs;
public class DiffPreviewDialogViewModelTests
{
@@ -1,7 +1,7 @@
using JdeScoping.ConfigManager.Core.Constants;
using JdeScoping.ConfigManager.ViewModels.Dialogs;
using JdeScoping.ConfigManager.Ui.ViewModels.Dialogs;
namespace JdeScoping.ConfigManager.Tests.ViewModels.Dialogs;
namespace JdeScoping.ConfigManager.Ui.Tests.ViewModels.Dialogs;
public class NewStoreDialogViewModelTests
{
@@ -1,7 +1,7 @@
using JdeScoping.ConfigManager.Core.Constants;
using JdeScoping.ConfigManager.ViewModels.Dialogs;
using JdeScoping.ConfigManager.Ui.ViewModels.Dialogs;
namespace JdeScoping.ConfigManager.Tests.ViewModels.Dialogs;
namespace JdeScoping.ConfigManager.Ui.Tests.ViewModels.Dialogs;
public class SecretEditDialogViewModelTests
{
@@ -1,7 +1,7 @@
using JdeScoping.ConfigManager.Core.Constants;
using JdeScoping.ConfigManager.ViewModels.Dialogs;
using JdeScoping.ConfigManager.Ui.ViewModels.Dialogs;
namespace JdeScoping.ConfigManager.Tests.ViewModels.Dialogs;
namespace JdeScoping.ConfigManager.Ui.Tests.ViewModels.Dialogs;
public class UnlockStoreDialogViewModelTests
{
@@ -1,7 +1,7 @@
using JdeScoping.ConfigManager.Core.Services;
using JdeScoping.ConfigManager.ViewModels.Dialogs;
using JdeScoping.ConfigManager.Ui.ViewModels.Dialogs;
namespace JdeScoping.ConfigManager.Tests.ViewModels.Dialogs;
namespace JdeScoping.ConfigManager.Ui.Tests.ViewModels.Dialogs;
public class ValidationResultsDialogViewModelTests
{
@@ -1,7 +1,7 @@
using JdeScoping.ConfigManager.Core.Models;
using JdeScoping.ConfigManager.ViewModels.Forms;
using JdeScoping.ConfigManager.Ui.ViewModels.Forms;
namespace JdeScoping.ConfigManager.Tests.ViewModels.Forms;
namespace JdeScoping.ConfigManager.Ui.Tests.ViewModels.Forms;
public class AuthFormViewModelTests
{
@@ -1,7 +1,7 @@
using JdeScoping.ConfigManager.Core.Models;
using JdeScoping.ConfigManager.ViewModels.Forms;
using JdeScoping.ConfigManager.Ui.ViewModels.Forms;
namespace JdeScoping.ConfigManager.Tests.ViewModels.Forms;
namespace JdeScoping.ConfigManager.Ui.Tests.ViewModels.Forms;
public class ConnectionStringEntryViewModelTests
{
@@ -1,10 +1,10 @@
using JdeScoping.ConfigManager.Core.Models;
using JdeScoping.ConfigManager.Core.Services;
using JdeScoping.ConfigManager.Core.Services.SecureStore;
using JdeScoping.ConfigManager.Services;
using JdeScoping.ConfigManager.ViewModels.Forms;
using JdeScoping.ConfigManager.Ui.Services;
using JdeScoping.ConfigManager.Ui.ViewModels.Forms;
namespace JdeScoping.ConfigManager.Tests.ViewModels.Forms;
namespace JdeScoping.ConfigManager.Ui.Tests.ViewModels.Forms;
public class ConnectionStringsFormViewModelTests
{
@@ -1,7 +1,7 @@
using JdeScoping.ConfigManager.Core.Models;
using JdeScoping.ConfigManager.ViewModels.Forms;
using JdeScoping.ConfigManager.Ui.ViewModels.Forms;
namespace JdeScoping.ConfigManager.Tests.ViewModels.Forms;
namespace JdeScoping.ConfigManager.Ui.Tests.ViewModels.Forms;
public class DataAccessFormViewModelTests
{
@@ -1,7 +1,7 @@
using JdeScoping.ConfigManager.Core.Models;
using JdeScoping.ConfigManager.ViewModels.Forms;
using JdeScoping.ConfigManager.Ui.ViewModels.Forms;
namespace JdeScoping.ConfigManager.Tests.ViewModels.Forms;
namespace JdeScoping.ConfigManager.Ui.Tests.ViewModels.Forms;
public class DataSyncFormViewModelTests
{
@@ -1,7 +1,7 @@
using JdeScoping.ConfigManager.Core.Models;
using JdeScoping.ConfigManager.ViewModels.Forms;
using JdeScoping.ConfigManager.Ui.ViewModels.Forms;
namespace JdeScoping.ConfigManager.Tests.ViewModels.Forms;
namespace JdeScoping.ConfigManager.Ui.Tests.ViewModels.Forms;
public class ExcelExportFormViewModelTests
{
@@ -1,7 +1,7 @@
using JdeScoping.ConfigManager.Core.Models;
using JdeScoping.ConfigManager.ViewModels.Forms;
using JdeScoping.ConfigManager.Ui.ViewModels.Forms;
namespace JdeScoping.ConfigManager.Tests.ViewModels.Forms;
namespace JdeScoping.ConfigManager.Ui.Tests.ViewModels.Forms;
public class LdapFormViewModelTests
{
@@ -1,9 +1,9 @@
using JdeScoping.ConfigManager.Services;
using JdeScoping.ConfigManager.ViewModels.Forms;
using JdeScoping.ConfigManager.ViewModels.PipelineSteps;
using JdeScoping.ConfigManager.Ui.Services;
using JdeScoping.ConfigManager.Ui.ViewModels.Forms;
using JdeScoping.ConfigManager.Ui.ViewModels.PipelineSteps;
using JdeScoping.DataSync.Configuration;
namespace JdeScoping.ConfigManager.Tests.ViewModels.Forms;
namespace JdeScoping.ConfigManager.Ui.Tests.ViewModels.Forms;
public class PipelineEditorViewModelTests
{
@@ -1,7 +1,7 @@
using JdeScoping.ConfigManager.Core.Models;
using JdeScoping.ConfigManager.ViewModels.Forms;
using JdeScoping.ConfigManager.Ui.ViewModels.Forms;
namespace JdeScoping.ConfigManager.Tests.ViewModels.Forms;
namespace JdeScoping.ConfigManager.Ui.Tests.ViewModels.Forms;
public class SearchFormViewModelTests
{
@@ -1,7 +1,7 @@
using JdeScoping.ConfigManager.Services;
using JdeScoping.ConfigManager.ViewModels.Forms;
using JdeScoping.ConfigManager.Ui.Services;
using JdeScoping.ConfigManager.Ui.ViewModels.Forms;
namespace JdeScoping.ConfigManager.Tests.ViewModels.Forms;
namespace JdeScoping.ConfigManager.Ui.Tests.ViewModels.Forms;
public class SecretFormViewModelTests
{
@@ -2,14 +2,14 @@ using JdeScoping.ConfigManager.Core.Constants;
using JdeScoping.ConfigManager.Core.Models;
using JdeScoping.ConfigManager.Core.Services;
using JdeScoping.ConfigManager.Core.Services.SecureStore;
using JdeScoping.ConfigManager.Services;
using JdeScoping.ConfigManager.ViewModels;
using JdeScoping.ConfigManager.ViewModels.Forms;
using JdeScoping.ConfigManager.Ui.Services;
using JdeScoping.ConfigManager.Ui.ViewModels;
using JdeScoping.ConfigManager.Ui.ViewModels.Forms;
using JdeScoping.DataSync.Configuration;
using Microsoft.Extensions.Logging;
using NSubstitute;
namespace JdeScoping.ConfigManager.Tests.ViewModels;
namespace JdeScoping.ConfigManager.Ui.Tests.ViewModels;
public class MainWindowViewModelTests
{
@@ -1,8 +1,8 @@
using System.Text.Json;
using JdeScoping.ConfigManager.ViewModels.PipelineSteps;
using JdeScoping.ConfigManager.Ui.ViewModels.PipelineSteps;
using JdeScoping.DataSync.Configuration;
namespace JdeScoping.ConfigManager.Tests.ViewModels.PipelineSteps;
namespace JdeScoping.ConfigManager.Ui.Tests.ViewModels.PipelineSteps;
public class ColumnDropTransformerViewModelTests
{
@@ -1,8 +1,8 @@
using JdeScoping.ConfigManager.ViewModels.PipelineSteps;
using JdeScoping.ConfigManager.Ui.ViewModels.PipelineSteps;
using JdeScoping.DataSync.Configuration;
using System.Text.Json;
namespace JdeScoping.ConfigManager.Tests.ViewModels;
namespace JdeScoping.ConfigManager.Ui.Tests.ViewModels;
public class RegexTransformerViewModelTests
{
@@ -1,6 +1,6 @@
using JdeScoping.ConfigManager.ViewModels;
using JdeScoping.ConfigManager.Ui.ViewModels;
namespace JdeScoping.ConfigManager.Tests.ViewModels;
namespace JdeScoping.ConfigManager.Ui.Tests.ViewModels;
public class TreeNodeViewModelTests
{
@@ -1,9 +1,9 @@
using Avalonia.Controls;
using Avalonia.Headless.XUnit;
using Avalonia.VisualTree;
using JdeScoping.ConfigManager.Views.Dialogs;
using JdeScoping.ConfigManager.Ui.Views.Dialogs;
namespace JdeScoping.ConfigManager.Tests.Views.Dialogs;
namespace JdeScoping.ConfigManager.Ui.Tests.Views.Dialogs;
/// <summary>
/// UI tests for dialog views.
@@ -1,9 +1,9 @@
using Avalonia.Controls;
using Avalonia.Headless.XUnit;
using Avalonia.VisualTree;
using JdeScoping.ConfigManager.Views.Forms;
using JdeScoping.ConfigManager.Ui.Views.Forms;
namespace JdeScoping.ConfigManager.Tests.Views.Forms;
namespace JdeScoping.ConfigManager.Ui.Tests.Views.Forms;
/// <summary>
/// UI tests for form views.
@@ -1,9 +1,9 @@
using Avalonia.Controls;
using Avalonia.Headless.XUnit;
using Avalonia.VisualTree;
using JdeScoping.ConfigManager.Views;
using JdeScoping.ConfigManager.Ui.Views;
namespace JdeScoping.ConfigManager.Tests.Views;
namespace JdeScoping.ConfigManager.Ui.Tests.Views;
/// <summary>
/// UI tests for <see cref="MainWindow"/>.