Skip to content

Commit c9b2a97

Browse files
committed
refactor: reorganize source projects into subdirectories and split test projects
1 parent 8123472 commit c9b2a97

139 files changed

Lines changed: 97 additions & 59 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

.github/workflows/ci.yml

Lines changed: 8 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -42,13 +42,17 @@ jobs:
4242
- name: Build
4343
run: dotnet build --no-restore --configuration Release
4444

45-
- name: Run unit tests (fast feedback)
46-
run: dotnet test --project src/BookStore.Tests/BookStore.Tests.csproj --configuration Release --no-build --treenode-filter "/**[Category=Unit]" ${{ github.event_name == 'pull_request' && '--fail-fast' || '' }}
45+
- name: Run API unit tests (fast feedback)
46+
run: dotnet test --project src/ApiService/BookStore.ApiService.Tests/BookStore.ApiService.Tests.csproj --configuration Release --no-build --treenode-filter "/**[Category=Unit]" ${{ github.event_name == 'pull_request' && '--fail-fast' || '' }}
4747
# TUnit automatically generates GitHub Actions test summary
4848
# Run fast unit tests first for quick feedback
4949

50-
- name: Run integration tests
51-
run: dotnet test --project src/BookStore.Tests/BookStore.Tests.csproj --configuration Release --no-build --treenode-filter "/**[Category=Integration]"
50+
- name: Run analyzer tests
51+
run: dotnet test --project src/ApiService/BookStore.ApiService.Analyzers.Tests/BookStore.ApiService.Analyzers.Tests.csproj --configuration Release --no-build --treenode-filter "/**[Category=Unit]"
52+
# Verify Roslyn analyzers work correctly
53+
54+
- name: Run web integration tests
55+
run: dotnet test --project src/Web/BookStore.Web.Tests/BookStore.Web.Tests.csproj --configuration Release --no-build --treenode-filter "/**[Category=Integration]"
5256
# Integration tests run after unit tests pass
5357
# Slower tests that require full application stack
5458

BookStore.slnx

Lines changed: 12 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,16 @@
11
<Solution>
22
<Folder Name="/src/">
3-
<Project Path="src/BookStore.ApiService.Analyzers.Tests/BookStore.ApiService.Analyzers.Tests.csproj" />
4-
<Project Path="src/BookStore.ApiService.Analyzers/BookStore.ApiService.Analyzers.csproj" />
3+
<Folder Name="/ApiService/">
4+
<Project Path="src/ApiService/BookStore.ApiService/BookStore.ApiService.csproj" />
5+
<Project Path="src/ApiService/BookStore.ApiService.Analyzers/BookStore.ApiService.Analyzers.csproj" />
6+
<Project Path="src/ApiService/BookStore.ApiService.Analyzers.Tests/BookStore.ApiService.Analyzers.Tests.csproj" />
7+
<Project Path="src/ApiService/BookStore.ApiService.Tests/BookStore.ApiService.Tests.csproj" />
8+
</Folder>
9+
<Folder Name="/Web/">
10+
<Project Path="src/Web/BookStore.Web/BookStore.Web.csproj" />
11+
<Project Path="src/Web/BookStore.Web.Tests/BookStore.Web.Tests.csproj" />
12+
</Folder>
13+
<Project Path="src/BookStore.AppHost/BookStore.AppHost.csproj" />
14+
<Project Path="src/BookStore.ServiceDefaults/BookStore.ServiceDefaults.csproj" />
515
</Folder>
6-
<Project Path="src\BookStore.ApiService\BookStore.ApiService.csproj" />
7-
<Project Path="src\BookStore.AppHost\BookStore.AppHost.csproj" />
8-
<Project Path="src\BookStore.ServiceDefaults\BookStore.ServiceDefaults.csproj" />
9-
<Project Path="src\BookStore.Web\BookStore.Web.csproj" />
10-
<Project Path="src\BookStore.Tests\BookStore.Tests.csproj" />
1116
</Solution>

docs/README.md

Lines changed: 11 additions & 6 deletions

docs/getting-started.md

Lines changed: 1 addition & 1 deletion

docs/performance-guide.md

Lines changed: 3 additions & 3 deletions

src/BookStore.ApiService.Analyzers.Tests/Analyzers/EventMustBeRecordAnalyzerTests.cs renamed to src/ApiService/BookStore.ApiService.Analyzers.Tests/Analyzers/EventMustBeRecordAnalyzerTests.cs

File renamed without changes.

src/BookStore.ApiService.Analyzers.Tests/BookStore.ApiService.Analyzers.Tests.csproj renamed to src/ApiService/BookStore.ApiService.Analyzers.Tests/BookStore.ApiService.Analyzers.Tests.csproj

File renamed without changes.

src/BookStore.ApiService.Analyzers.Tests/TestData/BS1001/Diagnostic/AuthorUpdatedClass.cs renamed to src/ApiService/BookStore.ApiService.Analyzers.Tests/TestData/BS1001/Diagnostic/AuthorUpdatedClass.cs

File renamed without changes.

src/BookStore.ApiService.Analyzers.Tests/TestData/BS1001/Diagnostic/BookAddedClass.cs renamed to src/ApiService/BookStore.ApiService.Analyzers.Tests/TestData/BS1001/Diagnostic/BookAddedClass.cs

File renamed without changes.

src/BookStore.ApiService.Analyzers.Tests/TestData/BS1001/Diagnostic/ClassEvents.cs renamed to src/ApiService/BookStore.ApiService.Analyzers.Tests/TestData/BS1001/Diagnostic/ClassEvents.cs

File renamed without changes.

0 commit comments

Comments
 (0)