From 4306297200bfe7e9199611a31ce91d18db14a8a4 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Kamil=20B=C4=85czek?=
<74410956+kamilbaczek@users.noreply.github.com>
Date: Sun, 16 Nov 2025 14:26:53 +0100
Subject: [PATCH 1/2] feat: upgrade xUnit to version 3 and clean up package
references
---
.../Src/Directory.Build.props | 50 +++++++++----------
.../Fitnet.ArchitectureTests.csproj | 7 ++-
.../Fitnet.IntegrationTests.csproj | 7 ++-
.../SignContract/SignContractTestData.cs | 6 +--
.../Fitnet.UnitTests/Fitnet.UnitTests.csproj | 7 ++-
...608060456_MakeSignedAtColumnNotRequired.cs | 1 +
...545_AddCustomerIdColumntoContractsTable.cs | 1 +
...tsAddColumnsToSupportContractExpiration.cs | 1 +
.../20230503180337_Create_Offers_table.cs | 1 +
.../20230503180338_CreatePassesTable.cs | 1 +
10 files changed, 42 insertions(+), 40 deletions(-)
diff --git a/Chapter-1-initial-architecture/Src/Directory.Build.props b/Chapter-1-initial-architecture/Src/Directory.Build.props
index 27437e42..43f86f66 100644
--- a/Chapter-1-initial-architecture/Src/Directory.Build.props
+++ b/Chapter-1-initial-architecture/Src/Directory.Build.props
@@ -1,29 +1,29 @@
-
- EvolutionaryArchitecture.$(MSBuildProjectName)
- $(AssemblyName)
- net9.0
- latest
- true
- true
- enable
- enable
- true
- true
-
-
-
-
-
+
+ EvolutionaryArchitecture.$(MSBuildProjectName)
+ $(AssemblyName)
+ net9.0
+ latest
+ true
+ true
+ enable
+ enable
+ true
+ true
+
+
+
+
+
+
+
+
+
-
-
-
-
\ No newline at end of file
diff --git a/Chapter-1-initial-architecture/Src/Fitnet.ArchitectureTests/Fitnet.ArchitectureTests.csproj b/Chapter-1-initial-architecture/Src/Fitnet.ArchitectureTests/Fitnet.ArchitectureTests.csproj
index 8211855d..5df53237 100644
--- a/Chapter-1-initial-architecture/Src/Fitnet.ArchitectureTests/Fitnet.ArchitectureTests.csproj
+++ b/Chapter-1-initial-architecture/Src/Fitnet.ArchitectureTests/Fitnet.ArchitectureTests.csproj
@@ -7,13 +7,12 @@
-
-
+
+
all
runtime; build; native; contentfiles; analyzers; buildtransitive
-
-
+
all
runtime; build; native; contentfiles; analyzers; buildtransitive
diff --git a/Chapter-1-initial-architecture/Src/Fitnet.IntegrationTests/Fitnet.IntegrationTests.csproj b/Chapter-1-initial-architecture/Src/Fitnet.IntegrationTests/Fitnet.IntegrationTests.csproj
index 748d7b7a..702f2bf9 100644
--- a/Chapter-1-initial-architecture/Src/Fitnet.IntegrationTests/Fitnet.IntegrationTests.csproj
+++ b/Chapter-1-initial-architecture/Src/Fitnet.IntegrationTests/Fitnet.IntegrationTests.csproj
@@ -11,18 +11,17 @@
-
+
all
runtime; build; native; contentfiles; analyzers; buildtransitive
-
-
+
+
all
runtime; build; native; contentfiles; analyzers; buildtransitive
-
diff --git a/Chapter-1-initial-architecture/Src/Fitnet.UnitTests/Contracts/SignContract/SignContractTestData.cs b/Chapter-1-initial-architecture/Src/Fitnet.UnitTests/Contracts/SignContract/SignContractTestData.cs
index f3821e04..63a6f8aa 100644
--- a/Chapter-1-initial-architecture/Src/Fitnet.UnitTests/Contracts/SignContract/SignContractTestData.cs
+++ b/Chapter-1-initial-architecture/Src/Fitnet.UnitTests/Contracts/SignContract/SignContractTestData.cs
@@ -4,17 +4,17 @@ internal sealed class SignContractTestData : TheoryData
-
-
+
+
all
runtime; build; native; contentfiles; analyzers; buildtransitive
-
-
+
all
runtime; build; native; contentfiles; analyzers; buildtransitive
diff --git a/Chapter-1-initial-architecture/Src/Fitnet/Contracts/Data/Database/Migrations/20230608060456_MakeSignedAtColumnNotRequired.cs b/Chapter-1-initial-architecture/Src/Fitnet/Contracts/Data/Database/Migrations/20230608060456_MakeSignedAtColumnNotRequired.cs
index 4e4bdd56..50518cfc 100644
--- a/Chapter-1-initial-architecture/Src/Fitnet/Contracts/Data/Database/Migrations/20230608060456_MakeSignedAtColumnNotRequired.cs
+++ b/Chapter-1-initial-architecture/Src/Fitnet/Contracts/Data/Database/Migrations/20230608060456_MakeSignedAtColumnNotRequired.cs
@@ -1,6 +1,7 @@
#nullable disable
namespace EvolutionaryArchitecture.Fitnet.Contracts.Data.Database.Migrations;
+
using System;
using Microsoft.EntityFrameworkCore.Migrations;
diff --git a/Chapter-1-initial-architecture/Src/Fitnet/Contracts/Data/Database/Migrations/20230608060545_AddCustomerIdColumntoContractsTable.cs b/Chapter-1-initial-architecture/Src/Fitnet/Contracts/Data/Database/Migrations/20230608060545_AddCustomerIdColumntoContractsTable.cs
index 2bdc3ade..d0546e05 100644
--- a/Chapter-1-initial-architecture/Src/Fitnet/Contracts/Data/Database/Migrations/20230608060545_AddCustomerIdColumntoContractsTable.cs
+++ b/Chapter-1-initial-architecture/Src/Fitnet/Contracts/Data/Database/Migrations/20230608060545_AddCustomerIdColumntoContractsTable.cs
@@ -1,6 +1,7 @@
#nullable disable
namespace EvolutionaryArchitecture.Fitnet.Contracts.Data.Database.Migrations;
+
using System;
using Microsoft.EntityFrameworkCore.Migrations;
diff --git a/Chapter-1-initial-architecture/Src/Fitnet/Contracts/Data/Database/Migrations/20230618131127_ContractsAddColumnsToSupportContractExpiration.cs b/Chapter-1-initial-architecture/Src/Fitnet/Contracts/Data/Database/Migrations/20230618131127_ContractsAddColumnsToSupportContractExpiration.cs
index 30e31b28..1e8db3d1 100644
--- a/Chapter-1-initial-architecture/Src/Fitnet/Contracts/Data/Database/Migrations/20230618131127_ContractsAddColumnsToSupportContractExpiration.cs
+++ b/Chapter-1-initial-architecture/Src/Fitnet/Contracts/Data/Database/Migrations/20230618131127_ContractsAddColumnsToSupportContractExpiration.cs
@@ -1,6 +1,7 @@
#nullable disable
namespace EvolutionaryArchitecture.Fitnet.Contracts.Data.Database.Migrations;
+
using System;
using Microsoft.EntityFrameworkCore.Migrations;
diff --git a/Chapter-1-initial-architecture/Src/Fitnet/Offers/Data/Database/Migrations/20230503180337_Create_Offers_table.cs b/Chapter-1-initial-architecture/Src/Fitnet/Offers/Data/Database/Migrations/20230503180337_Create_Offers_table.cs
index a5e2b173..7ab42e2b 100644
--- a/Chapter-1-initial-architecture/Src/Fitnet/Offers/Data/Database/Migrations/20230503180337_Create_Offers_table.cs
+++ b/Chapter-1-initial-architecture/Src/Fitnet/Offers/Data/Database/Migrations/20230503180337_Create_Offers_table.cs
@@ -1,6 +1,7 @@
#nullable disable
namespace SuperSimpleArchitecture.Fitnet.Migrations.OffersPersistenceMigrations;
+
using System;
using System.Diagnostics.CodeAnalysis;
using Microsoft.EntityFrameworkCore.Migrations;
diff --git a/Chapter-1-initial-architecture/Src/Fitnet/Passes/Data/Database/Migrations/20230503180338_CreatePassesTable.cs b/Chapter-1-initial-architecture/Src/Fitnet/Passes/Data/Database/Migrations/20230503180338_CreatePassesTable.cs
index 26dd8601..3cf19867 100644
--- a/Chapter-1-initial-architecture/Src/Fitnet/Passes/Data/Database/Migrations/20230503180338_CreatePassesTable.cs
+++ b/Chapter-1-initial-architecture/Src/Fitnet/Passes/Data/Database/Migrations/20230503180338_CreatePassesTable.cs
@@ -1,6 +1,7 @@
#nullable disable
namespace EvolutionaryArchitecture.Fitnet.Migrations;
+
using System;
using Microsoft.EntityFrameworkCore.Migrations;
From 4b483225f46b3c688d36632eb56885e2e0ce6b45 Mon Sep 17 00:00:00 2001
From: Copilot <198982749+Copilot@users.noreply.github.com>
Date: Tue, 9 Dec 2025 20:46:33 +0100
Subject: [PATCH 2/2] feat: upgrade xUnit to v3 (#225)
---
.../Fitnet.ArchitectureTests.csproj | 6 +++---
.../Common/TestEngine/DatabaseContainer.cs | 4 ++--
.../PrepareContract/PrepareContractTests.cs | 18 +++++++++---------
.../SignContract/SignContractTests.cs | 14 +++++++-------
.../Fitnet.IntegrationTests.csproj | 10 +++++-----
.../MarkPassAsExpiredTests.cs | 10 +++++-----
.../Passes/RegisterPass/RegisterPassTests.cs | 6 +++---
.../GenerateNewPassesPerMonthReportTests.cs | 8 ++++----
.../Fitnet.UnitTests/Fitnet.UnitTests.csproj | 7 ++++---
.../GlobalExceptionHandlerTests.cs | 4 ++--
10 files changed, 44 insertions(+), 43 deletions(-)
diff --git a/Chapter-1-initial-architecture/Src/Fitnet.ArchitectureTests/Fitnet.ArchitectureTests.csproj b/Chapter-1-initial-architecture/Src/Fitnet.ArchitectureTests/Fitnet.ArchitectureTests.csproj
index 5df53237..be0e7048 100644
--- a/Chapter-1-initial-architecture/Src/Fitnet.ArchitectureTests/Fitnet.ArchitectureTests.csproj
+++ b/Chapter-1-initial-architecture/Src/Fitnet.ArchitectureTests/Fitnet.ArchitectureTests.csproj
@@ -7,12 +7,12 @@
-
-
+
+
all
runtime; build; native; contentfiles; analyzers; buildtransitive
-
+
all
runtime; build; native; contentfiles; analyzers; buildtransitive
diff --git a/Chapter-1-initial-architecture/Src/Fitnet.IntegrationTests/Common/TestEngine/DatabaseContainer.cs b/Chapter-1-initial-architecture/Src/Fitnet.IntegrationTests/Common/TestEngine/DatabaseContainer.cs
index 1a7f4f52..4f471d6e 100644
--- a/Chapter-1-initial-architecture/Src/Fitnet.IntegrationTests/Common/TestEngine/DatabaseContainer.cs
+++ b/Chapter-1-initial-architecture/Src/Fitnet.IntegrationTests/Common/TestEngine/DatabaseContainer.cs
@@ -11,7 +11,7 @@ public sealed class DatabaseContainer : IAsyncLifetime
private PostgreSqlContainer? _container;
internal string? ConnectionString;
- public async Task InitializeAsync()
+ public async ValueTask InitializeAsync()
{
_container = new PostgreSqlBuilder()
.WithDatabase(Database)
@@ -24,5 +24,5 @@ public async Task InitializeAsync()
ConnectionString = _container.GetConnectionString();
}
- public async Task DisposeAsync() => await _container!.StopAsync();
+ public async ValueTask DisposeAsync() => await _container!.StopAsync();
}
diff --git a/Chapter-1-initial-architecture/Src/Fitnet.IntegrationTests/Contracts/PrepareContract/PrepareContractTests.cs b/Chapter-1-initial-architecture/Src/Fitnet.IntegrationTests/Contracts/PrepareContract/PrepareContractTests.cs
index 636a52d6..a210c260 100644
--- a/Chapter-1-initial-architecture/Src/Fitnet.IntegrationTests/Contracts/PrepareContract/PrepareContractTests.cs
+++ b/Chapter-1-initial-architecture/Src/Fitnet.IntegrationTests/Contracts/PrepareContract/PrepareContractTests.cs
@@ -37,11 +37,11 @@ internal async Task Given_valid_contract_preparation_request_When_preparing_new_
var customerId = Guid.NewGuid();
var requestParameters = PrepareContractRequestParameters.GetValid();
var prepareContractResponse = await PrepareCorrectContract(requestParameters, customerId);
- var preparedContractId = await prepareContractResponse.Content.ReadFromJsonAsync();
+ var preparedContractId = await prepareContractResponse.Content.ReadFromJsonAsync(TestContext.Current.CancellationToken);
var signContractRequestParameters = SignContractRequestParameters.GetValid(preparedContractId);
var signContractRequest = new SignContractRequest(signContractRequestParameters.SignedAt);
var signContractResponse =
- await _applicationHttpClient.PatchAsJsonAsync(signContractRequestParameters.Url, signContractRequest);
+ await _applicationHttpClient.PatchAsJsonAsync(signContractRequestParameters.Url, signContractRequest, TestContext.Current.CancellationToken);
signContractResponse.StatusCode.ShouldBe(HttpStatusCode.NoContent);
// Act
@@ -62,12 +62,12 @@ internal async Task Given_contract_preparation_request_with_invalid_age_Then_sho
// Act
using var prepareContractResponse =
- await _applicationHttpClient.PostAsJsonAsync(ContractsApiPaths.Prepare, prepareContractRequest);
+ await _applicationHttpClient.PostAsJsonAsync(ContractsApiPaths.Prepare, prepareContractRequest, TestContext.Current.CancellationToken);
// Assert
prepareContractResponse.StatusCode.ShouldBe(HttpStatusCode.Conflict);
- var responseMessage = await prepareContractResponse.Content.ReadFromJsonAsync();
+ var responseMessage = await prepareContractResponse.Content.ReadFromJsonAsync(TestContext.Current.CancellationToken);
responseMessage?.Status.ShouldBe((int)HttpStatusCode.Conflict);
responseMessage?.Title.ShouldBe("Contract can not be prepared for a person who is not adult");
}
@@ -83,12 +83,12 @@ internal async Task Given_contract_preparation_request_with_invalid_height_Then_
// Act
using var prepareContractResponse =
- await _applicationHttpClient.PostAsJsonAsync(ContractsApiPaths.Prepare, prepareContractRequest);
+ await _applicationHttpClient.PostAsJsonAsync(ContractsApiPaths.Prepare, prepareContractRequest, TestContext.Current.CancellationToken);
// Assert
prepareContractResponse.StatusCode.ShouldBe(HttpStatusCode.Conflict);
- var responseMessage = await prepareContractResponse.Content.ReadFromJsonAsync();
+ var responseMessage = await prepareContractResponse.Content.ReadFromJsonAsync(TestContext.Current.CancellationToken);
responseMessage?.Status.ShouldBe((int)HttpStatusCode.Conflict);
responseMessage?.Title.ShouldBe("Customer height must fit maximum limit for gym instruments");
}
@@ -107,7 +107,7 @@ internal async Task
// Assert
prepareContractResponse.StatusCode.ShouldBe(HttpStatusCode.Conflict);
- var responseMessage = await prepareContractResponse.Content.ReadFromJsonAsync();
+ var responseMessage = await prepareContractResponse.Content.ReadFromJsonAsync(TestContext.Current.CancellationToken);
responseMessage?.Status.ShouldBe((int)HttpStatusCode.Conflict);
responseMessage?.Title.ShouldBe("Previous contract must be signed by the customer");
}
@@ -123,9 +123,9 @@ private async Task PrepareCorrectContract(PrepareContractRe
return prepareContractResponse;
}
- public Task InitializeAsync() => Task.CompletedTask;
+ public ValueTask InitializeAsync() => ValueTask.CompletedTask;
- public async Task DisposeAsync()
+ public async ValueTask DisposeAsync()
{
_applicationHttpClient.Dispose();
await applicationInMemoryFactory.DisposeAsync();
diff --git a/Chapter-1-initial-architecture/Src/Fitnet.IntegrationTests/Contracts/SignContract/SignContractTests.cs b/Chapter-1-initial-architecture/Src/Fitnet.IntegrationTests/Contracts/SignContract/SignContractTests.cs
index 53b58014..ef6f822a 100644
--- a/Chapter-1-initial-architecture/Src/Fitnet.IntegrationTests/Contracts/SignContract/SignContractTests.cs
+++ b/Chapter-1-initial-architecture/Src/Fitnet.IntegrationTests/Contracts/SignContract/SignContractTests.cs
@@ -25,9 +25,9 @@ public SignContractTests(WebApplicationFactory applicationInMemoryFacto
.CreateClient();
}
- public Task InitializeAsync() => Task.CompletedTask;
+ public ValueTask InitializeAsync() => ValueTask.CompletedTask;
- public async Task DisposeAsync()
+ public async ValueTask DisposeAsync()
{
_applicationHttpClient.Dispose();
await _applicationInMemoryFactory.DisposeAsync();
@@ -43,7 +43,7 @@ internal async Task Given_valid_contract_signature_request_Then_should_return_no
// Act
using var signContractResponse =
- await _applicationHttpClient.PatchAsJsonAsync(requestParameters.Url, signContractRequest);
+ await _applicationHttpClient.PatchAsJsonAsync(requestParameters.Url, signContractRequest, TestContext.Current.CancellationToken);
// Assert
signContractResponse.StatusCode.ShouldBe(HttpStatusCode.NoContent);
@@ -58,7 +58,7 @@ internal async Task Given_valid_contract_signature_request_Then_contract_signed_
var signContractRequest = new SignContractRequest(requestParameters.SignedAt);
// Act
- await _applicationHttpClient.PatchAsJsonAsync(requestParameters.Url, signContractRequest);
+ await _applicationHttpClient.PatchAsJsonAsync(requestParameters.Url, signContractRequest, TestContext.Current.CancellationToken);
// Assert
EnsureThatContractSignedEventWasPublished();
@@ -76,7 +76,7 @@ internal async Task Given_contract_signature_request_with_not_existing_id_Then_s
// Act
using var signContractResponse =
- await _applicationHttpClient.PatchAsJsonAsync(requestParameters.Url, signContractRequest);
+ await _applicationHttpClient.PatchAsJsonAsync(requestParameters.Url, signContractRequest, TestContext.Current.CancellationToken);
// Assert
signContractResponse.StatusCode.ShouldBe(HttpStatusCode.NotFound);
@@ -94,12 +94,12 @@ internal async Task
// Act
using var signContractResponse =
- await _applicationHttpClient.PatchAsJsonAsync(requestParameters.Url, signContractRequest);
+ await _applicationHttpClient.PatchAsJsonAsync(requestParameters.Url, signContractRequest, TestContext.Current.CancellationToken);
// Assert
signContractResponse.StatusCode.ShouldBe(HttpStatusCode.Conflict);
- var responseMessage = await signContractResponse.Content.ReadFromJsonAsync();
+ var responseMessage = await signContractResponse.Content.ReadFromJsonAsync(TestContext.Current.CancellationToken);
responseMessage?.Status.ShouldBe((int)HttpStatusCode.Conflict);
responseMessage?.Title.ShouldBe("Contract can not be signed because more than 30 days have passed from the contract preparation");
}
diff --git a/Chapter-1-initial-architecture/Src/Fitnet.IntegrationTests/Fitnet.IntegrationTests.csproj b/Chapter-1-initial-architecture/Src/Fitnet.IntegrationTests/Fitnet.IntegrationTests.csproj
index 702f2bf9..64ca184c 100644
--- a/Chapter-1-initial-architecture/Src/Fitnet.IntegrationTests/Fitnet.IntegrationTests.csproj
+++ b/Chapter-1-initial-architecture/Src/Fitnet.IntegrationTests/Fitnet.IntegrationTests.csproj
@@ -2,7 +2,7 @@
false
- $(NoWarn);S3604
+ $(NoWarn);S3604;xUnit1050
@@ -10,15 +10,15 @@
-
-
+
+
all
runtime; build; native; contentfiles; analyzers; buildtransitive
-
-
+
+
all
runtime; build; native; contentfiles; analyzers; buildtransitive
diff --git a/Chapter-1-initial-architecture/Src/Fitnet.IntegrationTests/Passes/MarkPassAsExpired/MarkPassAsExpiredTests.cs b/Chapter-1-initial-architecture/Src/Fitnet.IntegrationTests/Passes/MarkPassAsExpired/MarkPassAsExpiredTests.cs
index af61f34e..ec0043db 100644
--- a/Chapter-1-initial-architecture/Src/Fitnet.IntegrationTests/Passes/MarkPassAsExpired/MarkPassAsExpiredTests.cs
+++ b/Chapter-1-initial-architecture/Src/Fitnet.IntegrationTests/Passes/MarkPassAsExpired/MarkPassAsExpiredTests.cs
@@ -36,7 +36,7 @@ internal async Task Given_valid_mark_pass_as_expired_request_Then_should_return_
var url = BuildUrl(registeredPassId);
// Act
- await _applicationHttpClient.PatchAsJsonAsync(url, EmptyContent);
+ await _applicationHttpClient.PatchAsJsonAsync(url, EmptyContent, TestContext.Current.CancellationToken);
// Assert
EnsureThatPassExpiredEventWasPublished();
@@ -51,7 +51,7 @@ internal async Task Given_valid_mark_pass_as_expired_request_Then_should_publish
var url = BuildUrl(registeredPassId);
// Act
- using var markAsExpiredResponse = await _applicationHttpClient.PatchAsJsonAsync(url, EmptyContent);
+ using var markAsExpiredResponse = await _applicationHttpClient.PatchAsJsonAsync(url, EmptyContent, TestContext.Current.CancellationToken);
// Assert
markAsExpiredResponse.StatusCode.ShouldBe(HttpStatusCode.NoContent);
@@ -65,7 +65,7 @@ internal async Task Given_mark_pass_as_expired_request_with_not_existing_id_Then
var url = BuildUrl(notExistingId);
// Act
- using var markAsExpiredResponse = await _applicationHttpClient.PatchAsJsonAsync(url, EmptyContent);
+ using var markAsExpiredResponse = await _applicationHttpClient.PatchAsJsonAsync(url, EmptyContent, TestContext.Current.CancellationToken);
// Assert
markAsExpiredResponse.StatusCode.ShouldBe(HttpStatusCode.NotFound);
@@ -103,9 +103,9 @@ private async Task GetCreatedPass(Guid customerId)
private void EnsureThatPassExpiredEventWasPublished() => _fakeEventBus.Received(1)
.PublishAsync(Arg.Any(), Arg.Any());
- public Task InitializeAsync() => Task.CompletedTask;
+ public ValueTask InitializeAsync() => ValueTask.CompletedTask;
- public async Task DisposeAsync()
+ public async ValueTask DisposeAsync()
{
_applicationHttpClient.Dispose();
await _applicationInMemoryFactory.DisposeAsync();
diff --git a/Chapter-1-initial-architecture/Src/Fitnet.IntegrationTests/Passes/RegisterPass/RegisterPassTests.cs b/Chapter-1-initial-architecture/Src/Fitnet.IntegrationTests/Passes/RegisterPass/RegisterPassTests.cs
index 71e0ed1a..0dd132db 100644
--- a/Chapter-1-initial-architecture/Src/Fitnet.IntegrationTests/Passes/RegisterPass/RegisterPassTests.cs
+++ b/Chapter-1-initial-architecture/Src/Fitnet.IntegrationTests/Passes/RegisterPass/RegisterPassTests.cs
@@ -21,9 +21,9 @@ public RegisterPassTests(WebApplicationFactory applicationInMemoryFacto
_applicationHttpClient = _applicationInMemory.CreateClient();
}
- public Task InitializeAsync() => Task.CompletedTask;
+ public ValueTask InitializeAsync() => ValueTask.CompletedTask;
- public async Task DisposeAsync()
+ public async ValueTask DisposeAsync()
{
_applicationHttpClient.Dispose();
await _applicationInMemory.DisposeAsync();
@@ -38,7 +38,7 @@ internal async Task Given_contract_signed_event_Then_should_register_pass()
var @event = ContractSignedEventFaker.Create();
// Act
- await integrationEventHandlerScope.Consume(@event);
+ await integrationEventHandlerScope.Consume(@event, TestContext.Current.CancellationToken);
// Assert
EnsureThatPassRegisteredEventWasPublished();
diff --git a/Chapter-1-initial-architecture/Src/Fitnet.IntegrationTests/Reports/GenerateNewPassesPerMonthReport/GenerateNewPassesPerMonthReportTests.cs b/Chapter-1-initial-architecture/Src/Fitnet.IntegrationTests/Reports/GenerateNewPassesPerMonthReport/GenerateNewPassesPerMonthReportTests.cs
index 99bc0655..f714e98c 100644
--- a/Chapter-1-initial-architecture/Src/Fitnet.IntegrationTests/Reports/GenerateNewPassesPerMonthReport/GenerateNewPassesPerMonthReportTests.cs
+++ b/Chapter-1-initial-architecture/Src/Fitnet.IntegrationTests/Reports/GenerateNewPassesPerMonthReport/GenerateNewPassesPerMonthReportTests.cs
@@ -34,11 +34,11 @@ internal async Task Given_valid_generate_new_report_request_Then_should_return_c
await RegisterPasses(passRegistrationDateRanges);
// Act
- using var getReportResult = await _applicationHttpClient.GetAsync(ReportsApiPaths.GenerateNewReport);
+ using var getReportResult = await _applicationHttpClient.GetAsync(ReportsApiPaths.GenerateNewReport, TestContext.Current.CancellationToken);
// Assert
getReportResult.StatusCode.ShouldBe(HttpStatusCode.OK);
- var reportData = await getReportResult.Content.ReadFromJsonAsync();
+ var reportData = await getReportResult.Content.ReadFromJsonAsync(TestContext.Current.CancellationToken);
await Verify(reportData);
}
@@ -59,9 +59,9 @@ private async Task RegisterPass(DateTimeOffset from, DateTimeOffset to)
await integrationEventHandler.Handle(@event, CancellationToken.None);
}
- public Task InitializeAsync() => Task.CompletedTask;
+ public ValueTask InitializeAsync() => ValueTask.CompletedTask;
- public async Task DisposeAsync()
+ public async ValueTask DisposeAsync()
{
_applicationHttpClient.Dispose();
await _applicationInMemoryFactory.DisposeAsync();
diff --git a/Chapter-1-initial-architecture/Src/Fitnet.UnitTests/Fitnet.UnitTests.csproj b/Chapter-1-initial-architecture/Src/Fitnet.UnitTests/Fitnet.UnitTests.csproj
index 9235fb35..8e76dd5e 100644
--- a/Chapter-1-initial-architecture/Src/Fitnet.UnitTests/Fitnet.UnitTests.csproj
+++ b/Chapter-1-initial-architecture/Src/Fitnet.UnitTests/Fitnet.UnitTests.csproj
@@ -2,18 +2,19 @@
false
+ $(NoWarn);xUnit1050
-
-
+
+
all
runtime; build; native; contentfiles; analyzers; buildtransitive
-
+
all
runtime; build; native; contentfiles; analyzers; buildtransitive
diff --git a/Chapter-1-initial-architecture/Src/Fitnet.UnitTests/GlobalExceptionHandlerTests.cs b/Chapter-1-initial-architecture/Src/Fitnet.UnitTests/GlobalExceptionHandlerTests.cs
index f8f93bcc..1b9bc546 100644
--- a/Chapter-1-initial-architecture/Src/Fitnet.UnitTests/GlobalExceptionHandlerTests.cs
+++ b/Chapter-1-initial-architecture/Src/Fitnet.UnitTests/GlobalExceptionHandlerTests.cs
@@ -20,7 +20,7 @@ internal async Task Given_business_rule_validation_exception_Then_returns_confli
var exceptionHandler = new GlobalExceptionHandler(_logger);
// Act
- await exceptionHandler.TryHandleAsync(_context, new BusinessRuleValidationException(exceptionMessage), default);
+ await exceptionHandler.TryHandleAsync(_context, new BusinessRuleValidationException(exceptionMessage), TestContext.Current.CancellationToken);
// Assert
_context.Response.StatusCode.ShouldBe((int)HttpStatusCode.Conflict);
@@ -37,7 +37,7 @@ internal async Task Given_other_than_business_rule_validation_exception_Then_ret
var exceptionHandler = new GlobalExceptionHandler(_logger);
// Act
- await exceptionHandler.TryHandleAsync(_context, new InvalidCastException("test"), CancellationToken.None);
+ await exceptionHandler.TryHandleAsync(_context, new InvalidCastException("test"), TestContext.Current.CancellationToken);
// Assert
_context.Response.StatusCode.ShouldBe((int)HttpStatusCode.InternalServerError);