Skip to content

Testing

Three test projects (MSTest 4.x with TestingPlatformDotnetTestSupport):

Unit tests (ConnectSoft.Saas.Billing.UnitTests)

FluentValidation tests (one per validator: CreateSubscriptionInputValidator, UpgradeSubscriptionInputValidator, ChangeEditionInputValidator, CancelSubscriptionInputValidator, CatalogProductRetiredReactionInputValidator, plus query validators) and BillingMetricsUnitTests.

Acceptance tests (ConnectSoft.Saas.Billing.AcceptanceTests)

Reqnroll 3 + Microsoft.AspNetCore.TestHost, gRPC client via ConnectSoft.Extensions.ServiceModel.Grpc. Features under SubscriptionsManagement/Features/:

  • Subscriptions REST lifecycle
  • Subscriptions gRPC lifecycle
  • Subscriptions cross adapter parity (REST and gRPC produce equivalent results)

Architecture tests (ConnectSoft.Saas.Billing.ArchitectureTests)

  • OneAggregateRootPerRepoTests - asserts exactly one IAggregateRoot<> (ISubscription) per ADR-0001.
  • ServiceModelLayeringNetArchTests, EntityIsolationNetArchTests.
  • CrossRepoPublishedLanguageTests - validates inbound topic contracts against the other contexts' published language.

Coverage

ConnectSoft.Saas.BillingTemplate.runsettings includes [ConnectSoft.Saas.Billing*]* and excludes base template, InfrastructureModel, Orleans, migrations, and the host. Run:

dotnet test --collect:"XPlat Code Coverage" --settings ConnectSoft.Saas.BillingTemplate.runsettings

See also