From b8cdc212c005ec95bb2393af8e8abc2711e129fc Mon Sep 17 00:00:00 2001 From: Claude Date: Sun, 11 Oct 2026 10:16:30 +0000 Subject: [PATCH] Report: show the solution path relative to where report runs The header printed the solution's absolute path from the map, so a committed report carried the machine it was built on (C:\KKTest\..., then /home/user/...). A solution under the working directory now shows relative to it with forward slashes (samples/SampleShop/SampleShop.sln); one outside it keeps the recorded path. The sample report is rebuilt from the same index, so only its header line changes. Co-Authored-By: Claude Opus 5.5 Claude-Session: https://claude.ai/code/session_013F6VMUcDtZmJX3ZibLuzXg --- docs/sample-report.html | 2 +- specs/codemap-indexer.md | 6 ++++-- src/CodeMap.Cli/Program.cs | 2 +- .../Reporting/HtmlReportBuilder.cs | 21 +++++++++++++++++-- tests/CodeMap.Tests/HtmlReportBuilderTests.cs | 21 +++++++++++++++++++ 5 files changed, 46 insertions(+), 6 deletions(-) diff --git a/docs/sample-report.html b/docs/sample-report.html index 736038b..ce13096 100644 --- a/docs/sample-report.html +++ b/docs/sample-report.html @@ -169,7 +169,7 @@ .mono{font-family:var(--mono);font-size:12px}.dim{color:var(--faint)} footer{color:var(--faint);font-size:12px;text-align:center;padding:8px 0} @media(max-width:720px){.kind-row{grid-template-columns:110px 1fr 38px}.path{display:none}.binding{margin-left:0;flex-basis:100%}} -@media(prefers-reduced-motion:no-preference){.seg,.kind-fill{transition:width .4s ease}}
TestAtlas map report

SampleShop.sln

/home/user/TestAtlas/samples/SampleShop/SampleShop.sln · generated 2026-10-11T10:05:45Z · schema v5 · tool 0.1.14.0

8
projects
15
classes
36
methods
14
step definitions
4
features
5
scenarios
16
scenario steps
3
API endpoints

Step binding coverage

100%
  • 16 bound resolve to exactly one step definition
  • 0 ambiguous match more than one step definition
  • 0 unbound no step definition matches

Class kinds

api_client7
page_object4
step_class4

Projects

projectkindclassesmethodsfeaturesscenariossteps
SampleShop.Api.Cartshared_library23000
SampleShop.Api.Catalogshared_library24000
SampleShop.Api.Identityshared_library24000
SampleShop.Coreshared_library23000
SampleShop.Tests.Apibdd_tests27239
SampleShop.Tests.E2Ebdd_tests14114
SampleShop.Tests.Uibdd_tests13113
SampleShop.Ui.Pagesshared_library38000

Collaborators

4 page objects · 7 API clients
collaboratorkinddriven byextends
CartApiClientapi_client3 methodsApiClientBase
AuthApiClientapi_client2 methodsApiClientBase
CategoriesApiClientapi_client2 methodsApiClientBase
CheckoutPagepage_object2 methodsPageBase
ProductsApiClientapi_client2 methodsApiClientBase
CheckoutApiClientapi_client1 methodApiClientBase
LoginPagepage_object1 methodPageBase
ProductPagepage_object1 methodPageBase
UsersApiClientapi_client1 methodApiClientBase
ApiClientBaseapi_client6 subclasses
PageBasepage_object3 subclasses

API endpoints

3 routes
verbendpointkindcall sitesscenarios

Features

4 features · 5 scenarios
Catalog API2 scenariosSampleShop.Tests.Api/Features/Catalog.feature
List available products
exercises 2 endpointsGETcategories/{id}GETproducts/{id}
  • Given the shop API is available→ the shop API is available CatalogApiSteps.cs:19
  • When a request for the product list is made→ a request for the product list is made CatalogApiSteps.cs:27
  • Then the product list is returned→ the product list is returned CatalogApiSteps.cs:40
Add a product to the cart
exercises 2 endpointsGETcategories/{id}GETproducts/{id}
  • Given the shop API is available→ the shop API is available CatalogApiSteps.cs:19
  • When product 42 is added to the cart with quantity 2→ product (.*) is added to the cart with quantity (.*) CatalogApiSteps.cs:34
  • Then the cart is not empty→ the cart is not empty CatalogApiSteps.cs:43
Checkout UI1 scenarioSampleShop.Tests.Ui/Features/Checkout.feature
Place an order as a signed-in customer
  • Given the customer "ada@example.com" is signed in→ the customer "(.*)" is signed in CheckoutUiSteps.cs:18
  • When they check out with shipping address "1 King Street"→ they check out with shipping address "(.*)" CheckoutUiSteps.cs:26
  • Then the order is placed→ the order is placed CheckoutUiSteps.cs:35
Identity API1 scenarioSampleShop.Tests.Api/Features/Identity.feature
Sign in and read profile
exercises 3 endpointsGETcategories/{id}GETproducts/{id}GETusers/{id}
  • Given the shop API is available→ the shop API is available CatalogApiSteps.cs:19
  • When the user "ada@example.com" signs in→ the user "(.*)" signs in IdentityApiSteps.cs:17
  • Then the current user's profile can be read→ the current user's profile can be read IdentityApiSteps.cs:24
Purchase journey (E2E)1 scenarioSampleShop.Tests.E2E/Features/PurchaseJourney.feature
Sign in, view a product, and place an order
  • Given the customer "ada@example.com" is authenticated→ the customer "(.*)" is authenticated PurchaseJourneySteps.cs:26
  • And the product 42 page is open→ the product (.*) page is open PurchaseJourneySteps.cs:33
  • When the customer checks out with address "1 King Street"→ the customer checks out with address "(.*)" PurchaseJourneySteps.cs:41
  • Then the order is confirmed→ the order is confirmed PurchaseJourneySteps.cs:50
Generated by TestAtlas — static semantic map for .NET test-automation solutions.