Skip to content

Dependency upgrades - #3

Merged
rickykaare merged 6 commits into
mainfrom
upgrade
Aug 28, 2026
Merged

Dependency upgrades#3
rickykaare merged 6 commits into
mainfrom
upgrade

Conversation

@rickykaare

Copy link
Copy Markdown
Contributor

This pull request removes all Squad-related configuration, documentation, and agent files from the repository, and updates the documentation to reflect a move from FluentAssertions to AwesomeAssertions for assertions. It also updates CI and release workflows to use new test and coverage reporting options.

The most important changes are:

Removal of Squad/AI Team Collaboration:

  • Deleted all references to Squad team collaboration from .github/copilot-instructions.md, including workflow instructions, commit rules, branch naming, and self-check guidelines. (Fcb8c2b7L1, .github/copilot-instructions.mdL298-L310)
  • Removed .squad/agents/kaylee/charter.md and .squad/agents/mal/charter.md agent charter files. [1] [2]
  • Removed .gitattributes union merge rules for .squad/ files.

Assertion Library Migration:

  • Updated all documentation references from FluentAssertions to AwesomeAssertions, including table entries, extension method folders, and code comments in .github/copilot-instructions.md. [1] [2] [3] [4] [5] [6] [7]

Continuous Integration and Release Workflow Improvements:

  • Updated CI (.github/workflows/ci.yml) and release (.github/workflows/release.yml) workflows to use new dotnet test options for outputting test results and code coverage in standardized formats. [1] [2]

Other Documentation Updates:

  • Adjusted the self-check guidelines to clarify that security-sensitive or architectural changes should be paused for user direction, rather than assigned to a specific agent.

Copilot AI left a comment

Copy link
Copy Markdown

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 modernizes the Cabazure.Test repo by removing all Squad-related artifacts, migrating the library/tests/docs from FluentAssertions to AwesomeAssertions, and updating the test/CI toolchain to the Microsoft Testing Platform and newer xUnit v3 packages.

Changes:

  • Migrates assertion usage (tests + library assertion helpers + docs) from FluentAssertions.* to AwesomeAssertions.*.
  • Updates test infrastructure to Microsoft Testing Platform (MTP): global.json runner selection, updated test project settings, and CI/release dotnet test reporting/coverage flags.
  • Deletes all .squad/ configuration, templates, skills, session logs, and related merge/gitignore rules.

Reviewed changes

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

