Skip to content

Add unit tests for ContractRequestHandler#788

Merged
StuartFerguson merged 3 commits intomainfrom
copilot/add-contract-request-handler-tests
Feb 23, 2026
Merged

Add unit tests for ContractRequestHandler#788
StuartFerguson merged 3 commits intomainfrom
copilot/add-contract-request-handler-tests

Conversation

Copy link
Copy Markdown
Contributor

Copilot AI commented Feb 23, 2026

ContractRequestHandler had no unit test coverage. This adds 16 tests covering all 8 handler methods with success and failure cases.

Coverage

Handler Success Failure
GetContractsQuery
GetContractQuery
CreateContractCommand
AddProductToContractCommand
AddTransactionFeeToProductCommand
RemoveTransactionFeeFromProductCommand
GetRecentContractsQuery
GetContractsForDropDownQuery

Pattern

Follows the same conventions as DateRequestHandlerTests — mocked IApiClient via Moq, Shouldly assertions, verifying the correct overload is called exactly once:

[Fact]
public async Task Handle_GetContractsQuery_ReturnsSuccess_WhenApiClientSucceeds()
{
    var query = new ContractQueries.GetContractsQuery(CorrelationIdHelper.New(), Guid.NewGuid());
    _mockApiClient.Setup(c => c.GetContracts(query, It.IsAny<CancellationToken>()))
                  .ReturnsAsync(Result.Success(contracts));

    var result = await _handler.Handle(query, CancellationToken.None);

    result.IsSuccess.ShouldBeTrue();
    _mockApiClient.Verify(c => c.GetContracts(query, It.IsAny<CancellationToken>()), Times.Once);
}

Warning

Firewall rules blocked me from connecting to one or more addresses (expand for details)

I tried to connect to the following addresses, but was blocked by firewall rules:

  • f.feedz.io
    • Triggering command: /usr/bin/dotnet dotnet test EstateManagementUI.BlazorServer.Tests/EstateManagementUI.BlazorServer.Tests.csproj --filter ContractRequestHandlerTests (dns block)
    • Triggering command: /opt/hostedtoolcache/CodeQL/2.24.0/x64/codeql/csharp/tools/linux64/Semmle.Autobuild.CSharp /opt/hostedtoolcache/CodeQL/2.24.0/x64/codeql/csharp/tools/linux64/Semmle.Autobuild.CSharp (dns block)
    • Triggering command: /usr/bin/dotnet dotnet restore --no-dependencies /home/REDACTED/work/EstateManagementUI/EstateManagementUI/EstateManagementUI.sln --packages /home/REDACTED/work/EstateManagementUI/.codeql-scratch/dbs/csharp/working/packages /p:DisableImplicitNuGetFallbackFolder=true --verbosity normal /p:TargetFrameworkRootPath=/home/REDACTED/work/EstateManagementUI/.codeql-scratch/dbs/csharp/working/emptyFakeDotnetRoot /p:NetCoreTargetingPackRoot=/home/REDACTED/work/EstateManagementUI/.codeql-scratch/dbs/csharp/working/emptyFakeDotnetRoot /p:AllowMissingPrunePackageData=true (dns block)

If you need me to access, download, or install something from one of these locations, you can either:

Original prompt

This section details on the original issue you should resolve

<issue_title>ContractRequestHandler Unit Testss</issue_title>
<issue_description></issue_description>

<agent_instructions>Ensure a good level of code coverage as close to 100% as possible</agent_instructions>

Comments on the Issue (you are @copilot in this section)


💡 You can make Copilot smarter by setting up custom instructions, customizing its development environment and configuring Model Context Protocol (MCP) servers. Learn more Copilot coding agent tips in the docs.

Co-authored-by: StuartFerguson <16325469+StuartFerguson@users.noreply.github.com>
Copilot AI changed the title [WIP] Add unit tests for ContractRequestHandler Add unit tests for ContractRequestHandler Feb 23, 2026
Copilot AI requested a review from StuartFerguson February 23, 2026 21:10
@StuartFerguson StuartFerguson marked this pull request as ready for review February 23, 2026 21:11
@StuartFerguson StuartFerguson merged commit 364491e into main Feb 23, 2026
10 checks passed
@github-actions github-actions Bot deleted the copilot/add-contract-request-handler-tests branch April 25, 2026 01:14
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

ContractRequestHandler Unit Testss

2 participants