Files
Sharepoint-Toolbox/.planning/milestones/v1.0-phases/01-foundation/01-08-PLAN.md
Dev 724fdc550d chore: complete v1.0 milestone
Archive 5 phases (36 plans) to milestones/v1.0-phases/.
Archive roadmap, requirements, and audit to milestones/.
Evolve PROJECT.md with shipped state and validated requirements.
Collapse ROADMAP.md to one-line milestone summary.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-07 09:19:03 +02:00

6.6 KiB

phase, plan, type, wave, depends_on, files_modified, autonomous, requirements, must_haves
phase plan type wave depends_on files_modified autonomous requirements must_haves
01-foundation 08 execute 7
01-07
false
FOUND-01
FOUND-02
FOUND-03
FOUND-04
FOUND-05
FOUND-06
FOUND-07
FOUND-08
FOUND-09
FOUND-10
FOUND-12
truths artifacts key_links
Application launches without crashing from dotnet run
All 8 tabs visible with correct localized headers
Language switch from Settings tab changes tab headers immediately without restart
Profile management dialog opens, allows adding/renaming/deleting profiles
Log panel at bottom shows timestamped messages with color coding
Status bar shows tenant name and connection status
All unit tests pass (zero failures)
path provides
SharepointToolbox/App.xaml.cs Running application entry point
path provides
SharepointToolbox/Views/MainWindow.xaml Visible shell with all required regions
from to via pattern
Visual inspection Phase 1 success criteria (ROADMAP.md) Manual verification checklist checkpoint
Run the full test suite, launch the application, and perform visual/functional verification of all Phase 1 success criteria before marking the phase complete.

Purpose: Automated tests validate logic, but WPF UI can fail visually in ways tests cannot catch (layout wrong, bindings silently failing, log panel invisible, crash on startup). Output: Confirmed working foundation. Green light for Phase 2.

<execution_context> @C:/Users/SebastienQUEROL/.claude/get-shit-done/workflows/execute-plan.md @C:/Users/SebastienQUEROL/.claude/get-shit-done/templates/summary.md </execution_context>

@.planning/ROADMAP.md @.planning/phases/01-foundation/01-CONTEXT.md @.planning/phases/01-foundation/01-07-SUMMARY.md Task 1: Run full test suite and verify zero failures Run the complete test suite: ``` dotnet test SharepointToolbox.Tests/SharepointToolbox.Tests.csproj --no-build -v normal ```
Expected result: All Unit and Integration tests pass. The following tests may remain as `Skip`:
- `SessionManagerTests.GetOrCreateContextAsync_CreatesContext` (requires interactive MSAL)

If any tests fail:
1. Read the failure message carefully
2. Fix the underlying code (do NOT delete or skip a failing test)
3. Re-run until all non-interactive tests pass

Also run a build to confirm zero warnings (treat warnings as potential future failures):
```
dotnet build SharepointToolbox.sln -warnaserror
```
If warnings-as-errors produces failures from NuGet or generated code, switch back to `dotnet build SharepointToolbox.sln` and list remaining warnings in the SUMMARY.
cd "C:\Users\dev\Documents\projets\Sharepoint" && dotnet test SharepointToolbox.Tests/SharepointToolbox.Tests.csproj 2>&1 | tail -15 Test output shows 0 failed. All non-interactive tests pass. Build produces 0 errors. Complete Phase 1 Foundation: - WPF shell with 8-tab layout, log panel (150px, black background, green text), StatusBar - Toolbar: tenant ComboBox (220px), Connect, Manage Profiles, separator, Clear Session - Profile management dialog (modal) — add, rename, delete tenant profiles - Settings tab: language switcher (EN/FR) + data folder picker - Dynamic language switching — changes tab headers without restart - Serilog rolling file log + LogPanelSink writing to in-app RichTextBox - Global exception handlers wired - All infrastructure patterns in place (pagination helper, retry helper, FeatureViewModelBase) - Per-tab FeatureTabBase UserControl with ProgressBar + Cancel strip (shown only when IsRunning) - StatusBar middle field shows live operation status text (ProgressStatus) Run the application: `dotnet run --project SharepointToolbox/SharepointToolbox.csproj`
Check each item:

1. **Shell layout**: Window shows toolbar at top, TabControl in center with 8 tabs (Permissions, Storage, File Search, Duplicates, Templates, Bulk Operations, Folder Structure, Settings), log panel at bottom (black, 150px), status bar below log.

2. **Tab headers**: All 8 tabs have their English localized text (not "[tab.xxx]" — which would mean missing resx key).

3. **Language switch**:
   - Open Settings tab
   - Change language to French
   - Verify tab headers change immediately (no restart)
   - Change back to English to reset

4. **Profile management**:
   - Click "Manage Profiles..."
   - Modal dialog appears
   - Add a test profile: Name="Test", URL="https://test.sharepoint.com", ClientId="test-id"
   - Profile appears in the toolbar ComboBox after dialog closes
   - Rename the profile in the dialog — new name shows in ComboBox
   - Delete the profile — removed from ComboBox

5. **Log panel**:
   - Verify log entries appear (at least startup messages) in `HH:mm:ss [XXXX] message` format
   - Verify green color for info entries

6. **Data folder**:
   - Open Settings tab
   - Click Browse, select a folder
   - Verify folder path appears in the TextBox

7. **Error handler** (optional — skip if risky):
   - Confirm `%AppData%\SharepointToolbox\logs\` directory exists and contains today's log file

Report any visual issues, missing strings, or crashes.
Type "approved" if all checks pass, or describe specific issues found All Phase 1 ROADMAP success criteria met: 1. User can create, rename, delete, and switch between tenant profiles via the UI 2. MSAL token cache infrastructure ready (interactive login requires a real Azure AD tenant — not testable in this checkpoint) 3. Per-tab progress bar + cancel button infrastructure built (FeatureTabBase UserControl wired in all 7 stub tabs; FeatureViewModelBase tests prove the pattern) 4. Log panel surfaces errors in red; global exception handlers registered 5. Language switches between EN and FR dynamically without restart

<success_criteria> Human approves visual checkpoint. All unit tests green. Phase 1 complete — ready to begin Phase 2 (Permissions). </success_criteria>

After completion, create `.planning/phases/01-foundation/01-08-SUMMARY.md`