From b598bd9860134c79e05d6c7a88e7e760311a5636 Mon Sep 17 00:00:00 2001 From: Immad Date: Tue, 9 Jun 2026 17:14:15 -0500 Subject: [PATCH] Fix broken links in docs and README - Fix typo: step-functions-async.md -> step-functions-and-async.md (concepts/what-is-model-based-testing.md) - Fix relative path: step-functions-and-async.md -> ../concepts/step-functions-and-async.md (how-to/indefinite-failures.md) - Remove links to unwritten articles: not-just-http.md, concurrent-test-validation.md, step-functions.md, model-async-background-processing.md - Fix NuGet URLs: nuget.org -> www.nuget.org (3 references) - Point README API Reference to deployed docs site URL Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> --- README.md | 6 +++--- docs/concepts/what-is-model-based-testing.md | 2 +- docs/how-to/indefinite-failures.md | 2 +- docs/index.md | 2 +- docs/tutorials/01-your-first-spec.md | 1 - docs/tutorials/05-testing-race-conditions.md | 1 - docs/tutorials/06-async-operations-polling.md | 7 ------- 7 files changed, 6 insertions(+), 15 deletions(-) diff --git a/README.md b/README.md index a9f714f..5cbaed2 100644 --- a/README.md +++ b/README.md @@ -4,7 +4,7 @@ **Executable behavioral specifications for .NET** -[Documentation](https://microsoft.github.io/accordant) · [NuGet](https://nuget.org/packages/Microsoft.Accordant) · [Samples](Samples/) +[Documentation](https://microsoft.github.io/accordant) · [NuGet](https://www.nuget.org/packages/Microsoft.Accordant) · [Samples](Samples/) Accordant is a framework for model-based testing. You write a *spec* — executable code that captures the rules of your system. Given any state and any operation, the spec defines what the response should be and how the state should change. Accordant then generates hundreds of tests from this spec, runs them against your real implementation, and validates every response — telling you exactly where the implementation deviates from the rules. @@ -191,7 +191,7 @@ The same spec enables other kinds of testing: ## Get Started -Install the package ([NuGet](https://nuget.org/packages/Microsoft.Accordant)): +Install the package ([NuGet](https://www.nuget.org/packages/Microsoft.Accordant)): ```bash dotnet add package Microsoft.Accordant @@ -235,7 +235,7 @@ Passed VisualizeStateSpace [20 ms] | **[Concepts](docs/concepts/index.md)** | Understand the theory — model-based testing, linearizability, state graphs | | **[How-To Guides](docs/how-to/index.md)** | Solve specific problems — "how do I reset state between tests?" | | **[Samples](Samples/)** | Working code — BankAccount, TodoList, and more | -| **[API Reference](api/)** | Complete API documentation | +| **[API Reference](https://microsoft.github.io/accordant/api/Microsoft.Accordant.html)** | Complete API documentation | --- diff --git a/docs/concepts/what-is-model-based-testing.md b/docs/concepts/what-is-model-based-testing.md index bce5679..dff3a63 100644 --- a/docs/concepts/what-is-model-based-testing.md +++ b/docs/concepts/what-is-model-based-testing.md @@ -267,7 +267,7 @@ Call `GetOrder(orderId)` and it returns the order? Now we know it was created This ability to track uncertainty, then resolve it through observation, is what makes Accordant powerful for testing real distributed systems. **Other scenarios where multiple states arise:** -- **Async background work** — a job is processing; has it finished yet? → [Step Functions & Async Behavior](step-functions-async.md) +- **Async background work** — a job is processing; has it finished yet? → [Step Functions & Async Behavior](step-functions-and-async.md) - **Race conditions** — two concurrent requests compete; either could "win" → [Testing Race Conditions](../tutorials/05-testing-race-conditions.md) - **Server-generated values** — IDs and timestamps that you capture from responses → [Response-Dependent State](../tutorials/03-response-dependent-state.md) diff --git a/docs/how-to/indefinite-failures.md b/docs/how-to/indefinite-failures.md index 173be45..5f9d82b 100644 --- a/docs/how-to/indefinite-failures.md +++ b/docs/how-to/indefinite-failures.md @@ -202,7 +202,7 @@ This is the power of state profiles: they track what's *possible*, and conforman ## See Also -- [Step Functions & Async](step-functions-and-async.md) +- [Step Functions & Async](../concepts/step-functions-and-async.md) - **Sample**: [TodoList-FaultInjection](https://github.com/microsoft/accordant/tree/main/Samples/TodoList-FaultInjection) — A complete working example demonstrating: - Server-side fault injection (pre/post save DB faults) - Client-side fault injection (network failures) diff --git a/docs/index.md b/docs/index.md index a6575fb..b59fa89 100644 --- a/docs/index.md +++ b/docs/index.md @@ -189,7 +189,7 @@ The same spec enables other kinds of testing: ## Get Started -Install the package ([NuGet](https://nuget.org/packages/Microsoft.Accordant)): +Install the package ([NuGet](https://www.nuget.org/packages/Microsoft.Accordant)): ```bash dotnet add package Microsoft.Accordant diff --git a/docs/tutorials/01-your-first-spec.md b/docs/tutorials/01-your-first-spec.md index 3f835aa..4f27908 100644 --- a/docs/tutorials/01-your-first-spec.md +++ b/docs/tutorials/01-your-first-spec.md @@ -395,7 +395,6 @@ You've learned the core Accordant workflow: - **[Tutorial 2: Handling Errors](02-handling-errors.md)** - Exception handling with `Expect.Throws<>` - **[Tutorial 3: Response-Dependent State](03-response-dependent-state.md)** - When the server returns values you need to track -- **[Concept: Not Just HTTP](../concepts/not-just-http.md)** - Accordant works for any stateful class, not just REST APIs --- diff --git a/docs/tutorials/05-testing-race-conditions.md b/docs/tutorials/05-testing-race-conditions.md index ced4842..1c2a62f 100644 --- a/docs/tutorials/05-testing-race-conditions.md +++ b/docs/tutorials/05-testing-race-conditions.md @@ -297,7 +297,6 @@ You don't write concurrent test cases manually. Define the operations and inputs ## What's Next? - **[Tutorial 6: Async Operations](06-async-operations-polling.md)** - Testing background processing -- **[Concept: Concurrent Test Validation](../concepts/concurrent-test-validation.md)** - How linearizability checking works --- diff --git a/docs/tutorials/06-async-operations-polling.md b/docs/tutorials/06-async-operations-polling.md index 0882d37..11f09a9 100644 --- a/docs/tutorials/06-async-operations-polling.md +++ b/docs/tutorials/06-async-operations-polling.md @@ -452,13 +452,6 @@ public class JobQueueSpec : Spec --- -## What's Next? - -- **[Concept: Step Functions](../concepts/step-functions.md)** - Deeper dive into the model -- **[How-To: Model Async Background Processing](../how-to/model-async-background-processing.md)** - More patterns - ---- - ## Full Code Reference See the complete JobQueue sample: