From 2052846884f6174fb06ea6c961d49a87fa13ae2c Mon Sep 17 00:00:00 2001 From: Stevan Freeborn <65925598+StevanFreeborn@users.noreply.github.com> Date: Sat, 22 Nov 2025 07:21:10 -0600 Subject: [PATCH 01/11] chore: fix launch.json so path for debug reflects using .NET 10 --- .vscode/launch.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.vscode/launch.json b/.vscode/launch.json index 6c8934d..0668f58 100644 --- a/.vscode/launch.json +++ b/.vscode/launch.json @@ -22,7 +22,7 @@ "type": "coreclr", "request": "launch", "preLaunchTask": "build_blog", - "program": "${workspaceFolder}/src/Blog/bin/Debug/net8.0/Blog.dll", + "program": "${workspaceFolder}/src/Blog/bin/Debug/net10.0/Blog.dll", "args": [], "cwd": "${workspaceFolder}/src/Blog", "stopAtEntry": false, From 9cda604549c9458a00a0ae8599d9b90a2764c0b2 Mon Sep 17 00:00:00 2001 From: Stevan Freeborn <65925598+StevanFreeborn@users.noreply.github.com> Date: Sat, 22 Nov 2025 07:21:25 -0600 Subject: [PATCH 02/11] chore: whitelist Bunit as proper word --- .vscode/settings.json | 1 + 1 file changed, 1 insertion(+) diff --git a/.vscode/settings.json b/.vscode/settings.json index 90d34a2..83d04ac 100644 --- a/.vscode/settings.json +++ b/.vscode/settings.json @@ -3,6 +3,7 @@ "Abramov", "Antiforgery", "blazor", + "Bunit", "Deets", "Entitize", "Hsts", From 806c5a3b52cd385a8bbcfc12e5503369f259b3f0 Mon Sep 17 00:00:00 2001 From: Stevan Freeborn <65925598+StevanFreeborn@users.noreply.github.com> Date: Sat, 22 Nov 2025 07:22:03 -0600 Subject: [PATCH 03/11] fix: open .NET link in new tab --- src/Blog/Components/Layout/Header.razor | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/Blog/Components/Layout/Header.razor b/src/Blog/Components/Layout/Header.razor index 1853873..48bc2b3 100644 --- a/src/Blog/Components/Layout/Header.razor +++ b/src/Blog/Components/Layout/Header.razor @@ -4,8 +4,8 @@

journal

-

using - +

using + .NET @Environment.Version.Major