Show a summary per file
File Description
tests/Cabazure.Test.Tests/WaitForReceivedExtensionsTests.cs Switches test usings to AwesomeAssertions.
tests/Cabazure.Test.Tests/ReceivedCallExtensionsTests.cs Switches to AwesomeAssertions; renames one test to reflect new assertion lib.
tests/Cabazure.Test.Tests/ProtectedMethodExtensionsTests.cs Switches test usings to AwesomeAssertions.
tests/Cabazure.Test.Tests/FluentArgTests.cs Switches test usings to AwesomeAssertions.
tests/Cabazure.Test.Tests/Fixture/FixtureFactoryTests.cs Switches test usings to AwesomeAssertions.
tests/Cabazure.Test.Tests/Customizations/TypeCustomizationTests.cs Switches test usings to AwesomeAssertions.
tests/Cabazure.Test.Tests/Customizations/SpecimenRequestHelperTests.cs Switches test usings to AwesomeAssertions.
tests/Cabazure.Test.Tests/Customizations/RecursionCustomizationTests.cs Switches test usings to AwesomeAssertions.
tests/Cabazure.Test.Tests/Customizations/JsonSerializerOptionsCustomizationTests.cs Switches test usings to AwesomeAssertions.
tests/Cabazure.Test.Tests/Customizations/JsonElementCustomizationTests.cs Switches test usings to AwesomeAssertions.
tests/Cabazure.Test.Tests/Customizations/ImmutableCollectionCustomizationTests.cs Switches test usings to AwesomeAssertions.
tests/Cabazure.Test.Tests/Customizations/FixtureCustomizationCollectionTests.cs Switches test usings to AwesomeAssertions.
tests/Cabazure.Test.Tests/Customizations/DateOnlyTimeOnlyCustomizationTests.cs Switches test usings to AwesomeAssertions.
tests/Cabazure.Test.Tests/Customizations/CancellationTokenCustomizationTests.cs Switches test usings to AwesomeAssertions.
tests/Cabazure.Test.Tests/Cabazure.Test.Tests.csproj Updates to xUnit v3 4.0.0 + MTP runner settings; adds MTP TRX/coverage extensions; replaces FluentAssertions with AwesomeAssertions.
tests/Cabazure.Test.Tests/Attributes/SubstituteAttributeTests.cs Switches test usings to AwesomeAssertions.
tests/Cabazure.Test.Tests/Attributes/MemberAutoNSubstituteDataAttributeTests.cs Switches test usings to AwesomeAssertions.
tests/Cabazure.Test.Tests/Attributes/InlineAutoNSubstituteDataAttributeTests.cs Switches to AwesomeAssertions; adds coverage for passing through null inline values.
tests/Cabazure.Test.Tests/Attributes/DisposalTrackerIntegrationTests.cs Switches test usings to AwesomeAssertions.
tests/Cabazure.Test.Tests/Attributes/DiscoveryEnumerationLabelTests.cs Switches test usings to AwesomeAssertions.
tests/Cabazure.Test.Tests/Attributes/CustomizeWithAttributeTests.cs Switches test usings to AwesomeAssertions.
tests/Cabazure.Test.Tests/Attributes/ClassAutoNSubstituteDataAttributeTests.cs Switches test usings to AwesomeAssertions.
tests/Cabazure.Test.Tests/Attributes/AutoNSubstituteDataHelperFixtureInjectionTests.cs Switches test usings to AwesomeAssertions.
tests/Cabazure.Test.Tests/Attributes/AutoNSubstituteDataAttributeTests.cs Switches test usings to AwesomeAssertions.
tests/Cabazure.Test.Tests/Assertions/StringContentExtensionsTests.cs Switches test usings to AwesomeAssertions.
tests/Cabazure.Test.Tests/Assertions/JsonElementEquivalencyStepTests.cs Switches test usings to AwesomeAssertions.
tests/Cabazure.Test.Tests/Assertions/JsonElementAssertionsTests.cs Switches test usings to AwesomeAssertions.
tests/Cabazure.Test.Tests/Assertions/EmptyObjectEquivalencyStepTests.cs Switches test usings to AwesomeAssertions.
tests/Cabazure.Test.Tests/Assertions/DateTimeOffsetExtensionsTests.cs Switches test usings to AwesomeAssertions.
src/Cabazure.Test/FluentArg.cs Updates XML docs to refer to AwesomeAssertions-based matcher behavior.
src/Cabazure.Test/Cabazure.Test.csproj Updates package tags and dependencies (SourceLink/System.Text.Json/xUnit packages); replaces FluentAssertions with AwesomeAssertions.
src/Cabazure.Test/Attributes/InlineAutoNSubstituteDataAttribute.cs Adds a null-coalescing guard for the values params array.
src/Cabazure.Test/Assertions/StringContentExtensions.cs Migrates custom assertion implementations from FluentAssertions to AwesomeAssertions assertion APIs.
src/Cabazure.Test/Assertions/JsonElementEquivalencyStep.cs Ports equivalency step integration to AwesomeAssertions’ updated equivalency interfaces/results.
src/Cabazure.Test/Assertions/JsonElementEquivalencyExtensions.cs Ports equivalency-option extension types to AwesomeAssertions equivalents.
src/Cabazure.Test/Assertions/JsonElementAssertions.cs Ports JsonElement assertion helpers to AwesomeAssertions assertion APIs.
src/Cabazure.Test/Assertions/EmptyObjectEquivalencyStep.cs Ports empty-object equivalency step to AwesomeAssertions APIs.
src/Cabazure.Test/Assertions/EmptyObjectEquivalencyExtensions.cs Ports empty-object options extension types to AwesomeAssertions equivalents.
src/Cabazure.Test/Assertions/DateTimeOffsetExtensions.cs Switches assertion extension usings to AwesomeAssertions.
README.md Updates all docs/examples/package table from FluentAssertions to AwesomeAssertions and updates dependency versions.
MIGRATING.md Updates migration guidance text to reference AwesomeAssertions for equivalency options and FluentArg usage.
global.json Configures repo-wide dotnet test runner to Microsoft.Testing.Platform.
Directory.Build.props Updates package description to mention AwesomeAssertions.
.squad/templates/workflows/sync-squad-labels.yml Removed Squad workflow template.
.squad/templates/workflows/squad-triage.yml Removed Squad workflow template.
.squad/templates/workflows/squad-release.yml Removed Squad workflow template.
.squad/templates/workflows/squad-promote.yml Removed Squad workflow template.
.squad/templates/workflows/squad-preview.yml Removed Squad workflow template.
.squad/templates/workflows/squad-main-guard.yml Removed Squad workflow template.
.squad/templates/workflows/squad-label-enforce.yml Removed Squad workflow template.
.squad/templates/workflows/squad-issue-assign.yml Removed Squad workflow template.
.squad/templates/workflows/squad-insider-release.yml Removed Squad workflow template.
.squad/templates/workflows/squad-heartbeat.yml Removed Squad workflow template.
.squad/templates/workflows/squad-docs.yml Removed Squad workflow template.
.squad/templates/workflows/squad-ci.yml Removed Squad workflow template.
.squad/templates/skills/project-conventions/SKILL.md Removed Squad template skill.
.squad/templates/skill.md Removed Squad template file.
.squad/templates/scribe-charter.md Removed Squad template file.
.squad/templates/run-output.md Removed Squad template file.
.squad/templates/routing.md Removed Squad template file.
.squad/templates/roster.md Removed Squad template file.
.squad/templates/raw-agent-output.md Removed Squad template file.
.squad/templates/plugin-marketplace.md Removed Squad template file.
.squad/templates/orchestration-log.md Removed Squad template file.
.squad/templates/multi-agent-format.md Removed Squad template file.
.squad/templates/mcp-config.md Removed Squad template file.
.squad/templates/identity/wisdom.md Removed Squad template file.
.squad/templates/identity/now.md Removed Squad template file.
.squad/templates/history.md Removed Squad template file.
.squad/templates/copilot-instructions.md Removed Squad template file.
.squad/templates/constraint-tracking.md Removed Squad template file.
.squad/templates/charter.md Removed Squad template file.
.squad/templates/ceremonies.md Removed Squad template file.
.squad/templates/casting-registry.json Removed Squad template file.
.squad/templates/casting-policy.json Removed Squad template file.
.squad/templates/casting-history.json Removed Squad template file.
.squad/team.md Removed Squad team roster file.
.squad/skills/xunit-theory-discovery/SKILL.md Removed Squad skill file.
.squad/skills/project-conventions/SKILL.md Removed Squad skill file.
.squad/skills/nsubstitute-custom-matcher/SKILL.md Removed Squad skill file.
.squad/sessions/2026-03-07T10-14-29Z_f57932ed-ae62-43c2-a57e-ac03db19f3d1.json Removed Squad session state file.
.squad/sessions/2026-03-07T10-09-12Z_c4066cfb-f40c-4e26-98cc-03effc271c02.json Removed Squad session state file.
.squad/sessions/2026-03-07T10-08-42Z_39365bb6-0649-4c9e-b9cf-28b65ccd7447.json Removed Squad session state file.
.squad/sessions/2026-03-07T10-08-16Z_9dd095af-38e6-4e17-9278-c92cc412531b.json Removed Squad session state file.
.squad/routing.md Removed Squad routing file.
.squad/orchestration-log/2026-03-07T143051Z-kaylee.md Removed Squad orchestration log file.
.squad/orchestration-log/2026-03-07-142208-kaylee.md Removed Squad orchestration log file.
.squad/log/2026-03-07T143051Z-fixture-customizations-refactor.md Removed Squad log file.
.squad/log/2026-03-07-142208-style-alignment.md Removed Squad log file.
.squad/identity/wisdom.md Removed Squad identity file.
.squad/identity/now.md Removed Squad identity file.
.squad/config.json Removed Squad config file.
.squad/ceremonies.md Removed Squad ceremonies file.
.squad/casting/registry.json Removed Squad casting registry.
.squad/casting/policy.json Removed Squad casting policy.
.squad/casting/history.json Removed Squad casting history.
.squad/agents/zoe/history.md Removed Squad agent history.
.squad/agents/zoe/charter.md Removed Squad agent charter.
.squad/agents/wash/history.md Removed Squad agent history.
.squad/agents/wash/charter.md Removed Squad agent charter.
.squad/agents/scribe/history.md Removed Squad agent history.
.squad/agents/scribe/charter.md Removed Squad agent charter.
.squad/agents/mal/history.md Removed Squad agent history.
.squad/agents/mal/charter.md Removed Squad agent charter.
.squad/agents/kaylee/history.md Removed Squad agent history.
.squad/agents/kaylee/charter.md Removed Squad agent charter.
.gitignore Removes Squad ignore rules now that Squad state is removed.
.github/workflows/release.yml Switches to MTP-style TRX + coverage flags for dotnet test.
.github/workflows/ci.yml Switches to MTP-style TRX + coverage flags for dotnet test.
.github/copilot-instructions.md Removes Squad collaboration instructions; updates assertions guidance to AwesomeAssertions.
.gitattributes Removes Squad union-merge rules for deleted .squad/ files.
Suppressed comments (1)

