Files
jobtrackingapp/.gsd/milestones/M001/slices/S01/tasks/T02-SUMMARY.md
T
cesnimda 955cae6d4b test(S01/T01): Added a job-scoped Gmail matching contract with backend-…
- JobTrackerApi/Controllers/GmailController.cs
- JobTrackerApi/Services/GmailOAuthService.cs
- JobTrackerApi.Tests/GmailControllerTests.cs
- .gsd/milestones/M001/slices/S01/S01-PLAN.md
- .gsd/KNOWLEDGE.md
2026-03-24 12:07:25 +01:00

2.2 KiB
Raw Blame History

title, status, files, verification
title status files verification
T02 summary done
Models/Correspondence.cs
JobTrackerApi/Controllers/GmailController.cs
JobTrackerApi/Controllers/CorrespondenceController.cs
JobTrackerApi/Program.cs
JobTrackerApi.Tests/GmailControllerTests.cs
$HOME/.dotnet/dotnet build JobTrackerApi/JobTrackerApi.csproj
docker run --rm -v "$PWD":/src -w /src mcr.microsoft.com/dotnet/sdk:9.0 bash -lc '...dotnet test /tmp/gmailtests/GmailTests.csproj...'

Extended correspondence persistence and Gmail import continuity for S01.

What changed:

  • Models/Correspondence.cs
    • added ExternalThreadId
    • added ExternalFrom
    • added ExternalTo
  • JobTrackerApi/Controllers/GmailController.cs
    • single-message import now returns GmailImportMessageResultDto with Imported, Skipped, MessageId, ThreadId, and the imported/existing Correspondence
    • repeat single-message imports now report Imported=0 / Skipped=1 instead of returning a bare correspondence record
    • imported Gmail messages now persist thread id plus raw sender/recipient metadata
  • JobTrackerApi/Controllers/CorrespondenceController.cs
    • create request now accepts optional external message/thread/from/to metadata so the correspondence surface stays consistent with enriched imports
  • JobTrackerApi/Program.cs
    • added SQLite compatibility guards for Correspondences.ExternalThreadId, Correspondences.ExternalFrom, and Correspondences.ExternalTo
    • added MySQL compatibility guards for the same columns
  • JobTrackerApi.Tests/GmailControllerTests.cs
    • added repeat single-message import coverage
    • added repeat thread import coverage
    • retained ranking and owned-job scope coverage from T01

Verification:

  • Native API build passed with $HOME/.dotnet/dotnet build JobTrackerApi/JobTrackerApi.csproj
  • Isolated Gmail controller tests passed in Docker (5 passed)

Important caveat:

  • The repositorys main JobTrackerApi.Tests project still has unrelated pre-existing compile failures outside Gmail tests, so the exact planned command dotnet test JobTrackerApi.Tests/JobTrackerApi.Tests.csproj --filter GmailControllerTests remains blocked by broader test drift. Gmail coverage itself passes when isolated.