Files
jdescopingtool/PLANS/unit_tests.md
T
Joseph Doherty 08f5aa1447 docs: add MisData archival implementation and unit test report
Document the MisData_Curr/Hist table split in architecture docs, add
post-sync archival scripts to move BackLevel records to history table,
and generate comprehensive unit test report (856 tests, 100% pass rate).
2026-01-19 04:03:25 -05:00

5.6 KiB

Unit Test Report

Generated: 2026-01-19 Framework: xUnit 2.9.3 on .NET 10 Status: All Tests Passing

Summary

Metric Value
Total Test Projects 11
Projects with Tests 10
Total Tests 856
Passed 856
Failed 0
Skipped 0
Pass Rate 100%

Test Results by Project

Project Status Tests Passed Failed Skipped Time
JdeScoping.Api.Tests Pass 37 37 0 0 2.12s
JdeScoping.Api.IntegrationTests Pass 24 24 0 0 1.24s
JdeScoping.Client.Tests Pass 73 73 0 0 2.07s
JdeScoping.Core.Tests Pass 77 77 0 0 1.62s
JdeScoping.DataAccess.Tests Pass 67 67 0 0 1.92s
JdeScoping.Database.Tests Pass 82 82 0 0 1.66s
JdeScoping.DataSync.Tests Pass 340 340 0 0 3.73s
JdeScoping.DataSync.Dev.Tests Pass 15 15 0 0 1.78s
JdeScoping.ExcelIO.Tests Pass 122 122 0 0 4:10s
JdeScoping.Host.Tests ⚠️ No Tests 0 0 0 0 1.45s
JdeScoping.Infrastructure.Tests Pass 19 19 0 0 1.99s

Project Details

JdeScoping.Api.Tests (37 tests)

Tests for API controllers, SignalR hubs, and services.

Test Classes:

  • AuthControllerTests - Authentication endpoints
  • SearchControllerTests - Search CRUD operations
  • LookupControllerTests - Autocomplete/lookup APIs
  • StatusHubTests - SignalR real-time updates
  • CurrentUserServiceTests - User context service

JdeScoping.Api.IntegrationTests (24 tests)

End-to-end tests using WebApplicationFactory.

Test Classes:

  • AuthApiClientIntegrationTests - Auth flow testing
  • LookupApiClientIntegrationTests - Lookup endpoint testing
  • SearchApiClientIntegrationTests - Search endpoint testing

JdeScoping.Client.Tests (73 tests)

Blazor client service tests.

Test Classes:

  • ApiClientBaseTests - Base HTTP client behavior
  • AuthApiClientTests - Auth client operations
  • LookupApiClientTests - Lookup client operations
  • SearchApiClientTests - Search client operations
  • SearchStateTests - Client-side state management

JdeScoping.Core.Tests (77 tests)

Core domain model tests.

Test Classes:

  • SearchCriteriaTests - Search criteria model validation
  • QueryTypesTests - Query type identification logic

JdeScoping.DataAccess.Tests (67 tests)

Data access layer tests.

Test Classes:

  • DbConnectionFactoryTests - Connection management
  • SearchRepositoryTests - Search persistence
  • LookupRepositoryTests - Reference data queries
  • DataUpdateRepositoryTests - Cache timestamps

JdeScoping.Database.Tests (82 tests)

SQL Server function and procedure tests (requires Docker container).

Test Classes:

  • SimpleTableFunctionTests - TVFs for criteria extraction
  • ScalarFunctionTests - Scalar criteria functions
  • ComplexTableFunctionTests - Component/operation TVFs
  • ValidateSearchCriteriaProcedureTests - Validation stored procedure

JdeScoping.DataSync.Tests (340 tests)

ETL pipeline and transformer tests.

Coverage Areas:

  • Source data transformers (JDE, CMS)
  • Cache table transformers
  • Work processor logic
  • Pipeline configuration
  • ETL registry and factory

JdeScoping.DataSync.Dev.Tests (15 tests)

Development pipeline tests.

Test Classes:

  • DevEtlRegistryTests - Dev ETL configuration
  • DevPipelineTests - Pipeline execution

JdeScoping.ExcelIO.Tests (122 tests)

Excel export functionality tests.

Test Classes:

  • ExcelExportServiceTests - Full export workflow
  • ExcelPackageBuilderTests - Package construction
  • WorksheetBuilderTests - Individual sheet building
  • Various formatter tests for data types

Note: Longer execution time (4:10) due to actual Excel file generation in tests.

JdeScoping.Host.Tests (0 tests)

Placeholder project with no tests implemented yet.

File: Placeholder.cs - Contains only a placeholder class with comments indicating tests will be added.

JdeScoping.Infrastructure.Tests (19 tests)

Infrastructure utility tests.

Test Classes:

  • RsaKeyServiceTests - RSA key generation/persistence
  • EncryptionHelperTests - Password encryption
  • ConfigExtensionsTests - Configuration helpers

Execution Strategy

Tests were executed in two phases:

Phase 1: Parallel Execution (9 projects)

Projects with no shared state ran concurrently:

  • Api.Tests, Client.Tests, Core.Tests, DataAccess.Tests
  • DataSync.Tests, DataSync.Dev.Tests, ExcelIO.Tests
  • Host.Tests, Infrastructure.Tests

Phase 2: Sequential Execution (2 projects)

Projects with external dependencies ran sequentially:

  1. Database.Tests - Requires Docker SQL Server (scopingtool-sqlserver on port 1434)
  2. Api.IntegrationTests - Uses WebApplicationFactory with database connection

Build Warnings

Two warnings were noted during build (non-blocking):

  1. StatusHubTests.cs(107,59): CS0252 - Possible unintended reference comparison
  2. Static file middleware warning - WebRootPath not found (expected for API-only tests)

Failures and Resolutions

No failures encountered. All 856 tests passed successfully.

Notes

  • All tests use xUnit 2.9.3 with .NET 10
  • Database.Tests require the Docker SQL Server container to be running
  • ExcelIO.Tests have longer execution due to actual Excel file I/O operations
  • Host.Tests project exists but has no implemented tests yet (placeholder)