@@ -18,4 +18,4 @@ Stevan Freeborn
- + \ No newline at end of file From 227d9177108d78aa522f95531b60c49a36579239 Mon Sep 17 00:00:00 2001 From: Stevan Freeborn <65925598+StevanFreeborn@users.noreply.github.com> Date: Sat, 22 Nov 2025 07:22:30 -0600 Subject: [PATCH 04/11] fix: remove hacky workaround for scroll position when navigating --- src/Blog/Components/App.razor | 14 +------------- 1 file changed, 1 insertion(+), 13 deletions(-) diff --git a/src/Blog/Components/App.razor b/src/Blog/Components/App.razor index 0964fdf..806fdca 100644 --- a/src/Blog/Components/App.razor +++ b/src/Blog/Components/App.razor @@ -31,18 +31,6 @@ referrerpolicy="no-referrer-when-downgrade" /> } - - + \ No newline at end of file From 169345211616ec640576c90a149cbda96909c1ae Mon Sep 17 00:00:00 2001 From: Stevan Freeborn <65925598+StevanFreeborn@users.noreply.github.com> Date: Sat, 22 Nov 2025 07:22:47 -0600 Subject: [PATCH 05/11] chore: upgrade to .NET 10 and associated dependencies --- src/Blog/Blog.csproj | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/src/Blog/Blog.csproj b/src/Blog/Blog.csproj index 5fb9413..c4206a0 100644 --- a/src/Blog/Blog.csproj +++ b/src/Blog/Blog.csproj @@ -1,16 +1,16 @@ - net9.0 + net10.0 enable enable 16b1dba7-29d0-466e-bd34-16d8018898eb - - - + + + From 157f32efc835af579b854361ae9a8b48c85684c4 Mon Sep 17 00:00:00 2001 From: Stevan Freeborn <65925598+StevanFreeborn@users.noreply.github.com> Date: Sat, 22 Nov 2025 07:23:02 -0600 Subject: [PATCH 06/11] chore: use proper base images for .NET 10 when building blog image --- src/Blog/Dockerfile | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/Blog/Dockerfile b/src/Blog/Dockerfile index 5ca056d..be8211b 100644 --- a/src/Blog/Dockerfile +++ b/src/Blog/Dockerfile @@ -1,4 +1,4 @@ -FROM mcr.microsoft.com/dotnet/sdk:9.0 AS setup-stage +FROM mcr.microsoft.com/dotnet/sdk:10.0 AS setup-stage WORKDIR /app COPY *.csproj ./ RUN dotnet restore @@ -13,7 +13,7 @@ CMD ["dotnet", "watch"] FROM setup-stage as build-stage RUN dotnet publish -c Release -o dist -FROM mcr.microsoft.com/dotnet/aspnet:9.0 AS production-stage +FROM mcr.microsoft.com/dotnet/aspnet:10.0 AS production-stage WORKDIR /app COPY --from=build-stage /app/dist ./ ENTRYPOINT ["dotnet", "Blog.dll"] From a1fa9f8a3730e5881fe0bb1782c7da560b23e921 Mon Sep 17 00:00:00 2001 From: Stevan Freeborn <65925598+StevanFreeborn@users.noreply.github.com> Date: Sat, 22 Nov 2025 07:23:23 -0600 Subject: [PATCH 07/11] fix: mark BlogTest class as abstract --- test/Blog.Tests/EndToEnd/BlogTest.cs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/test/Blog.Tests/EndToEnd/BlogTest.cs b/test/Blog.Tests/EndToEnd/BlogTest.cs index 13a1c42..6326d36 100644 --- a/test/Blog.Tests/EndToEnd/BlogTest.cs +++ b/test/Blog.Tests/EndToEnd/BlogTest.cs @@ -1,7 +1,7 @@ namespace Blog.Tests.EndToEnd; [TestFixture] -public class BlogTest : PageTest +public abstract class BlogTest : PageTest { private readonly BlogHostFactory _factory = new(); From 4d186a027484d74f214f35dcc4a14df685daf747 Mon Sep 17 00:00:00 2001 From: Stevan Freeborn <65925598+StevanFreeborn@users.noreply.github.com> Date: Sat, 22 Nov 2025 07:23:37 -0600 Subject: [PATCH 08/11] fix: replace deprecated TestContext with BunitContext --- test/Blog.Tests/Unit/Feed.spec.razor | 22 +++++++++++----------- test/Blog.Tests/Unit/Footer.spec.razor | 6 +++--- test/Blog.Tests/Unit/Header.spec.razor | 4 ++-- 3 files changed, 16 insertions(+), 16 deletions(-) diff --git a/test/Blog.Tests/Unit/Feed.spec.razor b/test/Blog.Tests/Unit/Feed.spec.razor index 708f372..e4a4244 100644 --- a/test/Blog.Tests/Unit/Feed.spec.razor +++ b/test/Blog.Tests/Unit/Feed.spec.razor @@ -1,6 +1,6 @@ -@inherits Bunit.TestContext +@inherits Bunit.BunitContext -@code +@code { private Mock _postServiceMock = new(); @@ -8,10 +8,10 @@ public void Feed_WhenRendedAndNoPosts_ItShouldRenderNoPostsMessage() { _postServiceMock - .Setup(x => x.GetPostsAsync()) - .ReturnsAsync(new List()); + .Setup(x => x.GetPostsAsync()) + .ReturnsAsync(new List()); - var ctx = new TestContext(); + var ctx = new BunitContext(); ctx.Services.AddSingleton(_postServiceMock.Object); @@ -24,15 +24,15 @@ public void Feed_WhenRendedAndPosts_ItShouldRenderPosts() { List posts = [ - new Post() { Title = "Post 1", }, - new Post() { Title = "Post 2", }, - ]; + new Post() { Title = "Post 1", }, +new Post() { Title = "Post 2", }, +]; _postServiceMock - .Setup(x => x.GetPostsAsync()) - .ReturnsAsync(posts); + .Setup(x => x.GetPostsAsync()) + .ReturnsAsync(posts); - var ctx = new TestContext(); + var ctx = new BunitContext(); ctx.Services.AddScoped(_ => _postServiceMock.Object); diff --git a/test/Blog.Tests/Unit/Footer.spec.razor b/test/Blog.Tests/Unit/Footer.spec.razor index 80e5717..a774944 100644 --- a/test/Blog.Tests/Unit/Footer.spec.razor +++ b/test/Blog.Tests/Unit/Footer.spec.razor @@ -1,11 +1,11 @@ -@inherits Bunit.TestContext +@inherits Bunit.BunitContext -@code +@code { [Test] public void Footer_WhenRendered_ItShouldRenderFooterWithNavLinks() { - var ctx = new TestContext(); + var ctx = new BunitContext(); var cut = ctx.Render(@