You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Team update (2026-03-08): ContosoUniversity acceptance test patterns partial ID selectors, cascading fallbacks, CONTOSO_BASE_URL env var decided by Rogue
Copy file name to clipboardExpand all lines: .ai-team/agents/cyclops/history.md
+4-1Lines changed: 4 additions & 1 deletion
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -121,4 +121,7 @@ The `-TestMode` switch redirected all output to a `Layer2Output/` subdirectory i
121
121
**Key learning:** When CheckBox and RadioButton are in the same family, their HTML structure should match. RadioButton already had the span wrapper — CheckBox was the inconsistency.
122
122
123
123
124
-
Team update (2026-03-08): Second sample project will be purpose-built 'EventManager' Control Gallery targeting ~12-15 pages with controls WingtipToys doesn't cover decided by Forge
124
+
Team update (2026-03-08): Second sample project will be purpose-built 'EventManager' Control Gallery targeting ~12-15 pages with controls WingtipToys doesn't cover decided by Forge
125
+
Team update (2026-03-08): ContosoUniversity acceptance test patterns partial ID selectors, cascading fallbacks, CONTOSO_BASE_URL env var decided by Rogue
126
+
127
+
Team update (2026-03-08): ContosoUniversity local setup LocalDB connection strings, AjaxControlToolkit HintPath fix, NBGV block — decided by Colossus
Copy file name to clipboardExpand all lines: .ai-team/agents/forge/history.md
+4-1Lines changed: 4 additions & 1 deletion
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -119,4 +119,7 @@ Key learning: The Web Forms sample ecosystem is effectively dead — WingtipToys
119
119
Key learning: `Microsoft.AspNetCore.Rewrite` regex rules operate on path only, not query string — this means query string preservation is automatic and free.
120
120
121
121
122
-
Team update (2026-03-08): P0 HTML fidelity fixes complete CheckBox span wrapper, BaseValidator id/class, FormView CssClass. 1488 tests pass. decided by Cyclops, Forge
122
+
Team update (2026-03-08): P0 HTML fidelity fixes complete CheckBox span wrapper, BaseValidator id/class, FormView CssClass. 1488 tests pass. decided by Cyclops, Forge
123
+
Team update (2026-03-08): ContosoUniversity acceptance test patterns partial ID selectors, cascading fallbacks, CONTOSO_BASE_URL env var decided by Rogue
124
+
125
+
Team update (2026-03-08): ContosoUniversity local setup LocalDB connection strings, AjaxControlToolkit HintPath fix, NBGV block — decided by Colossus
Team update (2026-03-08): Migration-test reports use standalone `{project-name}-runNN.md` files (zero-padded). Old run folders are read-only archives. decided by Beast
**40 Playwright acceptance tests for ContosoUniversity Web Forms app:** Mirrors the WingtipToys.AcceptanceTests pattern exactly — same csproj structure, PlaywrightFixture, TestConfiguration, xUnit collection. 6 test classes covering all 5 pages + master page navigation.
103
+
104
+
-**NavigationTests (11):** Master page nav links present, each nav link navigates correctly (×5 Theory), all pages return HTTP 200 (×5 Theory).
105
+
-**HomePageTests (4):** Page loads, welcome text, site branding, footer.
106
+
-**AboutPageTests (5):** Page loads, title text, GridView renders as table, expected columns (Date + Count), data rows present.
107
+
-**StudentsPageTests (9):** Full CRUD coverage — page load, GridView display, column headers, search by name, DetailsView details, add new student, edit student, delete student, clear button.
108
+
-**CoursesPageTests (6):** Page load, department dropdown options, department filter, course columns, search with DetailsView, pagination.
Key patterns: `[id*='...']` partial attribute selectors for Web Forms naming container resilience. `WaitForLoadStateAsync(LoadState.NetworkIdle)` for UpdatePanel AJAX. Fallback selectors (ID → container → generic table) for robustness. Dialog handler for delete confirmations. `CONTOSO_BASE_URL` env var (default `http://localhost:44380`).
112
+
113
+
Tests written proactively from page inventory — selectors may need minor tuning once app is running live. File: `src/ContosoUniversity.AcceptanceTests/`.
114
+
100
115
101
116
Team update (2026-03-08): P0 HTML fidelity fixes complete CheckBox span wrapper, BaseValidator id/class, FormView CssClass. 1488 tests pass. decided by Cyclops, Forge
102
-
Team update (2026-03-08): ASPX URL rewriting goes in migration-toolkit docs (RewriteOptions.AddRedirect snippet), not BWFC NuGet decided by Forge
117
+
Team update (2026-03-08): ASPX URL rewriting goes in migration-toolkit docs (RewriteOptions.AddRedirect snippet), not BWFC NuGet decided by Forge
118
+
Team update (2026-03-08): ContosoUniversity local setup LocalDB connection strings, AjaxControlToolkit HintPath fix, NBGV block — decided by Colossus
Copy file name to clipboardExpand all lines: .ai-team/decisions.md
+12Lines changed: 12 additions & 0 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -6883,3 +6883,15 @@ The Layer 2 script (`bwfc-migrate-layer2.ps1`) introduced in Run 16 creates a ne
6883
6883
**By:** Forge
6884
6884
**What:** ASPX URL preservation should be a documented `RewriteOptions.AddRedirect` snippet in `migration-toolkit/METHODOLOGY.md` and `migration-toolkit/CHECKLIST.md`, not a NuGet-installable middleware in the BWFC library. Recommended code: `new RewriteOptions().AddRedirect(@"^(.+)\.aspx$", "$1", statusCode: 301)` placed before `app.UseRouting()`. Includes `Default.aspx → /` special case. Query strings are automatically preserved. 301 redirect preferred over transparent rewrite for SEO.
6885
6885
**Why:** URL rewriting is a migration infrastructure concern (~20 lines of code), not a Blazor component. It belongs in the migration toolkit as guidance developers understand, apply, and eventually remove. The BWFC NuGet package should remain focused on components. No existing NuGet package targets this use case. All five approaches were evaluated (RewriteOptions, custom middleware, IRule, @page directive, catch-all route) — RewriteOptions with AddRedirect is the simplest and most correct.
6886
+
6887
+
### 2026-03-08: ContosoUniversity Acceptance Test Patterns
6888
+
6889
+
**By:** Rogue
6890
+
**What:** Created `src/ContosoUniversity.AcceptanceTests/` with 40 Playwright acceptance tests covering all 5 ContosoUniversity pages. Patterns: partial ID selectors (`[id*='...']`) for naming container resilience, cascading fallback selectors (specific container generic), `CONTOSO_BASE_URL` env var defaulting to `http://localhost:44380`, proactive test authoring from .aspx source analysis before live app.
6891
+
**Why:** ContosoUniversity is the second sample app for migration validation. Acceptance tests for the original Web Forms app establish the quality baseline before Blazor migration begins.
6892
+
6893
+
### 2026-03-08: ContosoUniversity Local Setup Configuration
6894
+
6895
+
**By:** Colossus
6896
+
**What:** Configured ContosoUniversity Web Forms sample for local development using IIS Express + LocalDB. Three source-level fixes: (1) connection strings changed from `.\SQLEXPRESS` to `(localdb)\MSSQLLocalDB` in Web.config, (2) AjaxControlToolkit HintPath updated to NuGet packages folder in .csproj, (3) empty `Directory.Build.props` at `samples/ContosoUniversity/` to block NBGV inheritance. All 5 pages verified with screenshots in `dev-docs/contoso-screenshots/`. Setup documented in `dev-docs/contoso-university-setup.md`.
6897
+
**Why:** Sample project ships with assumptions about original developer's environment. These fixes make it reproducible on any machine with LocalDB and compatible MSBuild.
0 commit comments