src/Cabazure.Test/Assertions/EmptyObjectEquivalencyStep.cs:61

  • EmptyObjectEquivalencyStep currently returns EquivalencyProven for empty expectation types even when the subject is null, which would incorrectly treat null as equivalent to a non-null empty object. Add an explicit null guard so AwesomeAssertions can apply its normal null-handling semantics.

💡 Add a code-review agent skill or configure MCP servers for context-aware, tailored reviews. Learn more in the docs.

Comment thread .github/copilot-instructions.md
Comment thread README.md
…itive props

Consumers referencing Cabazure.Test via PackageReference now automatically
get global using directives for Cabazure.Test, AutoFixture,
AutoFixture.AutoNSubstitute, AutoFixture.Xunit3, AwesomeAssertions,
NSubstitute, NSubstitute.ReturnsExtensions, Xunit, and
System.ComponentModel.DataAnnotations, removing the need to hand-maintain
an ItemGroup of Using items in every consuming test project.

Microsoft.AspNetCore.Builder was intentionally omitted since it is not an
actual dependency of Cabazure.Test and would break consumers that have not
separately referenced ASP.NET Core.

Verified end-to-end by packing the library and building/running a scratch
consumer project referencing the local package with no manual usings.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
@rickykaare
rickykaare merged commit 74a0616 into main Aug 28, 2026
2 checks passed
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.

2 participants