Compare commits
3 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| fba80ef346 | |||
| 194e01ed7f | |||
| 7e410e795d |
@@ -4,6 +4,7 @@ using JobTrackerApi.Models;
|
||||
using JobTrackerApi.Services;
|
||||
using Microsoft.AspNetCore.Mvc;
|
||||
using Microsoft.EntityFrameworkCore;
|
||||
using Microsoft.Data.Sqlite;
|
||||
using Moq;
|
||||
using Xunit;
|
||||
|
||||
@@ -11,6 +12,75 @@ namespace JobTrackerApi.Tests;
|
||||
|
||||
public sealed class ApplicationCalendarControllerTests
|
||||
{
|
||||
[Fact]
|
||||
public async Task Agenda_date_window_translates_on_sqlite_and_keeps_legacy_wall_clock_date()
|
||||
{
|
||||
await using var connection = new SqliteConnection("Data Source=:memory:");
|
||||
await connection.OpenAsync();
|
||||
var current = new Mock<ICurrentUserService>(); current.SetupGet(service => service.UserId).Returns("owner-1");
|
||||
await using var db = new JobTrackerContext(new DbContextOptionsBuilder<JobTrackerContext>().UseSqlite(connection).Options, current.Object);
|
||||
await db.Database.EnsureCreatedAsync();
|
||||
var job = await SeedJobAsync(db, "owner-1");
|
||||
job.Status = "Saved"; job.FollowUpAt = null; job.Deadline = new DateTime(2026, 9, 30, 23, 59, 59);
|
||||
await db.SaveChangesAsync(); db.ChangeTracker.Clear();
|
||||
var controller = CreateController(db, "owner-1", new Mock<IGmailOAuthService>(MockBehavior.Strict).Object, new Mock<IMicrosoftGraphOAuthService>(MockBehavior.Strict).Object);
|
||||
var result = await controller.Agenda(new DateOnly(2026, 9, 1), new DateOnly(2026, 9, 30), default);
|
||||
var row = Assert.Single(Assert.IsAssignableFrom<IEnumerable<ApplicationCalendarController.CalendarAgendaItemDto>>(Assert.IsType<OkObjectResult>(result.Result).Value));
|
||||
Assert.Equal("2026-09-30", row.Date);
|
||||
Assert.Equal(new DateTime(2026, 9, 30, 23, 59, 59), row.RecordedAt);
|
||||
}
|
||||
|
||||
[Fact]
|
||||
public async Task Agenda_includes_saved_deadlines_and_preserves_recorded_dates_without_provider_access()
|
||||
{
|
||||
await using var db = CreateDb("owner-1");
|
||||
var job = await SeedJobAsync(db, "owner-1");
|
||||
job.Status = "Saved";
|
||||
job.FollowUpAt = new DateTime(2026, 9, 2, 0, 0, 0, DateTimeKind.Unspecified);
|
||||
job.Deadline = new DateTime(2026, 9, 15, 23, 30, 0, DateTimeKind.Unspecified);
|
||||
await db.SaveChangesAsync();
|
||||
var controller = CreateController(db, "owner-1", new Mock<IGmailOAuthService>(MockBehavior.Strict).Object, new Mock<IMicrosoftGraphOAuthService>(MockBehavior.Strict).Object);
|
||||
|
||||
var response = await controller.Agenda(new DateOnly(2026, 9, 1), new DateOnly(2026, 9, 30), default);
|
||||
var rows = Assert.IsAssignableFrom<IEnumerable<ApplicationCalendarController.CalendarAgendaItemDto>>(Assert.IsType<OkObjectResult>(response.Result).Value).ToList();
|
||||
|
||||
Assert.Equal(2, rows.Count);
|
||||
Assert.Equal("follow-up", rows[0].Kind);
|
||||
Assert.Equal("2026-09-02", rows[0].Date);
|
||||
Assert.Equal("deadline", rows[1].Kind);
|
||||
Assert.Equal("2026-09-15", rows[1].Date);
|
||||
Assert.Equal(job.Deadline, rows[1].RecordedAt);
|
||||
Assert.Equal(DateTimeKind.Unspecified, rows[1].RecordedAt.Kind);
|
||||
Assert.All(rows, row => { Assert.Equal(job.Id, row.JobApplicationId); Assert.Equal("Acme", row.CompanyName); });
|
||||
}
|
||||
|
||||
[Fact]
|
||||
public async Task Agenda_excludes_other_owners_deleted_and_out_of_range_dates()
|
||||
{
|
||||
await using var db = CreateDb("owner-1");
|
||||
await SeedJobAsync(db, "owner-2");
|
||||
var deleted = await SeedJobAsync(db, "owner-1"); deleted.IsDeleted = true;
|
||||
var outside = await SeedJobAsync(db, "owner-1"); outside.FollowUpAt = new DateTime(2026, 8, 31); outside.Deadline = new DateTime(2026, 10, 1);
|
||||
var edge = await SeedJobAsync(db, "owner-1"); edge.FollowUpAt = null; edge.Deadline = new DateTime(2026, 9, 30, 23, 59, 59);
|
||||
await db.SaveChangesAsync();
|
||||
var controller = CreateController(db, "owner-1", Mock.Of<IGmailOAuthService>(), Mock.Of<IMicrosoftGraphOAuthService>());
|
||||
var response = await controller.Agenda(new DateOnly(2026, 9, 1), new DateOnly(2026, 9, 30), default);
|
||||
var rows = Assert.IsAssignableFrom<IEnumerable<ApplicationCalendarController.CalendarAgendaItemDto>>(Assert.IsType<OkObjectResult>(response.Result).Value);
|
||||
Assert.Equal(edge.Id, Assert.Single(rows).JobApplicationId);
|
||||
}
|
||||
|
||||
[Theory]
|
||||
[InlineData("2026-09-30", "2026-09-01")]
|
||||
[InlineData("2026-01-01", "2026-12-31")]
|
||||
[InlineData("9999-12-01", "9999-12-31")]
|
||||
public async Task Agenda_rejects_unbounded_or_invalid_ranges(string from, string to)
|
||||
{
|
||||
await using var db = CreateDb("owner-1");
|
||||
var controller = CreateController(db, "owner-1", Mock.Of<IGmailOAuthService>(), Mock.Of<IMicrosoftGraphOAuthService>());
|
||||
var response = await controller.Agenda(DateOnly.Parse(from), DateOnly.Parse(to), default);
|
||||
Assert.IsType<BadRequestObjectResult>(response.Result);
|
||||
}
|
||||
|
||||
[Fact]
|
||||
public async Task Status_distinguishes_connection_from_calendar_consent()
|
||||
{
|
||||
|
||||
@@ -1,5 +1,6 @@
|
||||
using System.Security.Cryptography;
|
||||
using System.Text;
|
||||
using System.Globalization;
|
||||
using JobTrackerApi.Data;
|
||||
using JobTrackerApi.Models;
|
||||
using JobTrackerApi.Services;
|
||||
@@ -18,6 +19,34 @@ public sealed class ApplicationCalendarController(
|
||||
IGmailOAuthService google,
|
||||
IMicrosoftGraphOAuthService microsoft) : ControllerBase
|
||||
{
|
||||
[HttpGet("agenda")]
|
||||
public async Task<ActionResult<List<CalendarAgendaItemDto>>> Agenda([FromQuery] DateOnly from, [FromQuery] DateOnly to, CancellationToken cancellationToken)
|
||||
{
|
||||
var owner = RequiredOwner();
|
||||
if (from == default || to < from || to.DayNumber - from.DayNumber > 61 || to == DateOnly.MaxValue)
|
||||
return BadRequest("Choose a calendar range of at most 62 days.");
|
||||
var start = from.ToDateTime(TimeOnly.MinValue);
|
||||
var end = to.AddDays(1).ToDateTime(TimeOnly.MinValue);
|
||||
var jobs = await db.JobApplications.AsNoTracking()
|
||||
.Where(job => job.OwnerUserId == owner && !job.IsDeleted)
|
||||
.Where(job => (job.Deadline >= start && job.Deadline < end) || (job.FollowUpAt >= start && job.FollowUpAt < end))
|
||||
.Select(job => new { job.Id, job.JobTitle, CompanyName = job.Company.OwnerUserId == owner ? job.Company.Name : null, job.Deadline, job.FollowUpAt })
|
||||
.ToListAsync(cancellationToken);
|
||||
var rows = new List<CalendarAgendaItemDto>();
|
||||
foreach (var job in jobs)
|
||||
{
|
||||
Add("deadline", job.Deadline);
|
||||
Add("follow-up", job.FollowUpAt);
|
||||
void Add(string kind, DateTime? recorded)
|
||||
{
|
||||
if (recorded is not { } date || date < start || date >= end) return;
|
||||
// Calendar grouping uses the stored calendar date; legacy timezone/precision is not reconstructed.
|
||||
rows.Add(new(job.Id, job.JobTitle, job.CompanyName, kind, date.ToString("yyyy-MM-dd", CultureInfo.InvariantCulture), date));
|
||||
}
|
||||
}
|
||||
return Ok(rows.OrderBy(row => row.Date).ThenBy(row => row.Kind).ThenBy(row => row.JobApplicationId).ToList());
|
||||
}
|
||||
|
||||
[HttpGet("status")]
|
||||
public async Task<ActionResult<CalendarStatusDto>> Status(CancellationToken cancellationToken)
|
||||
{
|
||||
@@ -141,4 +170,5 @@ public sealed class ApplicationCalendarController(
|
||||
public sealed record CalendarStatusDto(CalendarProviderStatusDto Google, CalendarProviderStatusDto Microsoft);
|
||||
public sealed record CreateCalendarEventRequest(string? Provider, string? Kind);
|
||||
public sealed record CalendarEventDto(string Provider, string? Id, string? WebUrl);
|
||||
public sealed record CalendarAgendaItemDto(int JobApplicationId, string JobTitle, string? CompanyName, string Kind, string Date, DateTime RecordedAt);
|
||||
}
|
||||
|
||||
@@ -0,0 +1,29 @@
|
||||
# A3-IM07 calendar subpackage — local qualification
|
||||
|
||||
3 November 2026. Owner approved progression to A3-IM07 after UI06. This calendar subpackage is independently implemented and locally qualified; **A3-IM07 remains open** for correspondence/document presentation and combined preservation evidence. No next milestone acceptance is requested yet.
|
||||
|
||||
The existing `/reminders` route now opens a date-level agenda above the unchanged workflow reminders. Agenda is default, with a persisted owner-scoped Month toggle. Upcoming recorded dates precede earlier dates; month selection and native calendar-day buttons retain linked application access. No view action creates a provider event or alters a reminder. Earlier reminder snooze/clear/retry/focus behavior remains with RemindersView.
|
||||
|
||||
Added authenticated `GET /api/calendar/agenda?from=YYYY-MM-DD&to=YYYY-MM-DD` to the existing ApplicationCalendarController. The inclusive range is limited to62 days and translated to an exclusive next-day query boundary. Explicit owner and nondeleted filters precede a narrow projection; company labels also require matching ownership. Deadline-only Saved applications are included even though the reminder attention feed excludes them. The response contains jobApplicationId,jobTitle,companyName,kind(deadline/follow-up),date and unchanged recordedAt. There are no schema, migration, model, writer or provider changes. Existing ICS and consent-scoped provider event endpoints are unchanged.
|
||||
|
||||
Calendar grouping retains the stored date; the view does not convert an unzoned legacy timestamp into an inferred timezone or appointment time. Original recordedAt stays on the time element and linked application. Current data has no interview appointment date and lacks original source precision/timezone metadata; that remains an explicit capability gap. Interviews are not fabricated from stage or note text. Undated work remains in the existing reminder workflow, not a guessed event.
|
||||
|
||||
| Evidence | Result |
|
||||
|---|---|
|
||||
| Baseline |70 existing reminders/calendar/documents/inbox cases across4 suites passed; not additional to overlapping later checks |
|
||||
| New contract red |Backend compilation failed because Agenda/DTO did not exist. Frontend suite could not resolve new component. These are missing-contract red checks, not executed runtime test failures |
|
||||
| Intermediate defect |Initial new month-navigation test failed: shared resource hook requires explicit dependency values, not just a new callback. Supplying from/to deps fixed actual missing month reload; no shared hook behavior changed |
|
||||
| Final frontend |25 selected cases/4 suites passed: new agenda8, existing reminder/calendar preservation and catalogue coverage. Reviewed7-case rerun overlaps and predates final upcoming-order case |
|
||||
| Backend |10 passed, zero failed/skipped. InMemory/isolated SQLite: saved deadlines, raw wall-clock date, inclusive last-day boundary, sibling-owner/deleted/outside exclusion, invalid/oversized ranges, and unchanged provider/ICS contracts. Strict provider mocks prove no calendar-read provider access |
|
||||
| Types/full lint/build |Passed after source fixes. Initial typecheck found unsupported test query options and missing required error title; corrected, not relabelled passing. Final build includes TypeScript validation |
|
||||
| Rendered React |16 configs320/390/768/1440 × EN/NB × light/dark;48 whole-page axe scans/captures, zero violations/overflow/page errors/unexpected writes. Final rerun after upcoming-first order supersedes prior overlapping browser report |
|
||||
| Connected controlled journey |Three occupations; agenda date provenance, month/day selection, next-month empty and previous-month read, persisted view on reload, keyboard-linked deadline to application detail/context. Every API intercepted; no live backend/provider or mutations |
|
||||
| Independent review |No important/critical source findings;7 overlapping frontend cases passed. Awaiting empty state fixed reviewer's test-only act warning; no provider/backend/browser run independently repeated |
|
||||
|
||||
Native frontend/backend/browser evidence and source manifest are under [evidence/calendar](evidence/calendar). Native API tests use the repository SDK at C:\Users\Connor\.dotnet and no restore/network. Browser verifier: `rtk proxy node scripts/verify-a3-calendar.mjs` from job-tracker-ui against static export localhost4338. Pilot/previous-source reports overlap and are not added to totals. Selected browser fixture dates are recorded synthetic dates, never advertised as live appointments.
|
||||
|
||||
Rollback reverts this subpackage; no database/data rollback. Existing route, reminder rules/actions, provider consent, calendar export behavior, Career/CV/letter revisions and frozen package contracts remain. Full Phase10, Product Review, European localisation, Global Jobs, final integrated security and release acceptance remain open.
|
||||
|
||||
NOT RUN: real backend/browser integration, MariaDB, hosted CI, native devices/screen readers/touch/zoom, actual reminder delivery, Google/Outlook live calendar, timezone/precision migration, interview scheduling, final security/release qualification. The existing legacy follow-up export precision/timezone behavior is preserved, not newly qualified by the date-only calendar.
|
||||
|
||||
Next authorised work: narrowly reconcile validated document date patch ca519cac, complete document/inbox connected presentation and preservation checks, then publish complete IM07 evidence for its required Gate F. No provider activation or final UI08 gate is implied.
|
||||
@@ -4,7 +4,7 @@
|
||||
|
||||
Local qualification:212 unique selected frontend cases/ten suites and103 isolated backend cases passed; types/full lint/build and final verifier lint/diff check passed. Full16-config browser matrix has96 axe scans; six EN/light boundary/focus configs have36 scans, four configs overlap,108 unique validated screenshots (plus one failed diagnostic PNG). All14 edit targets passed visible/unobscured focus at320/390/768/1000/1001/1440. Deliberate saves are intercepted fixtures only. Independent source review57 passing cases overlaps212; independent verifier review reconciled counts and fixture limits.
|
||||
|
||||
The original A3-IM06 implementation authorisation is satisfied within [CAREER_VALIDATION.md](CAREER_VALIDATION.md)'s scope. **Owner Gate F review remains pending** before A3-IM07 Calendar/reminders/correspondence/documents. No generic continued-development instruction waives that milestone gate. Earlier UI01–05 approvals remain accepted and must not be repeated.
|
||||
The original A3-IM06 implementation authorisation is satisfied within [CAREER_VALIDATION.md](CAREER_VALIDATION.md)'s scope. Owner then explicitly answered **"Approve Career/CV/letter and A3-IM07"**. Gate F is ACCEPTED; do not ask again. A3-IM07 Calendar/reminders/correspondence/documents is authorised, preserving closing-date provenance/precision/timezones, linked context, ICS/provider consent, attachment previews/downloads and mail conflicts/confirmed-send. Real provider activation remains separate. Earlier UI01–05 approvals remain accepted and must not be repeated.
|
||||
|
||||
Do not treat this as full Phase10, Product Review, European localisation, Global Jobs provider, import-engine, native-device, physical PDF, final integrated security or release acceptance. No main merge/deployment. Independent `ca519cac` date localisation and `de3d5031` security policy remain isolated; no older workstream source was wholesale merged. The generated graph remains local and untracked.
|
||||
|
||||
|
||||
@@ -0,0 +1,20 @@
|
||||
# A3-IM07 Calendar, correspondence and documents
|
||||
|
||||
3 November 2026. Owner explicitly answered **"Approve Career/CV/letter and A3-IM07"**. Isolated `codex/a3-ui-07` starts at accepted/published UI06 receipt19dad316. Approval record7e410e79 is published/remotely verified. UI06 implementation6f801251 and all earlier approvals remain accepted; no repeat gate.
|
||||
|
||||
- [x] Inspect current reminder, calendar/provider, document and inbox owners and approved A3 journeys/coverage.
|
||||
- [x] Establish selected baseline; preserve existing reminder mutation/retry/focus and correspondence/document trust boundaries.
|
||||
- [x] Calendar: agenda first with persisted view-only preference and accessible optional month view; include recorded deadlines even for saved applications missing from attention feed. Keep workflow reminders available, linked context, raw date provenance, unknown-date disclosure, loading/error/retry. Do not derive interview times from stage or assume timezone/precision lost in legacy DateTime storage.
|
||||
- [x] Qualify owner-scoped bounded calendar read and server/local date boundaries, including soft-deleted and sibling-owner exclusion. No schema migration/provider activation/calendar writes needed for calendar display.
|
||||
- [x] Correspondence: quiet inbox/context presentation using current read/draft/send owners; preserve uncertain outcomes/conflicts/explicit confirmed-send and provider permissions. No live send.
|
||||
- [x] Documents: connected library/filter/source/download presentation, preserve URL allowlists, frozen data, private/public state and failures. Reconcile the independently validated ca519cac date patch narrowly before combining it.
|
||||
- [x] Targeted frontend/backend/types/lint/build and controlled rendered EN/NB/themes/widths/focus/accessibility journeys; independent review.
|
||||
- [ ] Publish coherent validated checkpoints, verify remote refs, update evidence and durable handoff. Next mandatory Gate F before A3-IM08.
|
||||
|
||||
Scope reaches existing RemindersView, ApplicationCalendarController, correspondence/document presentation and their tests/fixtures/catalogues/navigation. Existing reminder attention feed excludes deadline-only Saved applications; using it as a complete calendar would silently omit deadlines. Add a narrow bounded read to the existing calendar owner instead of changing the attention feed's meaning or fetching an unbounded full board. Existing calendar ICS/provider exports remain unchanged and require explicit user actions/consent.
|
||||
|
||||
Current JobApplication fields store Deadline/FollowUpAt as nullable DateTime, with no independent interview appointment or original source precision/timezone metadata. Display recorded calendar dates with raw values retained, label the date-level boundary, and do not manufacture appointments. Any later interview scheduling/data-model qualification must be recorded separately. Unknown-date attention remains the existing reminder workflow, not a guessed calendar event.
|
||||
|
||||
Rollback: revert this feature increment; no database/data rollback for presentation and bounded read. Preserve canonical Career Profile, CV/letter history/settings, RD21 and all previous routes. Full roadmap/security/release acceptance remains open.
|
||||
|
||||
Local final qualification:WORKSPACE_VALIDATION.md;108 unique frontend cases/8 suites,52 backend cases,types/lint/build,48 final calendar plus96 document/mail browser scans/captures. Interview scheduling/original date precision-timezone data remains an explicit gap, not fabricated appointments. Initial calendar194e01ed published/remotely verified; complete increment publication/next Gate F pending.
|
||||
@@ -0,0 +1,33 @@
|
||||
# A3-IM07 Calendar, correspondence and document qualification
|
||||
|
||||
3 November 2026. Owner explicitly approved **"Approve Career/CV/letter and A3-IM07"**. This increment is implemented and locally qualified within the boundaries below. Gate F remains required before A3-IM08. Feature branch `codex/a3-ui-07` preserves prior published UI01–06 refs and original integration baseline; no main merge or production deployment.
|
||||
|
||||
Calendar subpackage `194e01ed7ffbdad6f2e5ac61c88f47628987b337` was published and independently remotely verified. Its committed17-source/61-evidence manifest matched exactly. Current follow-up includes a localised MUI month selector, document and inbox keyboard landmarks, and a narrow integration of independently validated date patch ca519cac. Final publication receipt is recorded separately. The earlier calendar manifest describes immutable checkpoint194e01ed; use the final workspace manifest for current combined sources/evidence.
|
||||
|
||||
Calendar offers agenda first and an optional owner-scoped persisted month view, prioritises upcoming dates, and includes recorded application closing dates even for Saved applications omitted by the attention feed. Existing reminder groups/actions remain below it on `/reminders`. The narrow authenticated calendar read is explicitly owner/nondeleted scoped, inclusive and limited to62 days; it retains original recordedAt and stored calendar day. It does not infer an interview appointment, source precision or timezone missing from legacy data. Existing ICS/provider actions and consent remain unchanged.
|
||||
|
||||
The first rendered Bokmål calendar capture exposed a native month control displaying an English month name in an English-configured browser. The replacement reuses MUI Select and Intl for the selected UI language, with adjacent-month choices and previous/next navigation. A red locale regression preceded the fix; all eight agenda tests and a fresh48-scan browser run pass with exact EN/NB month-label assertions. A verifier lookup initially expected a label-only accessible name; MUI includes its selected value. Corrected that harness lookup and retained the failed attempt; no application behavior was weakened.
|
||||
|
||||
Documents retain existing metadata table/mobile cards, filters, pagination, linked sources, public/private/frozen distinctions, exact source/download allowlists and permission/error recovery. Named filters and Jump/Return move focus without requests. The ca519cac date patch was applied only to DocumentsPage and its ten EN/NB regression cases; both resulting blobs matched the isolated accepted patch before additional focus changes (02f4de2e and64090d7e). It rejects impossible/overflow/trailing-junk unzoned timestamps while preserving fractional-second metadata and wall-clock display. No whole localisation branch was merged.
|
||||
|
||||
Correspondence retains the existing inbox, inline plain-text message read, linked job context, draft editor, provider status, review queue and confirmation owners. Named filters/results include current loading/unlink/empty/detail/pagination notices; jump and return only move focus. Draft conflict/revision, definitive failure/new-attempt, uncertain-result lock, explicit send confirmation, saved draft retention and tenant protections remain unchanged. No external mail was sent.
|
||||
|
||||
| Evidence | Exact result and boundary |
|
||||
|---|---|
|
||||
| Final selected frontend |108 unique cases / eight suites passed, zero failed/pending. Latest complete execution per suite:agenda8,reminders11,calendar actions3,catalogue3,documents33,inbox37,attachments5,file-picker8. Baselines and independent reruns overlap and are not added |
|
||||
| Backend |52 unique cases:calendar10 plus document/inbox/provider/draft/send/attempt preservation42, all passed with zero failed/skipped. InMemory/temporary SQLite, mocked providers; MariaDB SQL composition test does not connect to MariaDB |
|
||||
| Types/lint/build |Passed. Final build's TypeScript validation and scoped verifier lint passed; earlier failed typecheck and failed navigation/month regressions remain failed historical attempts |
|
||||
| Calendar browser |16 configs320/390/768/1440 × EN/NB × light/dark,48 axe scans/captures on final localised month control; zero violations/overflow/page errors/writes |
|
||||
| Documents/mail browser |Same16 configs,96 axe scans/captures:documents,filtered document,inbox,message,send confirmation,uncertain result. Zero violations/overflow/page errors/unexpected writes. Relevant document/inbox sources and fixtures unchanged by subsequent calendar-only selector fix; that evidence is reused, not described as another fresh execution |
|
||||
| Browser total |32 controlled journey executions across two work packages,144 distinct route/state/config captures; no overlapping rerun totals added |
|
||||
| Controlled interactions |Document filter and request-free keyboard jump/return; explicit fixture-file download with verified bytes/name/source URL/raw date metadata. Inbox jump/return, inert script-looking plain text, manual reply, saved draft, confirmation before send, uncertain-result retention and disabled repeat send |
|
||||
| Mutation qualification |32 intercepted requests in the full document/mail matrix:16 draft saves and16 confirmed-send fixtures returning uncertain. Calendar0 writes. All API requests intercepted and all external origins blocked; no real storage/mailbox/OAuth/delivery |
|
||||
| Independent review |No actionable document/inbox source/verifier findings;70 matching frontend cases independently passed, overlapping108. Earlier calendar review covered seven cases before the extra ordering case, overlapping108; browser/backend/build not independently repeated |
|
||||
|
||||
Native suite aggregation is under [evidence/workspace](evidence/workspace); original reports remain under calendar and documents-inbox. Browser scripts are verify-a3-calendar.mjs and verify-a3-documents-inbox.mjs against the actual built React static export on localhost4338. Synthetic provider capability flags are fixtures, not access grants. Native download verifies a controlled text fixture, not licensed files or real storage integrity. Existing attachment preview/file-picker behavior is tested locally; physical PDF rendering is not reopened. Representative320px mobile and1440px Bokmål/dark captures were visually inspected. Fixed navigation can appear within full-page scroll captures; native-device behavior is not thereby accepted.
|
||||
|
||||
Known open capabilities and qualifications: actual interview scheduling and original date precision/timezone migration; current calendar is explicitly date-level. Live Google/Outlook consent/events, real mailbox/delivery/reminder service, real storage/backend-browser integration, MariaDB, hosted CI, native device/screen reader/touch/zoom and native-language review remain NOT RUN. Broader attachment decimal formatting remains an independent localisation candidate. European localisation, full Product Review/Global Jobs, Phase10, recovery, final integrated security and release readiness remain open.
|
||||
|
||||
No schema/dependency/migration or reminder/mail/file writer change in this presentation increment; the calendar read is additive. All existing routes, canonical Career Profile, document settings/history/frozen packages, RD21 and provider rights are retained. Rollback reverts the increment; no database/data rollback is required. Root security policy de3d5031 remains isolated and is not silently merged.
|
||||
|
||||
Next protected gate: owner review of the published IM07 result before A3-IM08 contextual AI presentation and Settings automation. Preserve manual fallback, explicit consent/review/apply, stale inputs, usage/limits, accurate rule controls, errors/retry/cancel. No live model activation follows from that UI gate. Independently eligible localisation/security/release preparation may continue while awaiting the decision.
|
||||
@@ -0,0 +1,44 @@
|
||||
{
|
||||
"recordedAtUtc": "2026-11-03T13:50:59.687157+00:00",
|
||||
"frontend": {
|
||||
"passed": 25,
|
||||
"failed": 0,
|
||||
"pending": 0,
|
||||
"suites": 4
|
||||
},
|
||||
"backend": {
|
||||
"passed": 10,
|
||||
"failed": 0,
|
||||
"skipped": 0,
|
||||
"provider": "InMemory and isolated SQLite, strict provider mocks"
|
||||
},
|
||||
"typecheck": {
|
||||
"exitCode": 0,
|
||||
"earlierFailure": "test ByRoleOptions and required ViewStateNotice title corrected; final production build type validation passed"
|
||||
},
|
||||
"lint": {
|
||||
"exitCode": 0
|
||||
},
|
||||
"build": {
|
||||
"exitCode": 0
|
||||
},
|
||||
"graphify": {
|
||||
"exitCode": 0,
|
||||
"limits": [
|
||||
"optional SQL parser missing",
|
||||
"144 symbol-less files; not semantic completeness"
|
||||
]
|
||||
},
|
||||
"backendRed": {
|
||||
"status": "FAILED compilation before endpoint/DTO existed",
|
||||
"executedTests": 0,
|
||||
"nativeTrx": "NOT GENERATED"
|
||||
},
|
||||
"browser": {
|
||||
"configurations": 16,
|
||||
"scans": 48,
|
||||
"violations": 0,
|
||||
"writes": 0,
|
||||
"liveBackend": false
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,169 @@
|
||||
{
|
||||
"base": "7e410e795dd3f2e8c07091e9d276ce05bb418866",
|
||||
"recordedAtUtc": "2026-11-03T13:50:59.687157+00:00",
|
||||
"policy": "Text LF-normalised SHA256; PNG/export raw bytes",
|
||||
"sources": {
|
||||
"JobTrackerApi.Tests/ApplicationCalendarControllerTests.cs": "cb0b9e34142a3604041b6696a5b52490f86dffd1a895de6075a750eb7efde498",
|
||||
"JobTrackerApi/Controllers/ApplicationCalendarController.cs": "137ff5b81f0249d29e790e1b89c75e0a426cbaecdf5dd51c62b11e43a694d13f",
|
||||
"docs/ui-modernisation/CALENDAR_VALIDATION.md": "91092f4b24713025830db28cc928d71287ad3c6172f83ec1514d8f2b7998d2a9",
|
||||
"docs/ui-modernisation/UI-07.md": "135a44fe24b71606982cf0e4b7bafed2813e0f0f91d6e2fef6e90ae462277837",
|
||||
"job-tracker-ui/package-lock.json": "bf31e90d7af03e8af059db2aaf893925b9e8881a30a1688034ed88ef45d4fcab",
|
||||
"job-tracker-ui/package.json": "3745394e406cefa40d30a87e840bccb359be147bac6ffba736e2ae90898a8626",
|
||||
"job-tracker-ui/scripts/verify-a3-calendar.mjs": "e3fd86fee1efffbf2a3326c99bc93c9d6ffe19af31d8ea347fb084111222065b",
|
||||
"job-tracker-ui/src/App.tsx": "a176e52d81c4b6ded63c5f38cb27e853aa09312f2cc45fc7e5b5e44573e0fef3",
|
||||
"job-tracker-ui/src/application-calendar.test.tsx": "d82d87ccd456ada0797fa32e1d437224cae1edf62e40c05e1cb87f233a0eb40e",
|
||||
"job-tracker-ui/src/auth.ts": "1cbdd59f73c5a961613b2569679f96630cded407974876a4ca8abccf28780b0e",
|
||||
"job-tracker-ui/src/calendar-agenda.test.tsx": "c9726ab21c6623a0cdfc992e8412f3aecb7b06c587ccb1a9b6e085c55d9d9298",
|
||||
"job-tracker-ui/src/components/CalendarAgenda.tsx": "383eba95ea8b5b9594f2f9f79a481dff4b7468091a3d757868825257dead2680",
|
||||
"job-tracker-ui/src/components/RemindersView.tsx": "e550e76cb28cb4236100bb1a35158a329e4ecd3a12be56f6cdaf28fb75fa0091",
|
||||
"job-tracker-ui/src/hooks/useViewResource.ts": "5912131c525ba85ae6994efc38306a10ec2e673cc0082686226b59f00df5da99",
|
||||
"job-tracker-ui/src/i18n/translations.ts": "1dd55d184eec8e43ba5aaa4d71b60a66615791b87b712bdc6c50be0aa4cfbbeb",
|
||||
"job-tracker-ui/src/reminders-presentation.test.tsx": "700594101a38593e950ee10340fa0d22bafbd18f928912bf4af58172642ace9e",
|
||||
"job-tracker-ui/src/views/CalendarPage.tsx": "45c827d8268bc6be93735508dd45c464a3c40246a7e530555a0ff90bcd03359e"
|
||||
},
|
||||
"evidence": {
|
||||
"backend/a3-calendar-final.trx": "4c3e091d637cb32700ccf2531b56434b48ac4a7756611ac188cf874d40fd01a9",
|
||||
"backend/a3-calendar-green.trx": "356e5cee5ae69ac0f318836d3d7e09eefb925e7a6b916283820f1f0c33a5fba4",
|
||||
"browser/agenda-en-dark-1440.png": "4c2cdba871ce4c7fb13a9cead97fa8775057a54cbf01ea9d5c9d6ae2d78300bf",
|
||||
"browser/agenda-en-dark-320.png": "bbd32e62b13d7919a191b0990aef5d0c5f26a9c0532187b40de1329ae1a0c9aa",
|
||||
"browser/agenda-en-dark-390.png": "7e6cdb2d60b76475234247400499e4f5e1ecd8eda9d57dc4539ec507e3ef572d",
|
||||
"browser/agenda-en-dark-768.png": "1b8e4fefc6d0389b08c23ff43193875a7248177c717baf25f800f4a9afabc6ac",
|
||||
"browser/agenda-en-light-1440.png": "f6be3cf29572729e5923698a8d237db4ee72783b85b56a66d707e69b57359752",
|
||||
"browser/agenda-en-light-320.png": "1a0d543c73bce4e1f28b0e13bb93d7956f28b9438e60be4315abb22947086662",
|
||||
"browser/agenda-en-light-390.png": "7c7d74d4f07ce16fd7f555d659f2b60657465f3c0a5be08e328b908746052946",
|
||||
"browser/agenda-en-light-768.png": "3fc0bb5601992c24f2fb77323a8c5e798431c225bd518ec22bacd006f70e54e3",
|
||||
"browser/agenda-nb-dark-1440.png": "f1ff22897c671115ddc87f55f0097d60e4bac6c891d6388a0a6b5d7e4b683c1e",
|
||||
"browser/agenda-nb-dark-320.png": "a22e8585a331a53164a3c154d7f6d3436bc2b4fc7e230a353990e8f86b13ef8a",
|
||||
"browser/agenda-nb-dark-390.png": "fbea15f1fa3840370f07bf05aba704c49c6fcc3193dd8e5d95bbd9cd6a290766",
|
||||
"browser/agenda-nb-dark-768.png": "d436706161b8ff353ed3828c28067a2daf6ade88643529b2f2388660c006124e",
|
||||
"browser/agenda-nb-light-1440.png": "ec12f39aa16094bb43c8f46d494a049082e99ed3a27a56071fde3b221f20d2e1",
|
||||
"browser/agenda-nb-light-320.png": "ca093b4581be0fbb1545d7cec9c62c3381ef4c7091eb9808fc7a8e4da7433efa",
|
||||
"browser/agenda-nb-light-390.png": "10ec8e205314ec6e0cc0deabbb565e635eb7a1b63da36704255ede9d07230185",
|
||||
"browser/agenda-nb-light-768.png": "d35711ff5c7ce81d03ab7351479e167ec58fb57ca17383106a95b91d891b364a",
|
||||
"browser/BROWSER.json": "dc24786edeb8afa886c5033e5d7928962c87c325141cad319ddc1c9b6e8d8765",
|
||||
"browser/linked-application-en-dark-1440.png": "f1064f2f79853d48b8d15919b51db03a5dea800fa60b607d7cf8271411903304",
|
||||
"browser/linked-application-en-dark-320.png": "ce1f364624b5ccb3d7f2a5abbbc268ef05e3d19c8ed799b2586a05fa12850673",
|
||||
"browser/linked-application-en-dark-390.png": "5617dce472c4f7a117259b89f6a702eff90c2e8e82ae58f65df5bafc1527346b",
|
||||
"browser/linked-application-en-dark-768.png": "d31e67b030d3dea61df81e1c38a314143d74455cbe80e6f2175752e1332b532b",
|
||||
"browser/linked-application-en-light-1440.png": "58523ce12f40975a8966a17e00ec2546e460c0e0ef37120ae850e70fb956a0cb",
|
||||
"browser/linked-application-en-light-320.png": "441b76a051aeb553e203e1bc1fe46ee45e4bb4b0b4d17e883ed572ee9a8d1ed3",
|
||||
"browser/linked-application-en-light-390.png": "26122d43c985f71306e7707fb11352665fa51b75cf421586e257cb314d33c82e",
|
||||
"browser/linked-application-en-light-768.png": "b94555fbd0d2a7d7581de9f2f25aacb10c7b194cf6ef2b5604ea258759bdbeef",
|
||||
"browser/linked-application-nb-dark-1440.png": "da3d806e4f4f931ef037d498409be38e0e07fbcb7efe6110bfd754359f1b020d",
|
||||
"browser/linked-application-nb-dark-320.png": "acfa5c1152af3d8f3b97377da94b0bf9ba4bcf2dba62a1842b6e6206a18cb91f",
|
||||
"browser/linked-application-nb-dark-390.png": "b9c21a5cfd07c56b2dc4ee59b00f6bcd102fe931e73f3ac28826f3ee726e8043",
|
||||
"browser/linked-application-nb-dark-768.png": "fadf9ed9cec6172e5d0500564c56de33e8ce6eaa05cc924d905c0e28ebae0f4a",
|
||||
"browser/linked-application-nb-light-1440.png": "a76cabe6225ec6864d8a71edec5c91803d4ba85bddd0e887089030b78d8a80b7",
|
||||
"browser/linked-application-nb-light-320.png": "75ce3778f211b2ce53c67ace7cda310848ffa2d32bdecbb3403d3b59bc057498",
|
||||
"browser/linked-application-nb-light-390.png": "08efcd767ca130e0aff0cff212ced33190c3236cfd2f2b54b0f0bbd471b65809",
|
||||
"browser/linked-application-nb-light-768.png": "c3059ddaae94da9f205d928156ab5e9056021f8659faa3c2220f97601e3113b7",
|
||||
"browser/month-en-dark-1440.png": "fe71b1bdf88857cee9198dca37e3cd9dd7b0f7519515106197adbcd44b354d40",
|
||||
"browser/month-en-dark-320.png": "84f6e6a7f2d3bcbb8d0bbb96d24376dec7920af540effd278146fafc13f8eb95",
|
||||
"browser/month-en-dark-390.png": "8c6103e95bef123fc67ba8e5dbb342c828b695be2975b0e351c6c3a9023119be",
|
||||
"browser/month-en-dark-768.png": "23032481b2426b3644dfd34f5bf000aba04027d3db490638afd98da092b2a308",
|
||||
"browser/month-en-light-1440.png": "a6cb881e9fd85531a28375dc8128a7d68526d1ed20d959f07cd89a80749caeac",
|
||||
"browser/month-en-light-320.png": "2dc90a543b38e251ad39f764df01bdf1a131630b9cc0ec5262b30f3dcef1661b",
|
||||
"browser/month-en-light-390.png": "2eab1e18a90c567167825497a89eddf5eebc064b02e59b2036ea595c56cebb53",
|
||||
"browser/month-en-light-768.png": "8d6feb49163d539c73297be0aaa3d35391e01faceb84fd79236ac7edf176fb89",
|
||||
"browser/month-nb-dark-1440.png": "44d59e386c2b4f49f7a466f40fa78e4d134c938bace90b8e2085bcb9c4e97a6b",
|
||||
"browser/month-nb-dark-320.png": "fb70fe794d2a8a10a4f2a6dd58c5fa23cd4e8123189e83ccf44fd49bde8dbace",
|
||||
"browser/month-nb-dark-390.png": "da5ec5924038880c9444b00f085d36daa439da7a3824caf43564f26729131f9a",
|
||||
"browser/month-nb-dark-768.png": "ae19af78a6a156e8225c3fd193464447ec12283ee902effbd07cc12ff5816e2f",
|
||||
"browser/month-nb-light-1440.png": "508c85bf253e32a4d1d2515cc9220227021db3a3f706ac5197f58adc7d27fb5e",
|
||||
"browser/month-nb-light-320.png": "0bdffca7386e00f84294cee52a68a97049a3f089737190ee88db1ae537d45e68",
|
||||
"browser/month-nb-light-390.png": "2fa7f775b6c5c6bea1ff92b0e4d81176c886a64385000e23655188fb49a5af9e",
|
||||
"browser/month-nb-light-768.png": "bb21a2bf2752e2641e18dad30c285cecc596468f0359c58dee2b95178693f711",
|
||||
"browser/PILOT.json": "d692a8540bc2e412327c34c5eb7787ddd7ffb0da0dafc595c8d63186bfe6c33f",
|
||||
"browser/PRE-UPCOMING-ORDER.json": "dc24786edeb8afa886c5033e5d7928962c87c325141cad319ddc1c9b6e8d8765",
|
||||
"CHECKS.json": "b452adef2c74d513ae8a8ac0e0fa00d47353be2abe58b0cef908ee5c8413acff",
|
||||
"frontend/a3-calendar-ui-final.json": "5029c7b8afd5a1bf5ef6fe9f506795548f60b337d2f9613a5415197f9b50893d",
|
||||
"frontend/a3-calendar-ui-green.json": "c9c9f7c38d8eff473226364f96957715c63e106d27b1a61e74adfa766ead6f88",
|
||||
"frontend/a3-calendar-ui-qualified-final.json": "8365d6913c7dc7bac0b38f1f99ff1b57eecad8d2276974d7e46d7a75d535b159",
|
||||
"frontend/a3-calendar-ui-qualified.json": "2bf0b2ab0d2e0c573eaca07f67242f691fd5b673ba2c4119f05338cbd5b1c996",
|
||||
"frontend/a3-calendar-ui-red.json": "278d7fde84ae5f678e5004448b53d758b7cf336436e0a0c033c6d01eb6c5c4ca",
|
||||
"frontend/a3-calendar-ui-reviewed.json": "87d031d4ba08acd1dbecf601b8f4d0fcfc9a831d18e2ffdc07e96aa116cc494d",
|
||||
"frontend/a3-workspace-baseline.json": "9fc273f5f2e0a77b9271b8b1985a5b9dcab781a023accafd8b00d3a64d1fc38c"
|
||||
},
|
||||
"export": {
|
||||
"404.html": "a9116ceba97e13b799aeddfc5acb9ac49b920f2e741d228c081ed21ce5ec38b2",
|
||||
"__next.__PAGE__.txt": "e15dff657a85232f110c89d5617633e0e9858ea8f64627cd01f4766a0d5753e4",
|
||||
"__next._full.txt": "030eb6a898b15f225c0e642e757f41c76546ac0c08bef77dd2eb4a866099043f",
|
||||
"__next._tree.txt": "553ed7e7f8ae324983bce4a56cb39f819d7ea03ca3291627f0e782b59c735f5c",
|
||||
"_next/static/chunks/0-_aq6ipzcshj.js": "39f90c215bf52aef6274ed3dcc0f8af32e21a37fe8845b3bca0d6ea60da6a8c2",
|
||||
"_next/static/chunks/0ah1fzqmie05a.js": "5c65505a7dcbac63ac71d254e619a4c800943bfb4fa16cd40c10cdbe7e9b6e31",
|
||||
"_next/static/chunks/0bdt7ln111t48.js": "6184b1a61f22e2a640c17941634fdc75678ce93d142848d9f07f163e0d1fd201",
|
||||
"_next/static/chunks/0bwvt3mysnclc.js": "7705667a1b75812b7833d9c9dff47fe023015e58e382c40f4507d9948c973af4",
|
||||
"_next/static/chunks/0cz1d0mv5g_q7.js": "0973c1d64c88adc8e3c950410cb58b288f72118d5965b78049438deb8f2f9683",
|
||||
"_next/static/chunks/0h_-smu-bk788.js": "970ef0fa47ce6dfff261c624e08054841b6969b4afc5b0ebfad89126d7543bbc",
|
||||
"_next/static/chunks/0jcvc3qm6-lyk.js": "7c27e1fe373b822adc68c63096a5bf38444ad605b9743f0920271652989c56f1",
|
||||
"_next/static/chunks/0lmxsmlypasq-.js": "695c697c2e38fea85325dc210c9d3ff38fe5d4295e386041c7f187322f0f537b",
|
||||
"_next/static/chunks/0q20g9o8x-k8z.js": "3d4d9086985419aa8866b032158196c774acb8bf318f3c8245508c8daa9c5148",
|
||||
"_next/static/chunks/0q_pwu9jxv4-d.js": "42a43b3d7245a413c7c29b4cbe87823037a6dbc637e2e282c92405470e0f575d",
|
||||
"_next/static/chunks/0s7d19phl1gc6.js": "270ac30d2cfd8392d59853086c1cf59e91ade44fc569151f14806f6684643ef0",
|
||||
"_next/static/chunks/0yg1x7i96lj87.js": "2aad3c0f9e8b7b5a5123a2a439970c49db0be353236e22f9b6eafaaf01328c15",
|
||||
"_next/static/chunks/11-48p8kygxgp.js": "57eb9059599b5a5a30598d0a334912d58af571c0ffe28448ca76ad77c8ea8df9",
|
||||
"_next/static/chunks/14-lfugawba2w.js": "6a5780ca3c84d7f130f3c0a14431c85c7a1e799e2645b8c171161dab40a64360",
|
||||
"_next/static/chunks/1435in_k_-dhc.js": "4757476512d5c4dd25f9264a18b304ed4824b23aff1c09e134fcbff21d9c36b6",
|
||||
"_next/static/chunks/145oicobmjvm7.js": "d6bbbdeed1381652dc7412e5ce673a077579ecd5cee8934cb6b533c814098764",
|
||||
"_next/static/chunks/14e7ovj0s3elm.js": "070567dd4d23fb9fa0b9ba132185a697af6578045d43b2b1c7bbb2a1594d935d",
|
||||
"_next/static/chunks/16lfece6cnlln.js": "716363ba044f30b0e70440756b4e5eafa2d25f2e1628e855e3bc4ab9eabee3d3",
|
||||
"_next/static/chunks/19fpz66d6-1lv.js": "591aa30f32b95af8a55173c0da5ef146996c6161405261102cb2abea8a12bad5",
|
||||
"_next/static/chunks/1d0xrdyyzw7qc.js": "c11668ff1e152008e0d7b4454af12eb36c97df46a5860938e2eb5d8429b374a8",
|
||||
"_next/static/chunks/1fvwm-pcm8rrv.js": "1027c6b5c28e184a75ede28980fcf6e32e8cfde7da39191911b171668c76d888",
|
||||
"_next/static/chunks/1ke8pzecwofrg.css": "32e9ab963ebadebcbe2c68dffb24cfbfc8cc24255ad91b48b7941fc777bf7439",
|
||||
"_next/static/chunks/1p3h755jnx-jb.js": "81db4740766fddca1b4f31a1a686e35a3f18ee078ed74561b5d2daee5fd01bc0",
|
||||
"_next/static/chunks/1req80b9jj38r.js": "eee4d2e3789e1215195dba99ad0f09d34f8c83da848322b76054722233e9dae3",
|
||||
"_next/static/chunks/1w3q8yrcjn2jk.js": "365200e241ee9290e93d7c2fdba169f2b0a8e774541e3cbf3f6f2781110fa644",
|
||||
"_next/static/chunks/1xn023_28rgzj.js": "4f7f2108d030a48d039930736c92a55710975dddf419fe673f84d92899b1f575",
|
||||
"_next/static/chunks/1xwc-b795syag.css": "f73c002233f931ca14d0ae58815c47ca9f2659f25b1547a6d1fdca12a2a00b3f",
|
||||
"_next/static/chunks/1zi8i6dnxiac_.js": "8aea28bbe6a138e5d4b619429ca71570883a7aee974b86d5a4a746d90f704dbc",
|
||||
"_next/static/chunks/22wx8--1b9tnq.js": "3f7d8e762371262c6a740b4dac21725b424847319afac46055e97074a99ff5f5",
|
||||
"_next/static/chunks/27n3w-k3wc2if.js": "941c18edde0feb228b8aa5d3ec0e636bcb4dc2901134c2ad63224420a34eb5b1",
|
||||
"_next/static/chunks/280cq9ekejv1f.js": "01de8c1c3555cdd8d711763065ea9d8aec2968c3053f61254e43e26c999027bf",
|
||||
"_next/static/chunks/2br3ad_-bc7k9.js": "80fa55f7a32db4d743fda36747c36994fde00a0f53f2eb25b2a6d07c6fb97cd7",
|
||||
"_next/static/chunks/2gd9s_n-0nl1p.js": "31e2811be51a3c4d0ff2d1e3cea756e7fd8d57ef89141b5de69f638c1301d039",
|
||||
"_next/static/chunks/2ghgf2s9b2iou.js": "23d8ff31e2128d0541c1887785fb75885323fea7c5d4f35826513b75c12c2ae3",
|
||||
"_next/static/chunks/2itnratrnd9c5.js": "8be0b191c2d54f7233ebf2f1e169b3bfef680fa93da21c08d8c43b05c3ec174f",
|
||||
"_next/static/chunks/2kpcazmi6n6mk.js": "bea0de681fceff50056bfeccc5d035aff54d20918288051cb64bb259edd250c7",
|
||||
"_next/static/chunks/2rz71hs6q-h-c.js": "822e01feeeccf06e5634ebb76a5deeda6ba27c5d9f6575047eb203dd8af18f91",
|
||||
"_next/static/chunks/2s2gjr6ro25dj.js": "7489e2ac285a05b563c2bcb4eaf9274bf930f2a7385f17d6d5e6850064b88b10",
|
||||
"_next/static/chunks/2u5qve004opku.js": "be388d9a6aa423082bafb4584c3facc65ddfed71bcfa5c1d06b097b408c5ff97",
|
||||
"_next/static/chunks/2xlg4_1fj8fxh.js": "8ab4ba521db0167f3dbf684787ebf643cbc66fa7ffff7cdc65a8d8076a926155",
|
||||
"_next/static/chunks/2z42el0b2mp8_.js": "86ff990ef32c90c4839583e4f1d1bcbddb165dad3141b9fcd2ecec67f4ff24b8",
|
||||
"_next/static/chunks/2z9e_b61gtc22.js": "b9d717dad26828438d4ff56cabca41a8055f5eaa54420fd0aeb6b4ba7d5baa0d",
|
||||
"_next/static/chunks/32_ah983ce851.js": "0c3cd0d2a5ad789e31226a9ea0506c50016804311a58548c7784b7b45aaecd14",
|
||||
"_next/static/chunks/334vtqp3-g1j6.js": "c33d42da97f3af7388e29273297e9f42c67f54b7f5ec77a5d0637e2da06d7f7e",
|
||||
"_next/static/chunks/357yqeklh7414.js": "0192ab7198ebbe299d34a934c504dd4b562d1cccebb6e9d4c5163930c881b14c",
|
||||
"_next/static/chunks/3720519r84mh6.js": "54358db392a13914e3363046d594e824b1a3ef987913d95002bf48267dded4aa",
|
||||
"_next/static/chunks/3721l8sfm8icl.js": "06b67611b3a93515a375b803b54fe7063c049824f1ebf5c7f7db8701b5091e7c",
|
||||
"_next/static/chunks/3bqn9b34na0b9.js": "f1b8ebcc1b22251c33c9f3a5d11c1f893cad2da2e8744a441e790f7347aa9e73",
|
||||
"_next/static/chunks/3ckk_j5ril9ag.js": "87f631dae7b648d32171e9e05a3e000753ecb54f8d3b86a4401c0e4ab4d73553",
|
||||
"_next/static/chunks/3gkylew_qn7cw.js": "7e6c74c81be0c41ab433e36d65b914f62c48f332922e27f7cc953476f4dd78cb",
|
||||
"_next/static/chunks/3la4obitihzpv.js": "9a5a57b46db389b98f1fd5baa86eba1a360300dae9d1ff3ffeae7bc3378135b9",
|
||||
"_next/static/chunks/3q4v10rrqy40n.js": "d87ff7b7a0f07d0d92eab3876481eb686a12d9c43d8b92cbe406aefa227a11c1",
|
||||
"_next/static/chunks/3u61o8t7m_jza.js": "86231c12e0f8cacc8638bed0bc4b34f645fc35e60de342dc154d3cce0c9a5afa",
|
||||
"_next/static/chunks/40y_aqqilokr2.js": "1f5a5260316134d6bffe949400752ee6b42addf908ae714ef4ae4ebde916dddd",
|
||||
"_next/static/chunks/43b5x8qjjh3ax.js": "6ee7261cf9a63e0e6ea181bbb09125e09948588b6e10b5c02727c686a6062a3a",
|
||||
"_next/static/chunks/442d7ylb3po0z.js": "d95cedfbdcd00c674fd718cbbf391ec01c0728018b0db2461a06df7074049132",
|
||||
"_next/static/chunks/turbopack-25fzg9ay_1ss-.js": "c40f39e993a30c96d6247bb3a7b581538bb046efe8ef8ec07bea3ba32291750f",
|
||||
"_next/static/UaBN5JCH6ak16uUfBqNLe/_buildManifest.js": "9476e0afd3f9da68a64e6ec58631191fd3eaca62c9f5a377e7517fe9a89e59ea",
|
||||
"_next/static/UaBN5JCH6ak16uUfBqNLe/_clientMiddlewareManifest.js": "5483e3295dc35dfe29ea932efc85341c916f10ff78ff5b0e965e003710893a4a",
|
||||
"_next/static/UaBN5JCH6ak16uUfBqNLe/_ssgManifest.js": "678f6ce2cb80b1fe72fc67e7412be6e2ab6ada083111b64f7c40d35e3cba5e00",
|
||||
"_not-found/__next._full.txt": "91df8a13d382182604ebcb64955f1c3c3061039a77baf2dc3cf7b538f697b714",
|
||||
"_not-found/__next._not-found/__PAGE__.txt": "df1add43ba5b477152317ef94c947cbd4ee0ed710d3637e251470ae6bb324e7c",
|
||||
"_not-found/__next._tree.txt": "6d813cb1846cf7239fa4707821197719a9f1360022c9b7c4c5e3d69ca5769954",
|
||||
"_not-found.html": "a9116ceba97e13b799aeddfc5acb9ac49b920f2e741d228c081ed21ce5ec38b2",
|
||||
"_not-found.txt": "91df8a13d382182604ebcb64955f1c3c3061039a77baf2dc3cf7b538f697b714",
|
||||
"favicon.ico": "8d4923e2c487805ea9f852a685b2cf0fb10512ded8290d2a5c37d1cc8fd0702a",
|
||||
"favicon.svg": "63ecf8f37f8bb146ecfae3917187c6b692d4e801641e8a314486a4007912f3a3",
|
||||
"index.html": "8f6c7594f4b55f3a61b938d2876a3e23fbdd31cbba38c637a4e4eecfb5517a78",
|
||||
"index.txt": "030eb6a898b15f225c0e642e757f41c76546ac0c08bef77dd2eb4a866099043f",
|
||||
"logo192.png": "bc652031597fabd19b9f14e22a71f809490d218037521b3b64d013418c1390b4",
|
||||
"logo512.png": "5129e9bc1ba812b711fd9a646d3a38a906d365a26ee685df183b8752458944d4",
|
||||
"manifest.json": "2667ce63c2e0835b7007239816a5597639321d333da396a78638dfa9e8a7c935",
|
||||
"mockups/dashboard.svg": "318be3adb1324c26eb30f05572a29528a3e38331c6a604652eef75b54f8c29dc",
|
||||
"mockups/pipeline.svg": "db2ef41faabeb90e7ce85413e168581686c54535d970fc7d8deda3888a479de4",
|
||||
"mockups/workspace.svg": "9bbab22349147c7b01d6e18c93c622a6f8aed6dedaf23715189ab54d60e1ddbd",
|
||||
"robots.txt": "e5ab0d231eeb01b4a982d1c79a6729cac9797ad15a69247e4f28ba6afc149b4c"
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,88 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<TestRun id="c6ad76e3-d07a-4e95-84f1-8201c477c250" name="Connor@CESNIMDA 2026-11-03 14:40:57" runUser="Cesnimda\Connor" xmlns="http://microsoft.com/schemas/VisualStudio/TeamTest/2010">
|
||||
<Times creation="2026-11-03T14:40:57.7513720+01:00" queuing="2026-11-03T14:40:57.7513725+01:00" start="2026-11-03T14:40:55.8598206+01:00" finish="2026-11-03T14:40:58.2352268+01:00" />
|
||||
<TestSettings name="default" id="921fe1f1-ad07-4f81-8df6-f63d61c2294a">
|
||||
<Deployment runDeploymentRoot="Connor_CESNIMDA_2026-11-03_14_40_57" />
|
||||
</TestSettings>
|
||||
<Results>
|
||||
<UnitTestResult executionId="b5eb4e0b-1b8c-46b1-8524-afe8d4b6cec8" testId="ee88b8e2-383e-d7d0-52bc-8593a0cd45b2" testName="JobTrackerApi.Tests.ApplicationCalendarControllerTests.Agenda_rejects_unbounded_or_invalid_ranges(from: "9999-12-01", to: "9999-12-31")" computerName="CESNIMDA" duration="00:00:00.0000991" startTime="2026-11-03T14:40:58.1421003+01:00" endTime="2026-11-03T14:40:58.1421003+01:00" testType="13cdc9d9-ddb5-4fa4-a97d-d965ccfc6d4b" outcome="Passed" testListId="8c84fa94-04c1-424b-9868-57a2d4851a1d" relativeResultsDirectory="b5eb4e0b-1b8c-46b1-8524-afe8d4b6cec8" />
|
||||
<UnitTestResult executionId="58a6c510-92ad-442b-bf3f-5fe9e4e7cd78" testId="1d2f56b0-6892-bc4c-992f-c512e097577a" testName="JobTrackerApi.Tests.ApplicationCalendarControllerTests.Agenda_excludes_other_owners_deleted_and_out_of_range_dates" computerName="CESNIMDA" duration="00:00:00.8013487" startTime="2026-11-03T14:40:57.3507438+01:00" endTime="2026-11-03T14:40:57.3507574+01:00" testType="13cdc9d9-ddb5-4fa4-a97d-d965ccfc6d4b" outcome="Passed" testListId="8c84fa94-04c1-424b-9868-57a2d4851a1d" relativeResultsDirectory="58a6c510-92ad-442b-bf3f-5fe9e4e7cd78" />
|
||||
<UnitTestResult executionId="2df853ed-716c-4e59-85cd-d364716ae697" testId="6f507120-70ec-fc23-9a9c-b5662af9e900" testName="JobTrackerApi.Tests.ApplicationCalendarControllerTests.Creates_follow_up_in_selected_connected_calendar_with_stable_job_context" computerName="CESNIMDA" duration="00:00:00.0052834" startTime="2026-11-03T14:40:58.1684891+01:00" endTime="2026-11-03T14:40:58.1684899+01:00" testType="13cdc9d9-ddb5-4fa4-a97d-d965ccfc6d4b" outcome="Passed" testListId="8c84fa94-04c1-424b-9868-57a2d4851a1d" relativeResultsDirectory="2df853ed-716c-4e59-85cd-d364716ae697" />
|
||||
<UnitTestResult executionId="3a4dcb1e-181a-4117-8abe-cf4af1d6913d" testId="c247d002-0f3a-f835-2525-f73d9d342dc3" testName="JobTrackerApi.Tests.ApplicationCalendarControllerTests.Status_distinguishes_connection_from_calendar_consent" computerName="CESNIMDA" duration="00:00:00.0089181" startTime="2026-11-03T14:40:58.1631128+01:00" endTime="2026-11-03T14:40:58.1631130+01:00" testType="13cdc9d9-ddb5-4fa4-a97d-d965ccfc6d4b" outcome="Passed" testListId="8c84fa94-04c1-424b-9868-57a2d4851a1d" relativeResultsDirectory="3a4dcb1e-181a-4117-8abe-cf4af1d6913d" />
|
||||
<UnitTestResult executionId="c2891fbc-3ca6-4e8f-a5c5-9bd8eb334d2a" testId="b2951d7e-9ec2-af59-3389-f50ca75dc688" testName="JobTrackerApi.Tests.ApplicationCalendarControllerTests.Agenda_rejects_unbounded_or_invalid_ranges(from: "2026-01-01", to: "2026-12-31")" computerName="CESNIMDA" duration="00:00:00.0010424" startTime="2026-11-03T14:40:58.1416769+01:00" endTime="2026-11-03T14:40:58.1416770+01:00" testType="13cdc9d9-ddb5-4fa4-a97d-d965ccfc6d4b" outcome="Passed" testListId="8c84fa94-04c1-424b-9868-57a2d4851a1d" relativeResultsDirectory="c2891fbc-3ca6-4e8f-a5c5-9bd8eb334d2a" />
|
||||
<UnitTestResult executionId="d3e5b5b9-45ef-4c93-9592-6db43c99c165" testId="e5a658bc-a9ee-f8a6-00da-31a875195d4a" testName="JobTrackerApi.Tests.ApplicationCalendarControllerTests.Agenda_date_window_translates_on_sqlite_and_keeps_legacy_wall_clock_date" computerName="CESNIMDA" duration="00:00:00.7251395" startTime="2026-11-03T14:40:58.1405682+01:00" endTime="2026-11-03T14:40:58.1405685+01:00" testType="13cdc9d9-ddb5-4fa4-a97d-d965ccfc6d4b" outcome="Passed" testListId="8c84fa94-04c1-424b-9868-57a2d4851a1d" relativeResultsDirectory="d3e5b5b9-45ef-4c93-9592-6db43c99c165" />
|
||||
<UnitTestResult executionId="080e3f1b-745c-4cbe-8b90-096acefc8fa1" testId="2d738780-0c7e-809d-7a36-e22b11e017c3" testName="JobTrackerApi.Tests.ApplicationCalendarControllerTests.Rejects_another_owners_job_without_calling_provider" computerName="CESNIMDA" duration="00:00:00.0119656" startTime="2026-11-03T14:40:58.1541316+01:00" endTime="2026-11-03T14:40:58.1541318+01:00" testType="13cdc9d9-ddb5-4fa4-a97d-d965ccfc6d4b" outcome="Passed" testListId="8c84fa94-04c1-424b-9868-57a2d4851a1d" relativeResultsDirectory="080e3f1b-745c-4cbe-8b90-096acefc8fa1" />
|
||||
<UnitTestResult executionId="19e7f73f-27fc-47f6-b9e1-2ab0fdf9cd7c" testId="8ee9db5a-f803-b7e2-3c34-baac5edb34c8" testName="JobTrackerApi.Tests.ApplicationCalendarControllerTests.Agenda_includes_saved_deadlines_and_preserves_recorded_dates_without_provider_access" computerName="CESNIMDA" duration="00:00:00.0045499" startTime="2026-11-03T14:40:58.1732635+01:00" endTime="2026-11-03T14:40:58.1732640+01:00" testType="13cdc9d9-ddb5-4fa4-a97d-d965ccfc6d4b" outcome="Passed" testListId="8c84fa94-04c1-424b-9868-57a2d4851a1d" relativeResultsDirectory="19e7f73f-27fc-47f6-b9e1-2ab0fdf9cd7c" />
|
||||
<UnitTestResult executionId="86f83094-115f-4d7c-a248-a55368e48916" testId="eb7a20fa-63ab-b655-d3f0-046e269b171c" testName="JobTrackerApi.Tests.ApplicationCalendarControllerTests.Agenda_rejects_unbounded_or_invalid_ranges(from: "2026-09-30", to: "2026-09-01")" computerName="CESNIMDA" duration="00:00:00.0003042" startTime="2026-11-03T14:40:58.1419843+01:00" endTime="2026-11-03T14:40:58.1419844+01:00" testType="13cdc9d9-ddb5-4fa4-a97d-d965ccfc6d4b" outcome="Passed" testListId="8c84fa94-04c1-424b-9868-57a2d4851a1d" relativeResultsDirectory="86f83094-115f-4d7c-a248-a55368e48916" />
|
||||
<UnitTestResult executionId="f78f2327-4b2b-4997-871f-6f13f6b0e308" testId="9634ef4e-56ca-8e7e-717e-86049cac7b6b" testName="JobTrackerApi.Tests.ApplicationCalendarControllerTests.Downloads_portable_all_day_deadline_event_without_provider_credentials" computerName="CESNIMDA" duration="00:00:00.0650920" startTime="2026-11-03T14:40:57.4153592+01:00" endTime="2026-11-03T14:40:57.4153594+01:00" testType="13cdc9d9-ddb5-4fa4-a97d-d965ccfc6d4b" outcome="Passed" testListId="8c84fa94-04c1-424b-9868-57a2d4851a1d" relativeResultsDirectory="f78f2327-4b2b-4997-871f-6f13f6b0e308" />
|
||||
</Results>
|
||||
<TestDefinitions>
|
||||
<UnitTest name="JobTrackerApi.Tests.ApplicationCalendarControllerTests.Agenda_rejects_unbounded_or_invalid_ranges(from: "9999-12-01", to: "9999-12-31")" storage="c:\users\connor\.codex\worktrees\direct-roadmap-integration\job tracker\jobtrackerapi.tests\bin\debug\net9.0\jobtrackerapi.tests.dll" id="ee88b8e2-383e-d7d0-52bc-8593a0cd45b2">
|
||||
<Execution id="b5eb4e0b-1b8c-46b1-8524-afe8d4b6cec8" />
|
||||
<TestMethod codeBase="C:\Users\Connor\.codex\worktrees\direct-roadmap-integration\Job tracker\JobTrackerApi.Tests\bin\Debug\net9.0\JobTrackerApi.Tests.dll" adapterTypeName="executor://xunit/VsTestRunner2/netcoreapp" className="JobTrackerApi.Tests.ApplicationCalendarControllerTests" name="Agenda_rejects_unbounded_or_invalid_ranges" />
|
||||
</UnitTest>
|
||||
<UnitTest name="JobTrackerApi.Tests.ApplicationCalendarControllerTests.Agenda_date_window_translates_on_sqlite_and_keeps_legacy_wall_clock_date" storage="c:\users\connor\.codex\worktrees\direct-roadmap-integration\job tracker\jobtrackerapi.tests\bin\debug\net9.0\jobtrackerapi.tests.dll" id="e5a658bc-a9ee-f8a6-00da-31a875195d4a">
|
||||
<Execution id="d3e5b5b9-45ef-4c93-9592-6db43c99c165" />
|
||||
<TestMethod codeBase="C:\Users\Connor\.codex\worktrees\direct-roadmap-integration\Job tracker\JobTrackerApi.Tests\bin\Debug\net9.0\JobTrackerApi.Tests.dll" adapterTypeName="executor://xunit/VsTestRunner2/netcoreapp" className="JobTrackerApi.Tests.ApplicationCalendarControllerTests" name="Agenda_date_window_translates_on_sqlite_and_keeps_legacy_wall_clock_date" />
|
||||
</UnitTest>
|
||||
<UnitTest name="JobTrackerApi.Tests.ApplicationCalendarControllerTests.Agenda_rejects_unbounded_or_invalid_ranges(from: "2026-01-01", to: "2026-12-31")" storage="c:\users\connor\.codex\worktrees\direct-roadmap-integration\job tracker\jobtrackerapi.tests\bin\debug\net9.0\jobtrackerapi.tests.dll" id="b2951d7e-9ec2-af59-3389-f50ca75dc688">
|
||||
<Execution id="c2891fbc-3ca6-4e8f-a5c5-9bd8eb334d2a" />
|
||||
<TestMethod codeBase="C:\Users\Connor\.codex\worktrees\direct-roadmap-integration\Job tracker\JobTrackerApi.Tests\bin\Debug\net9.0\JobTrackerApi.Tests.dll" adapterTypeName="executor://xunit/VsTestRunner2/netcoreapp" className="JobTrackerApi.Tests.ApplicationCalendarControllerTests" name="Agenda_rejects_unbounded_or_invalid_ranges" />
|
||||
</UnitTest>
|
||||
<UnitTest name="JobTrackerApi.Tests.ApplicationCalendarControllerTests.Agenda_rejects_unbounded_or_invalid_ranges(from: "2026-09-30", to: "2026-09-01")" storage="c:\users\connor\.codex\worktrees\direct-roadmap-integration\job tracker\jobtrackerapi.tests\bin\debug\net9.0\jobtrackerapi.tests.dll" id="eb7a20fa-63ab-b655-d3f0-046e269b171c">
|
||||
<Execution id="86f83094-115f-4d7c-a248-a55368e48916" />
|
||||
<TestMethod codeBase="C:\Users\Connor\.codex\worktrees\direct-roadmap-integration\Job tracker\JobTrackerApi.Tests\bin\Debug\net9.0\JobTrackerApi.Tests.dll" adapterTypeName="executor://xunit/VsTestRunner2/netcoreapp" className="JobTrackerApi.Tests.ApplicationCalendarControllerTests" name="Agenda_rejects_unbounded_or_invalid_ranges" />
|
||||
</UnitTest>
|
||||
<UnitTest name="JobTrackerApi.Tests.ApplicationCalendarControllerTests.Agenda_includes_saved_deadlines_and_preserves_recorded_dates_without_provider_access" storage="c:\users\connor\.codex\worktrees\direct-roadmap-integration\job tracker\jobtrackerapi.tests\bin\debug\net9.0\jobtrackerapi.tests.dll" id="8ee9db5a-f803-b7e2-3c34-baac5edb34c8">
|
||||
<Execution id="19e7f73f-27fc-47f6-b9e1-2ab0fdf9cd7c" />
|
||||
<TestMethod codeBase="C:\Users\Connor\.codex\worktrees\direct-roadmap-integration\Job tracker\JobTrackerApi.Tests\bin\Debug\net9.0\JobTrackerApi.Tests.dll" adapterTypeName="executor://xunit/VsTestRunner2/netcoreapp" className="JobTrackerApi.Tests.ApplicationCalendarControllerTests" name="Agenda_includes_saved_deadlines_and_preserves_recorded_dates_without_provider_access" />
|
||||
</UnitTest>
|
||||
<UnitTest name="JobTrackerApi.Tests.ApplicationCalendarControllerTests.Agenda_excludes_other_owners_deleted_and_out_of_range_dates" storage="c:\users\connor\.codex\worktrees\direct-roadmap-integration\job tracker\jobtrackerapi.tests\bin\debug\net9.0\jobtrackerapi.tests.dll" id="1d2f56b0-6892-bc4c-992f-c512e097577a">
|
||||
<Execution id="58a6c510-92ad-442b-bf3f-5fe9e4e7cd78" />
|
||||
<TestMethod codeBase="C:\Users\Connor\.codex\worktrees\direct-roadmap-integration\Job tracker\JobTrackerApi.Tests\bin\Debug\net9.0\JobTrackerApi.Tests.dll" adapterTypeName="executor://xunit/VsTestRunner2/netcoreapp" className="JobTrackerApi.Tests.ApplicationCalendarControllerTests" name="Agenda_excludes_other_owners_deleted_and_out_of_range_dates" />
|
||||
</UnitTest>
|
||||
<UnitTest name="JobTrackerApi.Tests.ApplicationCalendarControllerTests.Status_distinguishes_connection_from_calendar_consent" storage="c:\users\connor\.codex\worktrees\direct-roadmap-integration\job tracker\jobtrackerapi.tests\bin\debug\net9.0\jobtrackerapi.tests.dll" id="c247d002-0f3a-f835-2525-f73d9d342dc3">
|
||||
<Execution id="3a4dcb1e-181a-4117-8abe-cf4af1d6913d" />
|
||||
<TestMethod codeBase="C:\Users\Connor\.codex\worktrees\direct-roadmap-integration\Job tracker\JobTrackerApi.Tests\bin\Debug\net9.0\JobTrackerApi.Tests.dll" adapterTypeName="executor://xunit/VsTestRunner2/netcoreapp" className="JobTrackerApi.Tests.ApplicationCalendarControllerTests" name="Status_distinguishes_connection_from_calendar_consent" />
|
||||
</UnitTest>
|
||||
<UnitTest name="JobTrackerApi.Tests.ApplicationCalendarControllerTests.Rejects_another_owners_job_without_calling_provider" storage="c:\users\connor\.codex\worktrees\direct-roadmap-integration\job tracker\jobtrackerapi.tests\bin\debug\net9.0\jobtrackerapi.tests.dll" id="2d738780-0c7e-809d-7a36-e22b11e017c3">
|
||||
<Execution id="080e3f1b-745c-4cbe-8b90-096acefc8fa1" />
|
||||
<TestMethod codeBase="C:\Users\Connor\.codex\worktrees\direct-roadmap-integration\Job tracker\JobTrackerApi.Tests\bin\Debug\net9.0\JobTrackerApi.Tests.dll" adapterTypeName="executor://xunit/VsTestRunner2/netcoreapp" className="JobTrackerApi.Tests.ApplicationCalendarControllerTests" name="Rejects_another_owners_job_without_calling_provider" />
|
||||
</UnitTest>
|
||||
<UnitTest name="JobTrackerApi.Tests.ApplicationCalendarControllerTests.Downloads_portable_all_day_deadline_event_without_provider_credentials" storage="c:\users\connor\.codex\worktrees\direct-roadmap-integration\job tracker\jobtrackerapi.tests\bin\debug\net9.0\jobtrackerapi.tests.dll" id="9634ef4e-56ca-8e7e-717e-86049cac7b6b">
|
||||
<Execution id="f78f2327-4b2b-4997-871f-6f13f6b0e308" />
|
||||
<TestMethod codeBase="C:\Users\Connor\.codex\worktrees\direct-roadmap-integration\Job tracker\JobTrackerApi.Tests\bin\Debug\net9.0\JobTrackerApi.Tests.dll" adapterTypeName="executor://xunit/VsTestRunner2/netcoreapp" className="JobTrackerApi.Tests.ApplicationCalendarControllerTests" name="Downloads_portable_all_day_deadline_event_without_provider_credentials" />
|
||||
</UnitTest>
|
||||
<UnitTest name="JobTrackerApi.Tests.ApplicationCalendarControllerTests.Creates_follow_up_in_selected_connected_calendar_with_stable_job_context" storage="c:\users\connor\.codex\worktrees\direct-roadmap-integration\job tracker\jobtrackerapi.tests\bin\debug\net9.0\jobtrackerapi.tests.dll" id="6f507120-70ec-fc23-9a9c-b5662af9e900">
|
||||
<Execution id="2df853ed-716c-4e59-85cd-d364716ae697" />
|
||||
<TestMethod codeBase="C:\Users\Connor\.codex\worktrees\direct-roadmap-integration\Job tracker\JobTrackerApi.Tests\bin\Debug\net9.0\JobTrackerApi.Tests.dll" adapterTypeName="executor://xunit/VsTestRunner2/netcoreapp" className="JobTrackerApi.Tests.ApplicationCalendarControllerTests" name="Creates_follow_up_in_selected_connected_calendar_with_stable_job_context" />
|
||||
</UnitTest>
|
||||
</TestDefinitions>
|
||||
<TestEntries>
|
||||
<TestEntry testId="ee88b8e2-383e-d7d0-52bc-8593a0cd45b2" executionId="b5eb4e0b-1b8c-46b1-8524-afe8d4b6cec8" testListId="8c84fa94-04c1-424b-9868-57a2d4851a1d" />
|
||||
<TestEntry testId="1d2f56b0-6892-bc4c-992f-c512e097577a" executionId="58a6c510-92ad-442b-bf3f-5fe9e4e7cd78" testListId="8c84fa94-04c1-424b-9868-57a2d4851a1d" />
|
||||
<TestEntry testId="6f507120-70ec-fc23-9a9c-b5662af9e900" executionId="2df853ed-716c-4e59-85cd-d364716ae697" testListId="8c84fa94-04c1-424b-9868-57a2d4851a1d" />
|
||||
<TestEntry testId="c247d002-0f3a-f835-2525-f73d9d342dc3" executionId="3a4dcb1e-181a-4117-8abe-cf4af1d6913d" testListId="8c84fa94-04c1-424b-9868-57a2d4851a1d" />
|
||||
<TestEntry testId="b2951d7e-9ec2-af59-3389-f50ca75dc688" executionId="c2891fbc-3ca6-4e8f-a5c5-9bd8eb334d2a" testListId="8c84fa94-04c1-424b-9868-57a2d4851a1d" />
|
||||
<TestEntry testId="e5a658bc-a9ee-f8a6-00da-31a875195d4a" executionId="d3e5b5b9-45ef-4c93-9592-6db43c99c165" testListId="8c84fa94-04c1-424b-9868-57a2d4851a1d" />
|
||||
<TestEntry testId="2d738780-0c7e-809d-7a36-e22b11e017c3" executionId="080e3f1b-745c-4cbe-8b90-096acefc8fa1" testListId="8c84fa94-04c1-424b-9868-57a2d4851a1d" />
|
||||
<TestEntry testId="8ee9db5a-f803-b7e2-3c34-baac5edb34c8" executionId="19e7f73f-27fc-47f6-b9e1-2ab0fdf9cd7c" testListId="8c84fa94-04c1-424b-9868-57a2d4851a1d" />
|
||||
<TestEntry testId="eb7a20fa-63ab-b655-d3f0-046e269b171c" executionId="86f83094-115f-4d7c-a248-a55368e48916" testListId="8c84fa94-04c1-424b-9868-57a2d4851a1d" />
|
||||
<TestEntry testId="9634ef4e-56ca-8e7e-717e-86049cac7b6b" executionId="f78f2327-4b2b-4997-871f-6f13f6b0e308" testListId="8c84fa94-04c1-424b-9868-57a2d4851a1d" />
|
||||
</TestEntries>
|
||||
<TestLists>
|
||||
<TestList name="Results Not in a List" id="8c84fa94-04c1-424b-9868-57a2d4851a1d" />
|
||||
<TestList name="All Loaded Results" id="19431567-8539-422a-85d7-44ee4e166bda" />
|
||||
</TestLists>
|
||||
<ResultSummary outcome="Completed">
|
||||
<Counters total="10" executed="10" passed="10" failed="0" error="0" timeout="0" aborted="0" inconclusive="0" passedButRunAborted="0" notRunnable="0" notExecuted="0" disconnected="0" warning="0" completed="0" inProgress="0" pending="0" />
|
||||
<Output>
|
||||
<StdOut>[xUnit.net 00:00:00.00] xUnit.net VSTest Adapter v2.8.2+699d445a1a (64-bit .NET 9.0.19)
|
||||
[xUnit.net 00:00:00.11] Discovering: JobTrackerApi.Tests
|
||||
[xUnit.net 00:00:00.25] Discovered: JobTrackerApi.Tests
|
||||
[xUnit.net 00:00:00.26] Starting: JobTrackerApi.Tests
|
||||
[xUnit.net 00:00:01.91] Finished: JobTrackerApi.Tests
|
||||
</StdOut>
|
||||
</Output>
|
||||
</ResultSummary>
|
||||
</TestRun>
|
||||
@@ -0,0 +1,82 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<TestRun id="5bc8bb0e-2dec-433b-8614-fd0ccf61fdbe" name="Connor@CESNIMDA 2026-11-03 14:36:12" runUser="Cesnimda\Connor" xmlns="http://microsoft.com/schemas/VisualStudio/TeamTest/2010">
|
||||
<Times creation="2026-11-03T14:36:12.3036010+01:00" queuing="2026-11-03T14:36:12.3036015+01:00" start="2026-11-03T14:36:10.4039542+01:00" finish="2026-11-03T14:36:12.3085085+01:00" />
|
||||
<TestSettings name="default" id="61d12bcf-a26c-4eca-8d09-e8874ed941ed">
|
||||
<Deployment runDeploymentRoot="Connor_CESNIMDA_2026-11-03_14_36_12" />
|
||||
</TestSettings>
|
||||
<Results>
|
||||
<UnitTestResult executionId="b50dfe03-2dee-4d1f-85df-52da3b414b32" testId="6f507120-70ec-fc23-9a9c-b5662af9e900" testName="JobTrackerApi.Tests.ApplicationCalendarControllerTests.Creates_follow_up_in_selected_connected_calendar_with_stable_job_context" computerName="CESNIMDA" duration="00:00:00.0081693" startTime="2026-11-03T14:36:12.2007274+01:00" endTime="2026-11-03T14:36:12.2007277+01:00" testType="13cdc9d9-ddb5-4fa4-a97d-d965ccfc6d4b" outcome="Passed" testListId="8c84fa94-04c1-424b-9868-57a2d4851a1d" relativeResultsDirectory="b50dfe03-2dee-4d1f-85df-52da3b414b32" />
|
||||
<UnitTestResult executionId="157a7632-4d6b-4a8b-9149-43b5fdd95f98" testId="ee88b8e2-383e-d7d0-52bc-8593a0cd45b2" testName="JobTrackerApi.Tests.ApplicationCalendarControllerTests.Agenda_rejects_unbounded_or_invalid_ranges(from: "9999-12-01", to: "9999-12-31")" computerName="CESNIMDA" duration="00:00:00.0001114" startTime="2026-11-03T14:36:12.1681996+01:00" endTime="2026-11-03T14:36:12.1681996+01:00" testType="13cdc9d9-ddb5-4fa4-a97d-d965ccfc6d4b" outcome="Passed" testListId="8c84fa94-04c1-424b-9868-57a2d4851a1d" relativeResultsDirectory="157a7632-4d6b-4a8b-9149-43b5fdd95f98" />
|
||||
<UnitTestResult executionId="b394ddec-a2a9-4b5f-a671-a27fae8f0b19" testId="b2951d7e-9ec2-af59-3389-f50ca75dc688" testName="JobTrackerApi.Tests.ApplicationCalendarControllerTests.Agenda_rejects_unbounded_or_invalid_ranges(from: "2026-01-01", to: "2026-12-31")" computerName="CESNIMDA" duration="00:00:00.0023969" startTime="2026-11-03T14:36:12.1677078+01:00" endTime="2026-11-03T14:36:12.1677080+01:00" testType="13cdc9d9-ddb5-4fa4-a97d-d965ccfc6d4b" outcome="Passed" testListId="8c84fa94-04c1-424b-9868-57a2d4851a1d" relativeResultsDirectory="b394ddec-a2a9-4b5f-a671-a27fae8f0b19" />
|
||||
<UnitTestResult executionId="f8126446-c1e2-4f89-95c9-42e7d02dc212" testId="eb7a20fa-63ab-b655-d3f0-046e269b171c" testName="JobTrackerApi.Tests.ApplicationCalendarControllerTests.Agenda_rejects_unbounded_or_invalid_ranges(from: "2026-09-30", to: "2026-09-01")" computerName="CESNIMDA" duration="00:00:00.0003188" startTime="2026-11-03T14:36:12.1680680+01:00" endTime="2026-11-03T14:36:12.1680681+01:00" testType="13cdc9d9-ddb5-4fa4-a97d-d965ccfc6d4b" outcome="Passed" testListId="8c84fa94-04c1-424b-9868-57a2d4851a1d" relativeResultsDirectory="f8126446-c1e2-4f89-95c9-42e7d02dc212" />
|
||||
<UnitTestResult executionId="9d2037f3-ddd0-43d8-bfd0-6c44bf6ba03a" testId="2d738780-0c7e-809d-7a36-e22b11e017c3" testName="JobTrackerApi.Tests.ApplicationCalendarControllerTests.Rejects_another_owners_job_without_calling_provider" computerName="CESNIMDA" duration="00:00:00.0129511" startTime="2026-11-03T14:36:12.1812804+01:00" endTime="2026-11-03T14:36:12.1812808+01:00" testType="13cdc9d9-ddb5-4fa4-a97d-d965ccfc6d4b" outcome="Passed" testListId="8c84fa94-04c1-424b-9868-57a2d4851a1d" relativeResultsDirectory="9d2037f3-ddd0-43d8-bfd0-6c44bf6ba03a" />
|
||||
<UnitTestResult executionId="044d72d0-a735-4dcb-951f-969798bb8a1d" testId="1d2f56b0-6892-bc4c-992f-c512e097577a" testName="JobTrackerApi.Tests.ApplicationCalendarControllerTests.Agenda_excludes_other_owners_deleted_and_out_of_range_dates" computerName="CESNIMDA" duration="00:00:00.8939070" startTime="2026-11-03T14:36:12.0960908+01:00" endTime="2026-11-03T14:36:12.0961049+01:00" testType="13cdc9d9-ddb5-4fa4-a97d-d965ccfc6d4b" outcome="Passed" testListId="8c84fa94-04c1-424b-9868-57a2d4851a1d" relativeResultsDirectory="044d72d0-a735-4dcb-951f-969798bb8a1d" />
|
||||
<UnitTestResult executionId="b2db1936-c80d-4fe3-9455-3c2d44aa6ae0" testId="8ee9db5a-f803-b7e2-3c34-baac5edb34c8" testName="JobTrackerApi.Tests.ApplicationCalendarControllerTests.Agenda_includes_saved_deadlines_and_preserves_recorded_dates_without_provider_access" computerName="CESNIMDA" duration="00:00:00.0050369" startTime="2026-11-03T14:36:12.2058658+01:00" endTime="2026-11-03T14:36:12.2058662+01:00" testType="13cdc9d9-ddb5-4fa4-a97d-d965ccfc6d4b" outcome="Passed" testListId="8c84fa94-04c1-424b-9868-57a2d4851a1d" relativeResultsDirectory="b2db1936-c80d-4fe3-9455-3c2d44aa6ae0" />
|
||||
<UnitTestResult executionId="0469dd82-825d-41ee-87cc-a6563d51eadb" testId="c247d002-0f3a-f835-2525-f73d9d342dc3" testName="JobTrackerApi.Tests.ApplicationCalendarControllerTests.Status_distinguishes_connection_from_calendar_consent" computerName="CESNIMDA" duration="00:00:00.0110850" startTime="2026-11-03T14:36:12.1924420+01:00" endTime="2026-11-03T14:36:12.1924423+01:00" testType="13cdc9d9-ddb5-4fa4-a97d-d965ccfc6d4b" outcome="Passed" testListId="8c84fa94-04c1-424b-9868-57a2d4851a1d" relativeResultsDirectory="0469dd82-825d-41ee-87cc-a6563d51eadb" />
|
||||
<UnitTestResult executionId="c3608f3f-5e66-45f1-8ebf-389f25bfb23d" testId="9634ef4e-56ca-8e7e-717e-86049cac7b6b" testName="JobTrackerApi.Tests.ApplicationCalendarControllerTests.Downloads_portable_all_day_deadline_event_without_provider_credentials" computerName="CESNIMDA" duration="00:00:00.0693692" startTime="2026-11-03T14:36:12.1653066+01:00" endTime="2026-11-03T14:36:12.1653068+01:00" testType="13cdc9d9-ddb5-4fa4-a97d-d965ccfc6d4b" outcome="Passed" testListId="8c84fa94-04c1-424b-9868-57a2d4851a1d" relativeResultsDirectory="c3608f3f-5e66-45f1-8ebf-389f25bfb23d" />
|
||||
</Results>
|
||||
<TestDefinitions>
|
||||
<UnitTest name="JobTrackerApi.Tests.ApplicationCalendarControllerTests.Agenda_rejects_unbounded_or_invalid_ranges(from: "9999-12-01", to: "9999-12-31")" storage="c:\users\connor\.codex\worktrees\direct-roadmap-integration\job tracker\jobtrackerapi.tests\bin\debug\net9.0\jobtrackerapi.tests.dll" id="ee88b8e2-383e-d7d0-52bc-8593a0cd45b2">
|
||||
<Execution id="157a7632-4d6b-4a8b-9149-43b5fdd95f98" />
|
||||
<TestMethod codeBase="C:\Users\Connor\.codex\worktrees\direct-roadmap-integration\Job tracker\JobTrackerApi.Tests\bin\Debug\net9.0\JobTrackerApi.Tests.dll" adapterTypeName="executor://xunit/VsTestRunner2/netcoreapp" className="JobTrackerApi.Tests.ApplicationCalendarControllerTests" name="Agenda_rejects_unbounded_or_invalid_ranges" />
|
||||
</UnitTest>
|
||||
<UnitTest name="JobTrackerApi.Tests.ApplicationCalendarControllerTests.Agenda_rejects_unbounded_or_invalid_ranges(from: "2026-01-01", to: "2026-12-31")" storage="c:\users\connor\.codex\worktrees\direct-roadmap-integration\job tracker\jobtrackerapi.tests\bin\debug\net9.0\jobtrackerapi.tests.dll" id="b2951d7e-9ec2-af59-3389-f50ca75dc688">
|
||||
<Execution id="b394ddec-a2a9-4b5f-a671-a27fae8f0b19" />
|
||||
<TestMethod codeBase="C:\Users\Connor\.codex\worktrees\direct-roadmap-integration\Job tracker\JobTrackerApi.Tests\bin\Debug\net9.0\JobTrackerApi.Tests.dll" adapterTypeName="executor://xunit/VsTestRunner2/netcoreapp" className="JobTrackerApi.Tests.ApplicationCalendarControllerTests" name="Agenda_rejects_unbounded_or_invalid_ranges" />
|
||||
</UnitTest>
|
||||
<UnitTest name="JobTrackerApi.Tests.ApplicationCalendarControllerTests.Agenda_rejects_unbounded_or_invalid_ranges(from: "2026-09-30", to: "2026-09-01")" storage="c:\users\connor\.codex\worktrees\direct-roadmap-integration\job tracker\jobtrackerapi.tests\bin\debug\net9.0\jobtrackerapi.tests.dll" id="eb7a20fa-63ab-b655-d3f0-046e269b171c">
|
||||
<Execution id="f8126446-c1e2-4f89-95c9-42e7d02dc212" />
|
||||
<TestMethod codeBase="C:\Users\Connor\.codex\worktrees\direct-roadmap-integration\Job tracker\JobTrackerApi.Tests\bin\Debug\net9.0\JobTrackerApi.Tests.dll" adapterTypeName="executor://xunit/VsTestRunner2/netcoreapp" className="JobTrackerApi.Tests.ApplicationCalendarControllerTests" name="Agenda_rejects_unbounded_or_invalid_ranges" />
|
||||
</UnitTest>
|
||||
<UnitTest name="JobTrackerApi.Tests.ApplicationCalendarControllerTests.Agenda_includes_saved_deadlines_and_preserves_recorded_dates_without_provider_access" storage="c:\users\connor\.codex\worktrees\direct-roadmap-integration\job tracker\jobtrackerapi.tests\bin\debug\net9.0\jobtrackerapi.tests.dll" id="8ee9db5a-f803-b7e2-3c34-baac5edb34c8">
|
||||
<Execution id="b2db1936-c80d-4fe3-9455-3c2d44aa6ae0" />
|
||||
<TestMethod codeBase="C:\Users\Connor\.codex\worktrees\direct-roadmap-integration\Job tracker\JobTrackerApi.Tests\bin\Debug\net9.0\JobTrackerApi.Tests.dll" adapterTypeName="executor://xunit/VsTestRunner2/netcoreapp" className="JobTrackerApi.Tests.ApplicationCalendarControllerTests" name="Agenda_includes_saved_deadlines_and_preserves_recorded_dates_without_provider_access" />
|
||||
</UnitTest>
|
||||
<UnitTest name="JobTrackerApi.Tests.ApplicationCalendarControllerTests.Agenda_excludes_other_owners_deleted_and_out_of_range_dates" storage="c:\users\connor\.codex\worktrees\direct-roadmap-integration\job tracker\jobtrackerapi.tests\bin\debug\net9.0\jobtrackerapi.tests.dll" id="1d2f56b0-6892-bc4c-992f-c512e097577a">
|
||||
<Execution id="044d72d0-a735-4dcb-951f-969798bb8a1d" />
|
||||
<TestMethod codeBase="C:\Users\Connor\.codex\worktrees\direct-roadmap-integration\Job tracker\JobTrackerApi.Tests\bin\Debug\net9.0\JobTrackerApi.Tests.dll" adapterTypeName="executor://xunit/VsTestRunner2/netcoreapp" className="JobTrackerApi.Tests.ApplicationCalendarControllerTests" name="Agenda_excludes_other_owners_deleted_and_out_of_range_dates" />
|
||||
</UnitTest>
|
||||
<UnitTest name="JobTrackerApi.Tests.ApplicationCalendarControllerTests.Status_distinguishes_connection_from_calendar_consent" storage="c:\users\connor\.codex\worktrees\direct-roadmap-integration\job tracker\jobtrackerapi.tests\bin\debug\net9.0\jobtrackerapi.tests.dll" id="c247d002-0f3a-f835-2525-f73d9d342dc3">
|
||||
<Execution id="0469dd82-825d-41ee-87cc-a6563d51eadb" />
|
||||
<TestMethod codeBase="C:\Users\Connor\.codex\worktrees\direct-roadmap-integration\Job tracker\JobTrackerApi.Tests\bin\Debug\net9.0\JobTrackerApi.Tests.dll" adapterTypeName="executor://xunit/VsTestRunner2/netcoreapp" className="JobTrackerApi.Tests.ApplicationCalendarControllerTests" name="Status_distinguishes_connection_from_calendar_consent" />
|
||||
</UnitTest>
|
||||
<UnitTest name="JobTrackerApi.Tests.ApplicationCalendarControllerTests.Rejects_another_owners_job_without_calling_provider" storage="c:\users\connor\.codex\worktrees\direct-roadmap-integration\job tracker\jobtrackerapi.tests\bin\debug\net9.0\jobtrackerapi.tests.dll" id="2d738780-0c7e-809d-7a36-e22b11e017c3">
|
||||
<Execution id="9d2037f3-ddd0-43d8-bfd0-6c44bf6ba03a" />
|
||||
<TestMethod codeBase="C:\Users\Connor\.codex\worktrees\direct-roadmap-integration\Job tracker\JobTrackerApi.Tests\bin\Debug\net9.0\JobTrackerApi.Tests.dll" adapterTypeName="executor://xunit/VsTestRunner2/netcoreapp" className="JobTrackerApi.Tests.ApplicationCalendarControllerTests" name="Rejects_another_owners_job_without_calling_provider" />
|
||||
</UnitTest>
|
||||
<UnitTest name="JobTrackerApi.Tests.ApplicationCalendarControllerTests.Downloads_portable_all_day_deadline_event_without_provider_credentials" storage="c:\users\connor\.codex\worktrees\direct-roadmap-integration\job tracker\jobtrackerapi.tests\bin\debug\net9.0\jobtrackerapi.tests.dll" id="9634ef4e-56ca-8e7e-717e-86049cac7b6b">
|
||||
<Execution id="c3608f3f-5e66-45f1-8ebf-389f25bfb23d" />
|
||||
<TestMethod codeBase="C:\Users\Connor\.codex\worktrees\direct-roadmap-integration\Job tracker\JobTrackerApi.Tests\bin\Debug\net9.0\JobTrackerApi.Tests.dll" adapterTypeName="executor://xunit/VsTestRunner2/netcoreapp" className="JobTrackerApi.Tests.ApplicationCalendarControllerTests" name="Downloads_portable_all_day_deadline_event_without_provider_credentials" />
|
||||
</UnitTest>
|
||||
<UnitTest name="JobTrackerApi.Tests.ApplicationCalendarControllerTests.Creates_follow_up_in_selected_connected_calendar_with_stable_job_context" storage="c:\users\connor\.codex\worktrees\direct-roadmap-integration\job tracker\jobtrackerapi.tests\bin\debug\net9.0\jobtrackerapi.tests.dll" id="6f507120-70ec-fc23-9a9c-b5662af9e900">
|
||||
<Execution id="b50dfe03-2dee-4d1f-85df-52da3b414b32" />
|
||||
<TestMethod codeBase="C:\Users\Connor\.codex\worktrees\direct-roadmap-integration\Job tracker\JobTrackerApi.Tests\bin\Debug\net9.0\JobTrackerApi.Tests.dll" adapterTypeName="executor://xunit/VsTestRunner2/netcoreapp" className="JobTrackerApi.Tests.ApplicationCalendarControllerTests" name="Creates_follow_up_in_selected_connected_calendar_with_stable_job_context" />
|
||||
</UnitTest>
|
||||
</TestDefinitions>
|
||||
<TestEntries>
|
||||
<TestEntry testId="6f507120-70ec-fc23-9a9c-b5662af9e900" executionId="b50dfe03-2dee-4d1f-85df-52da3b414b32" testListId="8c84fa94-04c1-424b-9868-57a2d4851a1d" />
|
||||
<TestEntry testId="ee88b8e2-383e-d7d0-52bc-8593a0cd45b2" executionId="157a7632-4d6b-4a8b-9149-43b5fdd95f98" testListId="8c84fa94-04c1-424b-9868-57a2d4851a1d" />
|
||||
<TestEntry testId="b2951d7e-9ec2-af59-3389-f50ca75dc688" executionId="b394ddec-a2a9-4b5f-a671-a27fae8f0b19" testListId="8c84fa94-04c1-424b-9868-57a2d4851a1d" />
|
||||
<TestEntry testId="eb7a20fa-63ab-b655-d3f0-046e269b171c" executionId="f8126446-c1e2-4f89-95c9-42e7d02dc212" testListId="8c84fa94-04c1-424b-9868-57a2d4851a1d" />
|
||||
<TestEntry testId="2d738780-0c7e-809d-7a36-e22b11e017c3" executionId="9d2037f3-ddd0-43d8-bfd0-6c44bf6ba03a" testListId="8c84fa94-04c1-424b-9868-57a2d4851a1d" />
|
||||
<TestEntry testId="1d2f56b0-6892-bc4c-992f-c512e097577a" executionId="044d72d0-a735-4dcb-951f-969798bb8a1d" testListId="8c84fa94-04c1-424b-9868-57a2d4851a1d" />
|
||||
<TestEntry testId="8ee9db5a-f803-b7e2-3c34-baac5edb34c8" executionId="b2db1936-c80d-4fe3-9455-3c2d44aa6ae0" testListId="8c84fa94-04c1-424b-9868-57a2d4851a1d" />
|
||||
<TestEntry testId="c247d002-0f3a-f835-2525-f73d9d342dc3" executionId="0469dd82-825d-41ee-87cc-a6563d51eadb" testListId="8c84fa94-04c1-424b-9868-57a2d4851a1d" />
|
||||
<TestEntry testId="9634ef4e-56ca-8e7e-717e-86049cac7b6b" executionId="c3608f3f-5e66-45f1-8ebf-389f25bfb23d" testListId="8c84fa94-04c1-424b-9868-57a2d4851a1d" />
|
||||
</TestEntries>
|
||||
<TestLists>
|
||||
<TestList name="Results Not in a List" id="8c84fa94-04c1-424b-9868-57a2d4851a1d" />
|
||||
<TestList name="All Loaded Results" id="19431567-8539-422a-85d7-44ee4e166bda" />
|
||||
</TestLists>
|
||||
<ResultSummary outcome="Completed">
|
||||
<Counters total="9" executed="9" passed="9" failed="0" error="0" timeout="0" aborted="0" inconclusive="0" passedButRunAborted="0" notRunnable="0" notExecuted="0" disconnected="0" warning="0" completed="0" inProgress="0" pending="0" />
|
||||
<Output>
|
||||
<StdOut>[xUnit.net 00:00:00.00] xUnit.net VSTest Adapter v2.8.2+699d445a1a (64-bit .NET 9.0.19)
|
||||
[xUnit.net 00:00:00.19] Discovering: JobTrackerApi.Tests
|
||||
[xUnit.net 00:00:00.35] Discovered: JobTrackerApi.Tests
|
||||
[xUnit.net 00:00:00.35] Starting: JobTrackerApi.Tests
|
||||
[xUnit.net 00:00:01.39] Finished: JobTrackerApi.Tests
|
||||
</StdOut>
|
||||
</Output>
|
||||
</ResultSummary>
|
||||
</TestRun>
|
||||
@@ -0,0 +1,929 @@
|
||||
{
|
||||
"screens": [
|
||||
{
|
||||
"width": 320,
|
||||
"language": "en",
|
||||
"mode": "light",
|
||||
"state": "agenda",
|
||||
"violations": []
|
||||
},
|
||||
{
|
||||
"width": 320,
|
||||
"language": "en",
|
||||
"mode": "light",
|
||||
"state": "month",
|
||||
"violations": []
|
||||
},
|
||||
{
|
||||
"width": 320,
|
||||
"language": "en",
|
||||
"mode": "light",
|
||||
"state": "linked-application",
|
||||
"violations": []
|
||||
},
|
||||
{
|
||||
"width": 320,
|
||||
"language": "en",
|
||||
"mode": "dark",
|
||||
"state": "agenda",
|
||||
"violations": []
|
||||
},
|
||||
{
|
||||
"width": 320,
|
||||
"language": "en",
|
||||
"mode": "dark",
|
||||
"state": "month",
|
||||
"violations": []
|
||||
},
|
||||
{
|
||||
"width": 320,
|
||||
"language": "en",
|
||||
"mode": "dark",
|
||||
"state": "linked-application",
|
||||
"violations": []
|
||||
},
|
||||
{
|
||||
"width": 320,
|
||||
"language": "nb",
|
||||
"mode": "light",
|
||||
"state": "agenda",
|
||||
"violations": []
|
||||
},
|
||||
{
|
||||
"width": 320,
|
||||
"language": "nb",
|
||||
"mode": "light",
|
||||
"state": "month",
|
||||
"violations": []
|
||||
},
|
||||
{
|
||||
"width": 320,
|
||||
"language": "nb",
|
||||
"mode": "light",
|
||||
"state": "linked-application",
|
||||
"violations": []
|
||||
},
|
||||
{
|
||||
"width": 320,
|
||||
"language": "nb",
|
||||
"mode": "dark",
|
||||
"state": "agenda",
|
||||
"violations": []
|
||||
},
|
||||
{
|
||||
"width": 320,
|
||||
"language": "nb",
|
||||
"mode": "dark",
|
||||
"state": "month",
|
||||
"violations": []
|
||||
},
|
||||
{
|
||||
"width": 320,
|
||||
"language": "nb",
|
||||
"mode": "dark",
|
||||
"state": "linked-application",
|
||||
"violations": []
|
||||
},
|
||||
{
|
||||
"width": 390,
|
||||
"language": "en",
|
||||
"mode": "light",
|
||||
"state": "agenda",
|
||||
"violations": []
|
||||
},
|
||||
{
|
||||
"width": 390,
|
||||
"language": "en",
|
||||
"mode": "light",
|
||||
"state": "month",
|
||||
"violations": []
|
||||
},
|
||||
{
|
||||
"width": 390,
|
||||
"language": "en",
|
||||
"mode": "light",
|
||||
"state": "linked-application",
|
||||
"violations": []
|
||||
},
|
||||
{
|
||||
"width": 390,
|
||||
"language": "en",
|
||||
"mode": "dark",
|
||||
"state": "agenda",
|
||||
"violations": []
|
||||
},
|
||||
{
|
||||
"width": 390,
|
||||
"language": "en",
|
||||
"mode": "dark",
|
||||
"state": "month",
|
||||
"violations": []
|
||||
},
|
||||
{
|
||||
"width": 390,
|
||||
"language": "en",
|
||||
"mode": "dark",
|
||||
"state": "linked-application",
|
||||
"violations": []
|
||||
},
|
||||
{
|
||||
"width": 390,
|
||||
"language": "nb",
|
||||
"mode": "light",
|
||||
"state": "agenda",
|
||||
"violations": []
|
||||
},
|
||||
{
|
||||
"width": 390,
|
||||
"language": "nb",
|
||||
"mode": "light",
|
||||
"state": "month",
|
||||
"violations": []
|
||||
},
|
||||
{
|
||||
"width": 390,
|
||||
"language": "nb",
|
||||
"mode": "light",
|
||||
"state": "linked-application",
|
||||
"violations": []
|
||||
},
|
||||
{
|
||||
"width": 390,
|
||||
"language": "nb",
|
||||
"mode": "dark",
|
||||
"state": "agenda",
|
||||
"violations": []
|
||||
},
|
||||
{
|
||||
"width": 390,
|
||||
"language": "nb",
|
||||
"mode": "dark",
|
||||
"state": "month",
|
||||
"violations": []
|
||||
},
|
||||
{
|
||||
"width": 390,
|
||||
"language": "nb",
|
||||
"mode": "dark",
|
||||
"state": "linked-application",
|
||||
"violations": []
|
||||
},
|
||||
{
|
||||
"width": 768,
|
||||
"language": "en",
|
||||
"mode": "light",
|
||||
"state": "agenda",
|
||||
"violations": []
|
||||
},
|
||||
{
|
||||
"width": 768,
|
||||
"language": "en",
|
||||
"mode": "light",
|
||||
"state": "month",
|
||||
"violations": []
|
||||
},
|
||||
{
|
||||
"width": 768,
|
||||
"language": "en",
|
||||
"mode": "light",
|
||||
"state": "linked-application",
|
||||
"violations": []
|
||||
},
|
||||
{
|
||||
"width": 768,
|
||||
"language": "en",
|
||||
"mode": "dark",
|
||||
"state": "agenda",
|
||||
"violations": []
|
||||
},
|
||||
{
|
||||
"width": 768,
|
||||
"language": "en",
|
||||
"mode": "dark",
|
||||
"state": "month",
|
||||
"violations": []
|
||||
},
|
||||
{
|
||||
"width": 768,
|
||||
"language": "en",
|
||||
"mode": "dark",
|
||||
"state": "linked-application",
|
||||
"violations": []
|
||||
},
|
||||
{
|
||||
"width": 768,
|
||||
"language": "nb",
|
||||
"mode": "light",
|
||||
"state": "agenda",
|
||||
"violations": []
|
||||
},
|
||||
{
|
||||
"width": 768,
|
||||
"language": "nb",
|
||||
"mode": "light",
|
||||
"state": "month",
|
||||
"violations": []
|
||||
},
|
||||
{
|
||||
"width": 768,
|
||||
"language": "nb",
|
||||
"mode": "light",
|
||||
"state": "linked-application",
|
||||
"violations": []
|
||||
},
|
||||
{
|
||||
"width": 768,
|
||||
"language": "nb",
|
||||
"mode": "dark",
|
||||
"state": "agenda",
|
||||
"violations": []
|
||||
},
|
||||
{
|
||||
"width": 768,
|
||||
"language": "nb",
|
||||
"mode": "dark",
|
||||
"state": "month",
|
||||
"violations": []
|
||||
},
|
||||
{
|
||||
"width": 768,
|
||||
"language": "nb",
|
||||
"mode": "dark",
|
||||
"state": "linked-application",
|
||||
"violations": []
|
||||
},
|
||||
{
|
||||
"width": 1440,
|
||||
"language": "en",
|
||||
"mode": "light",
|
||||
"state": "agenda",
|
||||
"violations": []
|
||||
},
|
||||
{
|
||||
"width": 1440,
|
||||
"language": "en",
|
||||
"mode": "light",
|
||||
"state": "month",
|
||||
"violations": []
|
||||
},
|
||||
{
|
||||
"width": 1440,
|
||||
"language": "en",
|
||||
"mode": "light",
|
||||
"state": "linked-application",
|
||||
"violations": []
|
||||
},
|
||||
{
|
||||
"width": 1440,
|
||||
"language": "en",
|
||||
"mode": "dark",
|
||||
"state": "agenda",
|
||||
"violations": []
|
||||
},
|
||||
{
|
||||
"width": 1440,
|
||||
"language": "en",
|
||||
"mode": "dark",
|
||||
"state": "month",
|
||||
"violations": []
|
||||
},
|
||||
{
|
||||
"width": 1440,
|
||||
"language": "en",
|
||||
"mode": "dark",
|
||||
"state": "linked-application",
|
||||
"violations": []
|
||||
},
|
||||
{
|
||||
"width": 1440,
|
||||
"language": "nb",
|
||||
"mode": "light",
|
||||
"state": "agenda",
|
||||
"violations": []
|
||||
},
|
||||
{
|
||||
"width": 1440,
|
||||
"language": "nb",
|
||||
"mode": "light",
|
||||
"state": "month",
|
||||
"violations": []
|
||||
},
|
||||
{
|
||||
"width": 1440,
|
||||
"language": "nb",
|
||||
"mode": "light",
|
||||
"state": "linked-application",
|
||||
"violations": []
|
||||
},
|
||||
{
|
||||
"width": 1440,
|
||||
"language": "nb",
|
||||
"mode": "dark",
|
||||
"state": "agenda",
|
||||
"violations": []
|
||||
},
|
||||
{
|
||||
"width": 1440,
|
||||
"language": "nb",
|
||||
"mode": "dark",
|
||||
"state": "month",
|
||||
"violations": []
|
||||
},
|
||||
{
|
||||
"width": 1440,
|
||||
"language": "nb",
|
||||
"mode": "dark",
|
||||
"state": "linked-application",
|
||||
"violations": []
|
||||
}
|
||||
],
|
||||
"journeys": [
|
||||
{
|
||||
"width": 320,
|
||||
"language": "en",
|
||||
"mode": "light",
|
||||
"agendaMonthSelectionPersistedPreferenceBoundedMonthNavigationLinkedDeadline": "PASS"
|
||||
},
|
||||
{
|
||||
"width": 320,
|
||||
"language": "en",
|
||||
"mode": "dark",
|
||||
"agendaMonthSelectionPersistedPreferenceBoundedMonthNavigationLinkedDeadline": "PASS"
|
||||
},
|
||||
{
|
||||
"width": 320,
|
||||
"language": "nb",
|
||||
"mode": "light",
|
||||
"agendaMonthSelectionPersistedPreferenceBoundedMonthNavigationLinkedDeadline": "PASS"
|
||||
},
|
||||
{
|
||||
"width": 320,
|
||||
"language": "nb",
|
||||
"mode": "dark",
|
||||
"agendaMonthSelectionPersistedPreferenceBoundedMonthNavigationLinkedDeadline": "PASS"
|
||||
},
|
||||
{
|
||||
"width": 390,
|
||||
"language": "en",
|
||||
"mode": "light",
|
||||
"agendaMonthSelectionPersistedPreferenceBoundedMonthNavigationLinkedDeadline": "PASS"
|
||||
},
|
||||
{
|
||||
"width": 390,
|
||||
"language": "en",
|
||||
"mode": "dark",
|
||||
"agendaMonthSelectionPersistedPreferenceBoundedMonthNavigationLinkedDeadline": "PASS"
|
||||
},
|
||||
{
|
||||
"width": 390,
|
||||
"language": "nb",
|
||||
"mode": "light",
|
||||
"agendaMonthSelectionPersistedPreferenceBoundedMonthNavigationLinkedDeadline": "PASS"
|
||||
},
|
||||
{
|
||||
"width": 390,
|
||||
"language": "nb",
|
||||
"mode": "dark",
|
||||
"agendaMonthSelectionPersistedPreferenceBoundedMonthNavigationLinkedDeadline": "PASS"
|
||||
},
|
||||
{
|
||||
"width": 768,
|
||||
"language": "en",
|
||||
"mode": "light",
|
||||
"agendaMonthSelectionPersistedPreferenceBoundedMonthNavigationLinkedDeadline": "PASS"
|
||||
},
|
||||
{
|
||||
"width": 768,
|
||||
"language": "en",
|
||||
"mode": "dark",
|
||||
"agendaMonthSelectionPersistedPreferenceBoundedMonthNavigationLinkedDeadline": "PASS"
|
||||
},
|
||||
{
|
||||
"width": 768,
|
||||
"language": "nb",
|
||||
"mode": "light",
|
||||
"agendaMonthSelectionPersistedPreferenceBoundedMonthNavigationLinkedDeadline": "PASS"
|
||||
},
|
||||
{
|
||||
"width": 768,
|
||||
"language": "nb",
|
||||
"mode": "dark",
|
||||
"agendaMonthSelectionPersistedPreferenceBoundedMonthNavigationLinkedDeadline": "PASS"
|
||||
},
|
||||
{
|
||||
"width": 1440,
|
||||
"language": "en",
|
||||
"mode": "light",
|
||||
"agendaMonthSelectionPersistedPreferenceBoundedMonthNavigationLinkedDeadline": "PASS"
|
||||
},
|
||||
{
|
||||
"width": 1440,
|
||||
"language": "en",
|
||||
"mode": "dark",
|
||||
"agendaMonthSelectionPersistedPreferenceBoundedMonthNavigationLinkedDeadline": "PASS"
|
||||
},
|
||||
{
|
||||
"width": 1440,
|
||||
"language": "nb",
|
||||
"mode": "light",
|
||||
"agendaMonthSelectionPersistedPreferenceBoundedMonthNavigationLinkedDeadline": "PASS"
|
||||
},
|
||||
{
|
||||
"width": 1440,
|
||||
"language": "nb",
|
||||
"mode": "dark",
|
||||
"agendaMonthSelectionPersistedPreferenceBoundedMonthNavigationLinkedDeadline": "PASS"
|
||||
}
|
||||
],
|
||||
"errors": [],
|
||||
"unexpectedWrites": [],
|
||||
"reads": [
|
||||
{
|
||||
"width": 320,
|
||||
"language": "en",
|
||||
"mode": "light",
|
||||
"from": "2026-11-01",
|
||||
"to": "2026-11-30"
|
||||
},
|
||||
{
|
||||
"width": 320,
|
||||
"language": "en",
|
||||
"mode": "light",
|
||||
"from": "2026-12-01",
|
||||
"to": "2026-12-31"
|
||||
},
|
||||
{
|
||||
"width": 320,
|
||||
"language": "en",
|
||||
"mode": "light",
|
||||
"from": "2026-11-01",
|
||||
"to": "2026-11-30"
|
||||
},
|
||||
{
|
||||
"width": 320,
|
||||
"language": "en",
|
||||
"mode": "light",
|
||||
"from": "2026-11-01",
|
||||
"to": "2026-11-30"
|
||||
},
|
||||
{
|
||||
"width": 320,
|
||||
"language": "en",
|
||||
"mode": "dark",
|
||||
"from": "2026-11-01",
|
||||
"to": "2026-11-30"
|
||||
},
|
||||
{
|
||||
"width": 320,
|
||||
"language": "en",
|
||||
"mode": "dark",
|
||||
"from": "2026-12-01",
|
||||
"to": "2026-12-31"
|
||||
},
|
||||
{
|
||||
"width": 320,
|
||||
"language": "en",
|
||||
"mode": "dark",
|
||||
"from": "2026-11-01",
|
||||
"to": "2026-11-30"
|
||||
},
|
||||
{
|
||||
"width": 320,
|
||||
"language": "en",
|
||||
"mode": "dark",
|
||||
"from": "2026-11-01",
|
||||
"to": "2026-11-30"
|
||||
},
|
||||
{
|
||||
"width": 320,
|
||||
"language": "nb",
|
||||
"mode": "light",
|
||||
"from": "2026-11-01",
|
||||
"to": "2026-11-30"
|
||||
},
|
||||
{
|
||||
"width": 320,
|
||||
"language": "nb",
|
||||
"mode": "light",
|
||||
"from": "2026-12-01",
|
||||
"to": "2026-12-31"
|
||||
},
|
||||
{
|
||||
"width": 320,
|
||||
"language": "nb",
|
||||
"mode": "light",
|
||||
"from": "2026-11-01",
|
||||
"to": "2026-11-30"
|
||||
},
|
||||
{
|
||||
"width": 320,
|
||||
"language": "nb",
|
||||
"mode": "light",
|
||||
"from": "2026-11-01",
|
||||
"to": "2026-11-30"
|
||||
},
|
||||
{
|
||||
"width": 320,
|
||||
"language": "nb",
|
||||
"mode": "dark",
|
||||
"from": "2026-11-01",
|
||||
"to": "2026-11-30"
|
||||
},
|
||||
{
|
||||
"width": 320,
|
||||
"language": "nb",
|
||||
"mode": "dark",
|
||||
"from": "2026-12-01",
|
||||
"to": "2026-12-31"
|
||||
},
|
||||
{
|
||||
"width": 320,
|
||||
"language": "nb",
|
||||
"mode": "dark",
|
||||
"from": "2026-11-01",
|
||||
"to": "2026-11-30"
|
||||
},
|
||||
{
|
||||
"width": 320,
|
||||
"language": "nb",
|
||||
"mode": "dark",
|
||||
"from": "2026-11-01",
|
||||
"to": "2026-11-30"
|
||||
},
|
||||
{
|
||||
"width": 390,
|
||||
"language": "en",
|
||||
"mode": "light",
|
||||
"from": "2026-11-01",
|
||||
"to": "2026-11-30"
|
||||
},
|
||||
{
|
||||
"width": 390,
|
||||
"language": "en",
|
||||
"mode": "light",
|
||||
"from": "2026-12-01",
|
||||
"to": "2026-12-31"
|
||||
},
|
||||
{
|
||||
"width": 390,
|
||||
"language": "en",
|
||||
"mode": "light",
|
||||
"from": "2026-11-01",
|
||||
"to": "2026-11-30"
|
||||
},
|
||||
{
|
||||
"width": 390,
|
||||
"language": "en",
|
||||
"mode": "light",
|
||||
"from": "2026-11-01",
|
||||
"to": "2026-11-30"
|
||||
},
|
||||
{
|
||||
"width": 390,
|
||||
"language": "en",
|
||||
"mode": "dark",
|
||||
"from": "2026-11-01",
|
||||
"to": "2026-11-30"
|
||||
},
|
||||
{
|
||||
"width": 390,
|
||||
"language": "en",
|
||||
"mode": "dark",
|
||||
"from": "2026-12-01",
|
||||
"to": "2026-12-31"
|
||||
},
|
||||
{
|
||||
"width": 390,
|
||||
"language": "en",
|
||||
"mode": "dark",
|
||||
"from": "2026-11-01",
|
||||
"to": "2026-11-30"
|
||||
},
|
||||
{
|
||||
"width": 390,
|
||||
"language": "en",
|
||||
"mode": "dark",
|
||||
"from": "2026-11-01",
|
||||
"to": "2026-11-30"
|
||||
},
|
||||
{
|
||||
"width": 390,
|
||||
"language": "nb",
|
||||
"mode": "light",
|
||||
"from": "2026-11-01",
|
||||
"to": "2026-11-30"
|
||||
},
|
||||
{
|
||||
"width": 390,
|
||||
"language": "nb",
|
||||
"mode": "light",
|
||||
"from": "2026-12-01",
|
||||
"to": "2026-12-31"
|
||||
},
|
||||
{
|
||||
"width": 390,
|
||||
"language": "nb",
|
||||
"mode": "light",
|
||||
"from": "2026-11-01",
|
||||
"to": "2026-11-30"
|
||||
},
|
||||
{
|
||||
"width": 390,
|
||||
"language": "nb",
|
||||
"mode": "light",
|
||||
"from": "2026-11-01",
|
||||
"to": "2026-11-30"
|
||||
},
|
||||
{
|
||||
"width": 390,
|
||||
"language": "nb",
|
||||
"mode": "dark",
|
||||
"from": "2026-11-01",
|
||||
"to": "2026-11-30"
|
||||
},
|
||||
{
|
||||
"width": 390,
|
||||
"language": "nb",
|
||||
"mode": "dark",
|
||||
"from": "2026-12-01",
|
||||
"to": "2026-12-31"
|
||||
},
|
||||
{
|
||||
"width": 390,
|
||||
"language": "nb",
|
||||
"mode": "dark",
|
||||
"from": "2026-11-01",
|
||||
"to": "2026-11-30"
|
||||
},
|
||||
{
|
||||
"width": 390,
|
||||
"language": "nb",
|
||||
"mode": "dark",
|
||||
"from": "2026-11-01",
|
||||
"to": "2026-11-30"
|
||||
},
|
||||
{
|
||||
"width": 768,
|
||||
"language": "en",
|
||||
"mode": "light",
|
||||
"from": "2026-11-01",
|
||||
"to": "2026-11-30"
|
||||
},
|
||||
{
|
||||
"width": 768,
|
||||
"language": "en",
|
||||
"mode": "light",
|
||||
"from": "2026-12-01",
|
||||
"to": "2026-12-31"
|
||||
},
|
||||
{
|
||||
"width": 768,
|
||||
"language": "en",
|
||||
"mode": "light",
|
||||
"from": "2026-11-01",
|
||||
"to": "2026-11-30"
|
||||
},
|
||||
{
|
||||
"width": 768,
|
||||
"language": "en",
|
||||
"mode": "light",
|
||||
"from": "2026-11-01",
|
||||
"to": "2026-11-30"
|
||||
},
|
||||
{
|
||||
"width": 768,
|
||||
"language": "en",
|
||||
"mode": "dark",
|
||||
"from": "2026-11-01",
|
||||
"to": "2026-11-30"
|
||||
},
|
||||
{
|
||||
"width": 768,
|
||||
"language": "en",
|
||||
"mode": "dark",
|
||||
"from": "2026-12-01",
|
||||
"to": "2026-12-31"
|
||||
},
|
||||
{
|
||||
"width": 768,
|
||||
"language": "en",
|
||||
"mode": "dark",
|
||||
"from": "2026-11-01",
|
||||
"to": "2026-11-30"
|
||||
},
|
||||
{
|
||||
"width": 768,
|
||||
"language": "en",
|
||||
"mode": "dark",
|
||||
"from": "2026-11-01",
|
||||
"to": "2026-11-30"
|
||||
},
|
||||
{
|
||||
"width": 768,
|
||||
"language": "nb",
|
||||
"mode": "light",
|
||||
"from": "2026-11-01",
|
||||
"to": "2026-11-30"
|
||||
},
|
||||
{
|
||||
"width": 768,
|
||||
"language": "nb",
|
||||
"mode": "light",
|
||||
"from": "2026-12-01",
|
||||
"to": "2026-12-31"
|
||||
},
|
||||
{
|
||||
"width": 768,
|
||||
"language": "nb",
|
||||
"mode": "light",
|
||||
"from": "2026-11-01",
|
||||
"to": "2026-11-30"
|
||||
},
|
||||
{
|
||||
"width": 768,
|
||||
"language": "nb",
|
||||
"mode": "light",
|
||||
"from": "2026-11-01",
|
||||
"to": "2026-11-30"
|
||||
},
|
||||
{
|
||||
"width": 768,
|
||||
"language": "nb",
|
||||
"mode": "dark",
|
||||
"from": "2026-11-01",
|
||||
"to": "2026-11-30"
|
||||
},
|
||||
{
|
||||
"width": 768,
|
||||
"language": "nb",
|
||||
"mode": "dark",
|
||||
"from": "2026-12-01",
|
||||
"to": "2026-12-31"
|
||||
},
|
||||
{
|
||||
"width": 768,
|
||||
"language": "nb",
|
||||
"mode": "dark",
|
||||
"from": "2026-11-01",
|
||||
"to": "2026-11-30"
|
||||
},
|
||||
{
|
||||
"width": 768,
|
||||
"language": "nb",
|
||||
"mode": "dark",
|
||||
"from": "2026-11-01",
|
||||
"to": "2026-11-30"
|
||||
},
|
||||
{
|
||||
"width": 1440,
|
||||
"language": "en",
|
||||
"mode": "light",
|
||||
"from": "2026-11-01",
|
||||
"to": "2026-11-30"
|
||||
},
|
||||
{
|
||||
"width": 1440,
|
||||
"language": "en",
|
||||
"mode": "light",
|
||||
"from": "2026-12-01",
|
||||
"to": "2026-12-31"
|
||||
},
|
||||
{
|
||||
"width": 1440,
|
||||
"language": "en",
|
||||
"mode": "light",
|
||||
"from": "2026-11-01",
|
||||
"to": "2026-11-30"
|
||||
},
|
||||
{
|
||||
"width": 1440,
|
||||
"language": "en",
|
||||
"mode": "light",
|
||||
"from": "2026-11-01",
|
||||
"to": "2026-11-30"
|
||||
},
|
||||
{
|
||||
"width": 1440,
|
||||
"language": "en",
|
||||
"mode": "dark",
|
||||
"from": "2026-11-01",
|
||||
"to": "2026-11-30"
|
||||
},
|
||||
{
|
||||
"width": 1440,
|
||||
"language": "en",
|
||||
"mode": "dark",
|
||||
"from": "2026-12-01",
|
||||
"to": "2026-12-31"
|
||||
},
|
||||
{
|
||||
"width": 1440,
|
||||
"language": "en",
|
||||
"mode": "dark",
|
||||
"from": "2026-11-01",
|
||||
"to": "2026-11-30"
|
||||
},
|
||||
{
|
||||
"width": 1440,
|
||||
"language": "en",
|
||||
"mode": "dark",
|
||||
"from": "2026-11-01",
|
||||
"to": "2026-11-30"
|
||||
},
|
||||
{
|
||||
"width": 1440,
|
||||
"language": "nb",
|
||||
"mode": "light",
|
||||
"from": "2026-11-01",
|
||||
"to": "2026-11-30"
|
||||
},
|
||||
{
|
||||
"width": 1440,
|
||||
"language": "nb",
|
||||
"mode": "light",
|
||||
"from": "2026-12-01",
|
||||
"to": "2026-12-31"
|
||||
},
|
||||
{
|
||||
"width": 1440,
|
||||
"language": "nb",
|
||||
"mode": "light",
|
||||
"from": "2026-11-01",
|
||||
"to": "2026-11-30"
|
||||
},
|
||||
{
|
||||
"width": 1440,
|
||||
"language": "nb",
|
||||
"mode": "light",
|
||||
"from": "2026-11-01",
|
||||
"to": "2026-11-30"
|
||||
},
|
||||
{
|
||||
"width": 1440,
|
||||
"language": "nb",
|
||||
"mode": "dark",
|
||||
"from": "2026-11-01",
|
||||
"to": "2026-11-30"
|
||||
},
|
||||
{
|
||||
"width": 1440,
|
||||
"language": "nb",
|
||||
"mode": "dark",
|
||||
"from": "2026-12-01",
|
||||
"to": "2026-12-31"
|
||||
},
|
||||
{
|
||||
"width": 1440,
|
||||
"language": "nb",
|
||||
"mode": "dark",
|
||||
"from": "2026-11-01",
|
||||
"to": "2026-11-30"
|
||||
},
|
||||
{
|
||||
"width": 1440,
|
||||
"language": "nb",
|
||||
"mode": "dark",
|
||||
"from": "2026-11-01",
|
||||
"to": "2026-11-30"
|
||||
}
|
||||
],
|
||||
"blockedExternal": [
|
||||
"https://fonts.googleapis.com",
|
||||
"https://fonts.googleapis.com",
|
||||
"https://fonts.googleapis.com",
|
||||
"https://fonts.googleapis.com",
|
||||
"https://fonts.googleapis.com",
|
||||
"https://fonts.googleapis.com",
|
||||
"https://fonts.googleapis.com",
|
||||
"https://fonts.googleapis.com",
|
||||
"https://fonts.googleapis.com",
|
||||
"https://fonts.googleapis.com",
|
||||
"https://fonts.googleapis.com",
|
||||
"https://fonts.googleapis.com",
|
||||
"https://fonts.googleapis.com",
|
||||
"https://fonts.googleapis.com",
|
||||
"https://fonts.googleapis.com",
|
||||
"https://fonts.googleapis.com",
|
||||
"https://fonts.googleapis.com",
|
||||
"https://fonts.googleapis.com",
|
||||
"https://fonts.googleapis.com",
|
||||
"https://fonts.googleapis.com",
|
||||
"https://fonts.googleapis.com",
|
||||
"https://fonts.googleapis.com",
|
||||
"https://fonts.googleapis.com",
|
||||
"https://fonts.googleapis.com",
|
||||
"https://fonts.googleapis.com",
|
||||
"https://fonts.googleapis.com",
|
||||
"https://fonts.googleapis.com",
|
||||
"https://fonts.googleapis.com",
|
||||
"https://fonts.googleapis.com",
|
||||
"https://fonts.googleapis.com",
|
||||
"https://fonts.googleapis.com",
|
||||
"https://fonts.googleapis.com"
|
||||
],
|
||||
"limits": [
|
||||
"Controlled API fixtures, not a live backend/provider or reminder delivery.",
|
||||
"Date-level recorded deadline/follow-up display; no fabricated interview appointments or source timezone reconstruction.",
|
||||
"No native-device, physical rendering, final security or release qualification."
|
||||
]
|
||||
}
|
||||
@@ -0,0 +1,23 @@
|
||||
{
|
||||
"screens": [],
|
||||
"journeys": [],
|
||||
"errors": [],
|
||||
"unexpectedWrites": [],
|
||||
"reads": [
|
||||
{
|
||||
"width": 320,
|
||||
"language": "en",
|
||||
"mode": "light",
|
||||
"from": "2026-11-01",
|
||||
"to": "2026-11-30"
|
||||
}
|
||||
],
|
||||
"blockedExternal": [
|
||||
"https://fonts.googleapis.com"
|
||||
],
|
||||
"limits": [
|
||||
"Controlled API fixtures, not a live backend/provider or reminder delivery.",
|
||||
"Date-level recorded deadline/follow-up display; no fabricated interview appointments or source timezone reconstruction.",
|
||||
"No native-device, physical rendering, final security or release qualification."
|
||||
]
|
||||
}
|
||||
@@ -0,0 +1,74 @@
|
||||
{
|
||||
"screens": [
|
||||
{
|
||||
"width": 320,
|
||||
"language": "en",
|
||||
"mode": "light",
|
||||
"state": "agenda",
|
||||
"violations": []
|
||||
},
|
||||
{
|
||||
"width": 320,
|
||||
"language": "en",
|
||||
"mode": "light",
|
||||
"state": "month",
|
||||
"violations": []
|
||||
},
|
||||
{
|
||||
"width": 320,
|
||||
"language": "en",
|
||||
"mode": "light",
|
||||
"state": "linked-application",
|
||||
"violations": []
|
||||
}
|
||||
],
|
||||
"journeys": [
|
||||
{
|
||||
"width": 320,
|
||||
"language": "en",
|
||||
"mode": "light",
|
||||
"agendaMonthSelectionPersistedPreferenceBoundedMonthNavigationLinkedDeadline": "PASS"
|
||||
}
|
||||
],
|
||||
"errors": [],
|
||||
"unexpectedWrites": [],
|
||||
"reads": [
|
||||
{
|
||||
"width": 320,
|
||||
"language": "en",
|
||||
"mode": "light",
|
||||
"from": "2026-11-01",
|
||||
"to": "2026-11-30"
|
||||
},
|
||||
{
|
||||
"width": 320,
|
||||
"language": "en",
|
||||
"mode": "light",
|
||||
"from": "2026-12-01",
|
||||
"to": "2026-12-31"
|
||||
},
|
||||
{
|
||||
"width": 320,
|
||||
"language": "en",
|
||||
"mode": "light",
|
||||
"from": "2026-11-01",
|
||||
"to": "2026-11-30"
|
||||
},
|
||||
{
|
||||
"width": 320,
|
||||
"language": "en",
|
||||
"mode": "light",
|
||||
"from": "2026-11-01",
|
||||
"to": "2026-11-30"
|
||||
}
|
||||
],
|
||||
"blockedExternal": [
|
||||
"https://fonts.googleapis.com",
|
||||
"https://fonts.googleapis.com"
|
||||
],
|
||||
"limits": [
|
||||
"Controlled API fixtures, not a live backend/provider or reminder delivery.",
|
||||
"Date-level recorded deadline/follow-up display; no fabricated interview appointments or source timezone reconstruction.",
|
||||
"No native-device, physical rendering, final security or release qualification."
|
||||
]
|
||||
}
|
||||
@@ -0,0 +1,929 @@
|
||||
{
|
||||
"screens": [
|
||||
{
|
||||
"width": 320,
|
||||
"language": "en",
|
||||
"mode": "light",
|
||||
"state": "agenda",
|
||||
"violations": []
|
||||
},
|
||||
{
|
||||
"width": 320,
|
||||
"language": "en",
|
||||
"mode": "light",
|
||||
"state": "month",
|
||||
"violations": []
|
||||
},
|
||||
{
|
||||
"width": 320,
|
||||
"language": "en",
|
||||
"mode": "light",
|
||||
"state": "linked-application",
|
||||
"violations": []
|
||||
},
|
||||
{
|
||||
"width": 320,
|
||||
"language": "en",
|
||||
"mode": "dark",
|
||||
"state": "agenda",
|
||||
"violations": []
|
||||
},
|
||||
{
|
||||
"width": 320,
|
||||
"language": "en",
|
||||
"mode": "dark",
|
||||
"state": "month",
|
||||
"violations": []
|
||||
},
|
||||
{
|
||||
"width": 320,
|
||||
"language": "en",
|
||||
"mode": "dark",
|
||||
"state": "linked-application",
|
||||
"violations": []
|
||||
},
|
||||
{
|
||||
"width": 320,
|
||||
"language": "nb",
|
||||
"mode": "light",
|
||||
"state": "agenda",
|
||||
"violations": []
|
||||
},
|
||||
{
|
||||
"width": 320,
|
||||
"language": "nb",
|
||||
"mode": "light",
|
||||
"state": "month",
|
||||
"violations": []
|
||||
},
|
||||
{
|
||||
"width": 320,
|
||||
"language": "nb",
|
||||
"mode": "light",
|
||||
"state": "linked-application",
|
||||
"violations": []
|
||||
},
|
||||
{
|
||||
"width": 320,
|
||||
"language": "nb",
|
||||
"mode": "dark",
|
||||
"state": "agenda",
|
||||
"violations": []
|
||||
},
|
||||
{
|
||||
"width": 320,
|
||||
"language": "nb",
|
||||
"mode": "dark",
|
||||
"state": "month",
|
||||
"violations": []
|
||||
},
|
||||
{
|
||||
"width": 320,
|
||||
"language": "nb",
|
||||
"mode": "dark",
|
||||
"state": "linked-application",
|
||||
"violations": []
|
||||
},
|
||||
{
|
||||
"width": 390,
|
||||
"language": "en",
|
||||
"mode": "light",
|
||||
"state": "agenda",
|
||||
"violations": []
|
||||
},
|
||||
{
|
||||
"width": 390,
|
||||
"language": "en",
|
||||
"mode": "light",
|
||||
"state": "month",
|
||||
"violations": []
|
||||
},
|
||||
{
|
||||
"width": 390,
|
||||
"language": "en",
|
||||
"mode": "light",
|
||||
"state": "linked-application",
|
||||
"violations": []
|
||||
},
|
||||
{
|
||||
"width": 390,
|
||||
"language": "en",
|
||||
"mode": "dark",
|
||||
"state": "agenda",
|
||||
"violations": []
|
||||
},
|
||||
{
|
||||
"width": 390,
|
||||
"language": "en",
|
||||
"mode": "dark",
|
||||
"state": "month",
|
||||
"violations": []
|
||||
},
|
||||
{
|
||||
"width": 390,
|
||||
"language": "en",
|
||||
"mode": "dark",
|
||||
"state": "linked-application",
|
||||
"violations": []
|
||||
},
|
||||
{
|
||||
"width": 390,
|
||||
"language": "nb",
|
||||
"mode": "light",
|
||||
"state": "agenda",
|
||||
"violations": []
|
||||
},
|
||||
{
|
||||
"width": 390,
|
||||
"language": "nb",
|
||||
"mode": "light",
|
||||
"state": "month",
|
||||
"violations": []
|
||||
},
|
||||
{
|
||||
"width": 390,
|
||||
"language": "nb",
|
||||
"mode": "light",
|
||||
"state": "linked-application",
|
||||
"violations": []
|
||||
},
|
||||
{
|
||||
"width": 390,
|
||||
"language": "nb",
|
||||
"mode": "dark",
|
||||
"state": "agenda",
|
||||
"violations": []
|
||||
},
|
||||
{
|
||||
"width": 390,
|
||||
"language": "nb",
|
||||
"mode": "dark",
|
||||
"state": "month",
|
||||
"violations": []
|
||||
},
|
||||
{
|
||||
"width": 390,
|
||||
"language": "nb",
|
||||
"mode": "dark",
|
||||
"state": "linked-application",
|
||||
"violations": []
|
||||
},
|
||||
{
|
||||
"width": 768,
|
||||
"language": "en",
|
||||
"mode": "light",
|
||||
"state": "agenda",
|
||||
"violations": []
|
||||
},
|
||||
{
|
||||
"width": 768,
|
||||
"language": "en",
|
||||
"mode": "light",
|
||||
"state": "month",
|
||||
"violations": []
|
||||
},
|
||||
{
|
||||
"width": 768,
|
||||
"language": "en",
|
||||
"mode": "light",
|
||||
"state": "linked-application",
|
||||
"violations": []
|
||||
},
|
||||
{
|
||||
"width": 768,
|
||||
"language": "en",
|
||||
"mode": "dark",
|
||||
"state": "agenda",
|
||||
"violations": []
|
||||
},
|
||||
{
|
||||
"width": 768,
|
||||
"language": "en",
|
||||
"mode": "dark",
|
||||
"state": "month",
|
||||
"violations": []
|
||||
},
|
||||
{
|
||||
"width": 768,
|
||||
"language": "en",
|
||||
"mode": "dark",
|
||||
"state": "linked-application",
|
||||
"violations": []
|
||||
},
|
||||
{
|
||||
"width": 768,
|
||||
"language": "nb",
|
||||
"mode": "light",
|
||||
"state": "agenda",
|
||||
"violations": []
|
||||
},
|
||||
{
|
||||
"width": 768,
|
||||
"language": "nb",
|
||||
"mode": "light",
|
||||
"state": "month",
|
||||
"violations": []
|
||||
},
|
||||
{
|
||||
"width": 768,
|
||||
"language": "nb",
|
||||
"mode": "light",
|
||||
"state": "linked-application",
|
||||
"violations": []
|
||||
},
|
||||
{
|
||||
"width": 768,
|
||||
"language": "nb",
|
||||
"mode": "dark",
|
||||
"state": "agenda",
|
||||
"violations": []
|
||||
},
|
||||
{
|
||||
"width": 768,
|
||||
"language": "nb",
|
||||
"mode": "dark",
|
||||
"state": "month",
|
||||
"violations": []
|
||||
},
|
||||
{
|
||||
"width": 768,
|
||||
"language": "nb",
|
||||
"mode": "dark",
|
||||
"state": "linked-application",
|
||||
"violations": []
|
||||
},
|
||||
{
|
||||
"width": 1440,
|
||||
"language": "en",
|
||||
"mode": "light",
|
||||
"state": "agenda",
|
||||
"violations": []
|
||||
},
|
||||
{
|
||||
"width": 1440,
|
||||
"language": "en",
|
||||
"mode": "light",
|
||||
"state": "month",
|
||||
"violations": []
|
||||
},
|
||||
{
|
||||
"width": 1440,
|
||||
"language": "en",
|
||||
"mode": "light",
|
||||
"state": "linked-application",
|
||||
"violations": []
|
||||
},
|
||||
{
|
||||
"width": 1440,
|
||||
"language": "en",
|
||||
"mode": "dark",
|
||||
"state": "agenda",
|
||||
"violations": []
|
||||
},
|
||||
{
|
||||
"width": 1440,
|
||||
"language": "en",
|
||||
"mode": "dark",
|
||||
"state": "month",
|
||||
"violations": []
|
||||
},
|
||||
{
|
||||
"width": 1440,
|
||||
"language": "en",
|
||||
"mode": "dark",
|
||||
"state": "linked-application",
|
||||
"violations": []
|
||||
},
|
||||
{
|
||||
"width": 1440,
|
||||
"language": "nb",
|
||||
"mode": "light",
|
||||
"state": "agenda",
|
||||
"violations": []
|
||||
},
|
||||
{
|
||||
"width": 1440,
|
||||
"language": "nb",
|
||||
"mode": "light",
|
||||
"state": "month",
|
||||
"violations": []
|
||||
},
|
||||
{
|
||||
"width": 1440,
|
||||
"language": "nb",
|
||||
"mode": "light",
|
||||
"state": "linked-application",
|
||||
"violations": []
|
||||
},
|
||||
{
|
||||
"width": 1440,
|
||||
"language": "nb",
|
||||
"mode": "dark",
|
||||
"state": "agenda",
|
||||
"violations": []
|
||||
},
|
||||
{
|
||||
"width": 1440,
|
||||
"language": "nb",
|
||||
"mode": "dark",
|
||||
"state": "month",
|
||||
"violations": []
|
||||
},
|
||||
{
|
||||
"width": 1440,
|
||||
"language": "nb",
|
||||
"mode": "dark",
|
||||
"state": "linked-application",
|
||||
"violations": []
|
||||
}
|
||||
],
|
||||
"journeys": [
|
||||
{
|
||||
"width": 320,
|
||||
"language": "en",
|
||||
"mode": "light",
|
||||
"agendaMonthSelectionPersistedPreferenceBoundedMonthNavigationLinkedDeadline": "PASS"
|
||||
},
|
||||
{
|
||||
"width": 320,
|
||||
"language": "en",
|
||||
"mode": "dark",
|
||||
"agendaMonthSelectionPersistedPreferenceBoundedMonthNavigationLinkedDeadline": "PASS"
|
||||
},
|
||||
{
|
||||
"width": 320,
|
||||
"language": "nb",
|
||||
"mode": "light",
|
||||
"agendaMonthSelectionPersistedPreferenceBoundedMonthNavigationLinkedDeadline": "PASS"
|
||||
},
|
||||
{
|
||||
"width": 320,
|
||||
"language": "nb",
|
||||
"mode": "dark",
|
||||
"agendaMonthSelectionPersistedPreferenceBoundedMonthNavigationLinkedDeadline": "PASS"
|
||||
},
|
||||
{
|
||||
"width": 390,
|
||||
"language": "en",
|
||||
"mode": "light",
|
||||
"agendaMonthSelectionPersistedPreferenceBoundedMonthNavigationLinkedDeadline": "PASS"
|
||||
},
|
||||
{
|
||||
"width": 390,
|
||||
"language": "en",
|
||||
"mode": "dark",
|
||||
"agendaMonthSelectionPersistedPreferenceBoundedMonthNavigationLinkedDeadline": "PASS"
|
||||
},
|
||||
{
|
||||
"width": 390,
|
||||
"language": "nb",
|
||||
"mode": "light",
|
||||
"agendaMonthSelectionPersistedPreferenceBoundedMonthNavigationLinkedDeadline": "PASS"
|
||||
},
|
||||
{
|
||||
"width": 390,
|
||||
"language": "nb",
|
||||
"mode": "dark",
|
||||
"agendaMonthSelectionPersistedPreferenceBoundedMonthNavigationLinkedDeadline": "PASS"
|
||||
},
|
||||
{
|
||||
"width": 768,
|
||||
"language": "en",
|
||||
"mode": "light",
|
||||
"agendaMonthSelectionPersistedPreferenceBoundedMonthNavigationLinkedDeadline": "PASS"
|
||||
},
|
||||
{
|
||||
"width": 768,
|
||||
"language": "en",
|
||||
"mode": "dark",
|
||||
"agendaMonthSelectionPersistedPreferenceBoundedMonthNavigationLinkedDeadline": "PASS"
|
||||
},
|
||||
{
|
||||
"width": 768,
|
||||
"language": "nb",
|
||||
"mode": "light",
|
||||
"agendaMonthSelectionPersistedPreferenceBoundedMonthNavigationLinkedDeadline": "PASS"
|
||||
},
|
||||
{
|
||||
"width": 768,
|
||||
"language": "nb",
|
||||
"mode": "dark",
|
||||
"agendaMonthSelectionPersistedPreferenceBoundedMonthNavigationLinkedDeadline": "PASS"
|
||||
},
|
||||
{
|
||||
"width": 1440,
|
||||
"language": "en",
|
||||
"mode": "light",
|
||||
"agendaMonthSelectionPersistedPreferenceBoundedMonthNavigationLinkedDeadline": "PASS"
|
||||
},
|
||||
{
|
||||
"width": 1440,
|
||||
"language": "en",
|
||||
"mode": "dark",
|
||||
"agendaMonthSelectionPersistedPreferenceBoundedMonthNavigationLinkedDeadline": "PASS"
|
||||
},
|
||||
{
|
||||
"width": 1440,
|
||||
"language": "nb",
|
||||
"mode": "light",
|
||||
"agendaMonthSelectionPersistedPreferenceBoundedMonthNavigationLinkedDeadline": "PASS"
|
||||
},
|
||||
{
|
||||
"width": 1440,
|
||||
"language": "nb",
|
||||
"mode": "dark",
|
||||
"agendaMonthSelectionPersistedPreferenceBoundedMonthNavigationLinkedDeadline": "PASS"
|
||||
}
|
||||
],
|
||||
"errors": [],
|
||||
"unexpectedWrites": [],
|
||||
"reads": [
|
||||
{
|
||||
"width": 320,
|
||||
"language": "en",
|
||||
"mode": "light",
|
||||
"from": "2026-11-01",
|
||||
"to": "2026-11-30"
|
||||
},
|
||||
{
|
||||
"width": 320,
|
||||
"language": "en",
|
||||
"mode": "light",
|
||||
"from": "2026-12-01",
|
||||
"to": "2026-12-31"
|
||||
},
|
||||
{
|
||||
"width": 320,
|
||||
"language": "en",
|
||||
"mode": "light",
|
||||
"from": "2026-11-01",
|
||||
"to": "2026-11-30"
|
||||
},
|
||||
{
|
||||
"width": 320,
|
||||
"language": "en",
|
||||
"mode": "light",
|
||||
"from": "2026-11-01",
|
||||
"to": "2026-11-30"
|
||||
},
|
||||
{
|
||||
"width": 320,
|
||||
"language": "en",
|
||||
"mode": "dark",
|
||||
"from": "2026-11-01",
|
||||
"to": "2026-11-30"
|
||||
},
|
||||
{
|
||||
"width": 320,
|
||||
"language": "en",
|
||||
"mode": "dark",
|
||||
"from": "2026-12-01",
|
||||
"to": "2026-12-31"
|
||||
},
|
||||
{
|
||||
"width": 320,
|
||||
"language": "en",
|
||||
"mode": "dark",
|
||||
"from": "2026-11-01",
|
||||
"to": "2026-11-30"
|
||||
},
|
||||
{
|
||||
"width": 320,
|
||||
"language": "en",
|
||||
"mode": "dark",
|
||||
"from": "2026-11-01",
|
||||
"to": "2026-11-30"
|
||||
},
|
||||
{
|
||||
"width": 320,
|
||||
"language": "nb",
|
||||
"mode": "light",
|
||||
"from": "2026-11-01",
|
||||
"to": "2026-11-30"
|
||||
},
|
||||
{
|
||||
"width": 320,
|
||||
"language": "nb",
|
||||
"mode": "light",
|
||||
"from": "2026-12-01",
|
||||
"to": "2026-12-31"
|
||||
},
|
||||
{
|
||||
"width": 320,
|
||||
"language": "nb",
|
||||
"mode": "light",
|
||||
"from": "2026-11-01",
|
||||
"to": "2026-11-30"
|
||||
},
|
||||
{
|
||||
"width": 320,
|
||||
"language": "nb",
|
||||
"mode": "light",
|
||||
"from": "2026-11-01",
|
||||
"to": "2026-11-30"
|
||||
},
|
||||
{
|
||||
"width": 320,
|
||||
"language": "nb",
|
||||
"mode": "dark",
|
||||
"from": "2026-11-01",
|
||||
"to": "2026-11-30"
|
||||
},
|
||||
{
|
||||
"width": 320,
|
||||
"language": "nb",
|
||||
"mode": "dark",
|
||||
"from": "2026-12-01",
|
||||
"to": "2026-12-31"
|
||||
},
|
||||
{
|
||||
"width": 320,
|
||||
"language": "nb",
|
||||
"mode": "dark",
|
||||
"from": "2026-11-01",
|
||||
"to": "2026-11-30"
|
||||
},
|
||||
{
|
||||
"width": 320,
|
||||
"language": "nb",
|
||||
"mode": "dark",
|
||||
"from": "2026-11-01",
|
||||
"to": "2026-11-30"
|
||||
},
|
||||
{
|
||||
"width": 390,
|
||||
"language": "en",
|
||||
"mode": "light",
|
||||
"from": "2026-11-01",
|
||||
"to": "2026-11-30"
|
||||
},
|
||||
{
|
||||
"width": 390,
|
||||
"language": "en",
|
||||
"mode": "light",
|
||||
"from": "2026-12-01",
|
||||
"to": "2026-12-31"
|
||||
},
|
||||
{
|
||||
"width": 390,
|
||||
"language": "en",
|
||||
"mode": "light",
|
||||
"from": "2026-11-01",
|
||||
"to": "2026-11-30"
|
||||
},
|
||||
{
|
||||
"width": 390,
|
||||
"language": "en",
|
||||
"mode": "light",
|
||||
"from": "2026-11-01",
|
||||
"to": "2026-11-30"
|
||||
},
|
||||
{
|
||||
"width": 390,
|
||||
"language": "en",
|
||||
"mode": "dark",
|
||||
"from": "2026-11-01",
|
||||
"to": "2026-11-30"
|
||||
},
|
||||
{
|
||||
"width": 390,
|
||||
"language": "en",
|
||||
"mode": "dark",
|
||||
"from": "2026-12-01",
|
||||
"to": "2026-12-31"
|
||||
},
|
||||
{
|
||||
"width": 390,
|
||||
"language": "en",
|
||||
"mode": "dark",
|
||||
"from": "2026-11-01",
|
||||
"to": "2026-11-30"
|
||||
},
|
||||
{
|
||||
"width": 390,
|
||||
"language": "en",
|
||||
"mode": "dark",
|
||||
"from": "2026-11-01",
|
||||
"to": "2026-11-30"
|
||||
},
|
||||
{
|
||||
"width": 390,
|
||||
"language": "nb",
|
||||
"mode": "light",
|
||||
"from": "2026-11-01",
|
||||
"to": "2026-11-30"
|
||||
},
|
||||
{
|
||||
"width": 390,
|
||||
"language": "nb",
|
||||
"mode": "light",
|
||||
"from": "2026-12-01",
|
||||
"to": "2026-12-31"
|
||||
},
|
||||
{
|
||||
"width": 390,
|
||||
"language": "nb",
|
||||
"mode": "light",
|
||||
"from": "2026-11-01",
|
||||
"to": "2026-11-30"
|
||||
},
|
||||
{
|
||||
"width": 390,
|
||||
"language": "nb",
|
||||
"mode": "light",
|
||||
"from": "2026-11-01",
|
||||
"to": "2026-11-30"
|
||||
},
|
||||
{
|
||||
"width": 390,
|
||||
"language": "nb",
|
||||
"mode": "dark",
|
||||
"from": "2026-11-01",
|
||||
"to": "2026-11-30"
|
||||
},
|
||||
{
|
||||
"width": 390,
|
||||
"language": "nb",
|
||||
"mode": "dark",
|
||||
"from": "2026-12-01",
|
||||
"to": "2026-12-31"
|
||||
},
|
||||
{
|
||||
"width": 390,
|
||||
"language": "nb",
|
||||
"mode": "dark",
|
||||
"from": "2026-11-01",
|
||||
"to": "2026-11-30"
|
||||
},
|
||||
{
|
||||
"width": 390,
|
||||
"language": "nb",
|
||||
"mode": "dark",
|
||||
"from": "2026-11-01",
|
||||
"to": "2026-11-30"
|
||||
},
|
||||
{
|
||||
"width": 768,
|
||||
"language": "en",
|
||||
"mode": "light",
|
||||
"from": "2026-11-01",
|
||||
"to": "2026-11-30"
|
||||
},
|
||||
{
|
||||
"width": 768,
|
||||
"language": "en",
|
||||
"mode": "light",
|
||||
"from": "2026-12-01",
|
||||
"to": "2026-12-31"
|
||||
},
|
||||
{
|
||||
"width": 768,
|
||||
"language": "en",
|
||||
"mode": "light",
|
||||
"from": "2026-11-01",
|
||||
"to": "2026-11-30"
|
||||
},
|
||||
{
|
||||
"width": 768,
|
||||
"language": "en",
|
||||
"mode": "light",
|
||||
"from": "2026-11-01",
|
||||
"to": "2026-11-30"
|
||||
},
|
||||
{
|
||||
"width": 768,
|
||||
"language": "en",
|
||||
"mode": "dark",
|
||||
"from": "2026-11-01",
|
||||
"to": "2026-11-30"
|
||||
},
|
||||
{
|
||||
"width": 768,
|
||||
"language": "en",
|
||||
"mode": "dark",
|
||||
"from": "2026-12-01",
|
||||
"to": "2026-12-31"
|
||||
},
|
||||
{
|
||||
"width": 768,
|
||||
"language": "en",
|
||||
"mode": "dark",
|
||||
"from": "2026-11-01",
|
||||
"to": "2026-11-30"
|
||||
},
|
||||
{
|
||||
"width": 768,
|
||||
"language": "en",
|
||||
"mode": "dark",
|
||||
"from": "2026-11-01",
|
||||
"to": "2026-11-30"
|
||||
},
|
||||
{
|
||||
"width": 768,
|
||||
"language": "nb",
|
||||
"mode": "light",
|
||||
"from": "2026-11-01",
|
||||
"to": "2026-11-30"
|
||||
},
|
||||
{
|
||||
"width": 768,
|
||||
"language": "nb",
|
||||
"mode": "light",
|
||||
"from": "2026-12-01",
|
||||
"to": "2026-12-31"
|
||||
},
|
||||
{
|
||||
"width": 768,
|
||||
"language": "nb",
|
||||
"mode": "light",
|
||||
"from": "2026-11-01",
|
||||
"to": "2026-11-30"
|
||||
},
|
||||
{
|
||||
"width": 768,
|
||||
"language": "nb",
|
||||
"mode": "light",
|
||||
"from": "2026-11-01",
|
||||
"to": "2026-11-30"
|
||||
},
|
||||
{
|
||||
"width": 768,
|
||||
"language": "nb",
|
||||
"mode": "dark",
|
||||
"from": "2026-11-01",
|
||||
"to": "2026-11-30"
|
||||
},
|
||||
{
|
||||
"width": 768,
|
||||
"language": "nb",
|
||||
"mode": "dark",
|
||||
"from": "2026-12-01",
|
||||
"to": "2026-12-31"
|
||||
},
|
||||
{
|
||||
"width": 768,
|
||||
"language": "nb",
|
||||
"mode": "dark",
|
||||
"from": "2026-11-01",
|
||||
"to": "2026-11-30"
|
||||
},
|
||||
{
|
||||
"width": 768,
|
||||
"language": "nb",
|
||||
"mode": "dark",
|
||||
"from": "2026-11-01",
|
||||
"to": "2026-11-30"
|
||||
},
|
||||
{
|
||||
"width": 1440,
|
||||
"language": "en",
|
||||
"mode": "light",
|
||||
"from": "2026-11-01",
|
||||
"to": "2026-11-30"
|
||||
},
|
||||
{
|
||||
"width": 1440,
|
||||
"language": "en",
|
||||
"mode": "light",
|
||||
"from": "2026-12-01",
|
||||
"to": "2026-12-31"
|
||||
},
|
||||
{
|
||||
"width": 1440,
|
||||
"language": "en",
|
||||
"mode": "light",
|
||||
"from": "2026-11-01",
|
||||
"to": "2026-11-30"
|
||||
},
|
||||
{
|
||||
"width": 1440,
|
||||
"language": "en",
|
||||
"mode": "light",
|
||||
"from": "2026-11-01",
|
||||
"to": "2026-11-30"
|
||||
},
|
||||
{
|
||||
"width": 1440,
|
||||
"language": "en",
|
||||
"mode": "dark",
|
||||
"from": "2026-11-01",
|
||||
"to": "2026-11-30"
|
||||
},
|
||||
{
|
||||
"width": 1440,
|
||||
"language": "en",
|
||||
"mode": "dark",
|
||||
"from": "2026-12-01",
|
||||
"to": "2026-12-31"
|
||||
},
|
||||
{
|
||||
"width": 1440,
|
||||
"language": "en",
|
||||
"mode": "dark",
|
||||
"from": "2026-11-01",
|
||||
"to": "2026-11-30"
|
||||
},
|
||||
{
|
||||
"width": 1440,
|
||||
"language": "en",
|
||||
"mode": "dark",
|
||||
"from": "2026-11-01",
|
||||
"to": "2026-11-30"
|
||||
},
|
||||
{
|
||||
"width": 1440,
|
||||
"language": "nb",
|
||||
"mode": "light",
|
||||
"from": "2026-11-01",
|
||||
"to": "2026-11-30"
|
||||
},
|
||||
{
|
||||
"width": 1440,
|
||||
"language": "nb",
|
||||
"mode": "light",
|
||||
"from": "2026-12-01",
|
||||
"to": "2026-12-31"
|
||||
},
|
||||
{
|
||||
"width": 1440,
|
||||
"language": "nb",
|
||||
"mode": "light",
|
||||
"from": "2026-11-01",
|
||||
"to": "2026-11-30"
|
||||
},
|
||||
{
|
||||
"width": 1440,
|
||||
"language": "nb",
|
||||
"mode": "light",
|
||||
"from": "2026-11-01",
|
||||
"to": "2026-11-30"
|
||||
},
|
||||
{
|
||||
"width": 1440,
|
||||
"language": "nb",
|
||||
"mode": "dark",
|
||||
"from": "2026-11-01",
|
||||
"to": "2026-11-30"
|
||||
},
|
||||
{
|
||||
"width": 1440,
|
||||
"language": "nb",
|
||||
"mode": "dark",
|
||||
"from": "2026-12-01",
|
||||
"to": "2026-12-31"
|
||||
},
|
||||
{
|
||||
"width": 1440,
|
||||
"language": "nb",
|
||||
"mode": "dark",
|
||||
"from": "2026-11-01",
|
||||
"to": "2026-11-30"
|
||||
},
|
||||
{
|
||||
"width": 1440,
|
||||
"language": "nb",
|
||||
"mode": "dark",
|
||||
"from": "2026-11-01",
|
||||
"to": "2026-11-30"
|
||||
}
|
||||
],
|
||||
"blockedExternal": [
|
||||
"https://fonts.googleapis.com",
|
||||
"https://fonts.googleapis.com",
|
||||
"https://fonts.googleapis.com",
|
||||
"https://fonts.googleapis.com",
|
||||
"https://fonts.googleapis.com",
|
||||
"https://fonts.googleapis.com",
|
||||
"https://fonts.googleapis.com",
|
||||
"https://fonts.googleapis.com",
|
||||
"https://fonts.googleapis.com",
|
||||
"https://fonts.googleapis.com",
|
||||
"https://fonts.googleapis.com",
|
||||
"https://fonts.googleapis.com",
|
||||
"https://fonts.googleapis.com",
|
||||
"https://fonts.googleapis.com",
|
||||
"https://fonts.googleapis.com",
|
||||
"https://fonts.googleapis.com",
|
||||
"https://fonts.googleapis.com",
|
||||
"https://fonts.googleapis.com",
|
||||
"https://fonts.googleapis.com",
|
||||
"https://fonts.googleapis.com",
|
||||
"https://fonts.googleapis.com",
|
||||
"https://fonts.googleapis.com",
|
||||
"https://fonts.googleapis.com",
|
||||
"https://fonts.googleapis.com",
|
||||
"https://fonts.googleapis.com",
|
||||
"https://fonts.googleapis.com",
|
||||
"https://fonts.googleapis.com",
|
||||
"https://fonts.googleapis.com",
|
||||
"https://fonts.googleapis.com",
|
||||
"https://fonts.googleapis.com",
|
||||
"https://fonts.googleapis.com",
|
||||
"https://fonts.googleapis.com"
|
||||
],
|
||||
"limits": [
|
||||
"Controlled API fixtures, not a live backend/provider or reminder delivery.",
|
||||
"Date-level recorded deadline/follow-up display; no fabricated interview appointments or source timezone reconstruction.",
|
||||
"No native-device, physical rendering, final security or release qualification."
|
||||
]
|
||||
}
|
||||
|
After Width: | Height: | Size: 92 KiB |
|
After Width: | Height: | Size: 60 KiB |
|
After Width: | Height: | Size: 59 KiB |
|
After Width: | Height: | Size: 88 KiB |
|
After Width: | Height: | Size: 93 KiB |
|
After Width: | Height: | Size: 60 KiB |
|
After Width: | Height: | Size: 58 KiB |
|
After Width: | Height: | Size: 88 KiB |
|
After Width: | Height: | Size: 94 KiB |
|
After Width: | Height: | Size: 61 KiB |
|
After Width: | Height: | Size: 59 KiB |
|
After Width: | Height: | Size: 89 KiB |
|
After Width: | Height: | Size: 94 KiB |
|
After Width: | Height: | Size: 60 KiB |
|
After Width: | Height: | Size: 59 KiB |
|
After Width: | Height: | Size: 90 KiB |
|
After Width: | Height: | Size: 109 KiB |
|
After Width: | Height: | Size: 77 KiB |
|
After Width: | Height: | Size: 79 KiB |
|
After Width: | Height: | Size: 104 KiB |
|
After Width: | Height: | Size: 110 KiB |
|
After Width: | Height: | Size: 76 KiB |
|
After Width: | Height: | Size: 79 KiB |
|
After Width: | Height: | Size: 105 KiB |
|
After Width: | Height: | Size: 110 KiB |
|
After Width: | Height: | Size: 77 KiB |
|
After Width: | Height: | Size: 79 KiB |
|
After Width: | Height: | Size: 104 KiB |
|
After Width: | Height: | Size: 112 KiB |
|
After Width: | Height: | Size: 77 KiB |
|
After Width: | Height: | Size: 79 KiB |
|
After Width: | Height: | Size: 104 KiB |
|
After Width: | Height: | Size: 97 KiB |
|
After Width: | Height: | Size: 61 KiB |
|
After Width: | Height: | Size: 61 KiB |
|
After Width: | Height: | Size: 91 KiB |
|
After Width: | Height: | Size: 97 KiB |
|
After Width: | Height: | Size: 60 KiB |
|
After Width: | Height: | Size: 61 KiB |
|
After Width: | Height: | Size: 91 KiB |
|
After Width: | Height: | Size: 98 KiB |
|
After Width: | Height: | Size: 62 KiB |
|
After Width: | Height: | Size: 62 KiB |
|
After Width: | Height: | Size: 92 KiB |
|
After Width: | Height: | Size: 98 KiB |
|
After Width: | Height: | Size: 61 KiB |
|
After Width: | Height: | Size: 61 KiB |
|
After Width: | Height: | Size: 92 KiB |
@@ -0,0 +1 @@
|
||||
{"numFailedTestSuites":1,"numFailedTests":0,"numPassedTestSuites":0,"numPassedTests":0,"numPendingTestSuites":0,"numPendingTests":0,"numRuntimeErrorTestSuites":1,"numTodoTests":0,"numTotalTestSuites":1,"numTotalTests":0,"openHandles":[],"snapshot":{"added":0,"didUpdate":false,"failure":false,"filesAdded":0,"filesRemoved":0,"filesRemovedList":[],"filesUnmatched":0,"filesUpdated":0,"matched":0,"total":0,"unchecked":0,"uncheckedKeysByFile":[],"unmatched":0,"updated":0},"startTime":1793713050322,"success":false,"testResults":[{"assertionResults":[],"coverage":{},"endTime":1793713052868,"message":" ● Test suite failed to run\n\n Cannot find module './components/CalendarAgenda' from 'src/calendar-agenda.test.tsx'\n\n 4 | import { MemoryRouter } from 'react-router-dom';\n 5 | import { api } from './api';\n > 6 | import CalendarAgenda from './components/CalendarAgenda';\n | ^\n 7 | import { I18nProvider } from './i18n/I18nProvider';\n 8 | import { translations } from './i18n/translations';\n 9 |\n\n at Resolver._throwModNotFoundError (node_modules/jest-resolve/build/index.js:895:11)\n at Object.require (src/calendar-agenda.test.tsx:6:1)\n","name":"C:\\Users\\Connor\\.codex\\worktrees\\direct-roadmap-integration\\Job tracker\\job-tracker-ui\\src\\calendar-agenda.test.tsx","startTime":1793713052868,"status":"failed","summary":""}],"wasInterrupted":false}
|
||||
@@ -0,0 +1 @@
|
||||
{"numFailedTestSuites":0,"numFailedTests":0,"numPassedTestSuites":1,"numPassedTests":7,"numPendingTestSuites":0,"numPendingTests":0,"numRuntimeErrorTestSuites":0,"numTodoTests":0,"numTotalTestSuites":1,"numTotalTests":7,"openHandles":[],"snapshot":{"added":0,"didUpdate":false,"failure":false,"filesAdded":0,"filesRemoved":0,"filesRemovedList":[],"filesUnmatched":0,"filesUpdated":0,"matched":0,"total":0,"unchecked":0,"uncheckedKeysByFile":[],"unmatched":0,"updated":0},"startTime":1793713482046,"success":true,"testResults":[{"assertionResults":[{"ancestorTitles":[],"duration":178,"failing":false,"failureDetails":[],"failureMessages":[],"fullName":"agenda defaults to recorded dates and links exact application without a fabricated appointment time","invocations":1,"location":null,"numPassingAsserts":5,"retryReasons":[],"startAt":1793713485898,"status":"passed","title":"agenda defaults to recorded dates and links exact application without a fabricated appointment time"},{"ancestorTitles":[],"duration":290,"failing":false,"failureDetails":[],"failureMessages":[],"fullName":"month toggle persists only view preference and selecting a day keeps linked events available","invocations":1,"location":null,"numPassingAsserts":3,"retryReasons":[],"startAt":1793713486076,"status":"passed","title":"month toggle persists only view preference and selecting a day keeps linked events available"},{"ancestorTitles":[],"duration":59,"failing":false,"failureDetails":[],"failureMessages":[],"fullName":"locale changes translate controls without repeating the read or translating source text","invocations":1,"location":null,"numPassingAsserts":3,"retryReasons":[],"startAt":1793713486366,"status":"passed","title":"locale changes translate controls without repeating the read or translating source text"},{"ancestorTitles":[],"duration":105,"failing":false,"failureDetails":[],"failureMessages":[],"fullName":"failed read offers bounded retry and never claims an empty successful calendar","invocations":1,"location":null,"numPassingAsserts":3,"retryReasons":[],"startAt":1793713486425,"status":"passed","title":"failed read offers bounded retry and never claims an empty successful calendar"},{"ancestorTitles":[],"duration":33,"failing":false,"failureDetails":[],"failureMessages":[],"fullName":"invalid and unknown-kind fixture data is not turned into guessed events","invocations":1,"location":null,"numPassingAsserts":3,"retryReasons":[],"startAt":1793713486530,"status":"passed","title":"invalid and unknown-kind fixture data is not turned into guessed events"},{"ancestorTitles":[],"duration":84,"failing":false,"failureDetails":[],"failureMessages":[],"fullName":"month navigation requests only the selected calendar range","invocations":1,"location":null,"numPassingAsserts":2,"retryReasons":[],"startAt":1793713486563,"status":"passed","title":"month navigation requests only the selected calendar range"},{"ancestorTitles":[],"duration":130,"failing":false,"failureDetails":[],"failureMessages":[],"fullName":"view preference is scoped to the signed-in owner","invocations":1,"location":null,"numPassingAsserts":1,"retryReasons":[],"startAt":1793713486647,"status":"passed","title":"view preference is scoped to the signed-in owner"}],"endTime":1793713486778,"message":"","name":"C:\\Users\\Connor\\.codex\\worktrees\\direct-roadmap-integration\\Job tracker\\job-tracker-ui\\src\\calendar-agenda.test.tsx","startTime":1793713483064,"status":"passed","summary":""}],"wasInterrupted":false}
|
||||
@@ -0,0 +1,280 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<TestRun id="7e9bab2d-17eb-4a82-ae73-dd0abc1e89fa" name="Connor@CESNIMDA 2026-11-03 14:57:22" runUser="Cesnimda\Connor" xmlns="http://microsoft.com/schemas/VisualStudio/TeamTest/2010">
|
||||
<Times creation="2026-11-03T14:57:22.1826980+01:00" queuing="2026-11-03T14:57:22.1826984+01:00" start="2026-11-03T14:57:20.0299677+01:00" finish="2026-11-03T14:57:27.9087721+01:00" />
|
||||
<TestSettings name="default" id="88eb1503-1731-4341-a282-7d383b74ceaf">
|
||||
<Deployment runDeploymentRoot="Connor_CESNIMDA_2026-11-03_14_57_22" />
|
||||
</TestSettings>
|
||||
<Results>
|
||||
<UnitTestResult executionId="77b03201-73b6-4f92-96c0-66c1dcb9eb13" testId="ec3bd14c-074a-fc6c-7a73-78c1b6e8fcad" testName="JobTrackerApi.Tests.DocumentsControllerTests.Type_state_visibility_and_owned_job_filters_intersect_without_changing_totals" computerName="CESNIMDA" duration="00:00:00.4006989" startTime="2026-11-03T14:57:27.2573083+01:00" endTime="2026-11-03T14:57:27.2573086+01:00" testType="13cdc9d9-ddb5-4fa4-a97d-d965ccfc6d4b" outcome="Passed" testListId="8c84fa94-04c1-424b-9868-57a2d4851a1d" relativeResultsDirectory="77b03201-73b6-4f92-96c0-66c1dcb9eb13" />
|
||||
<UnitTestResult executionId="d66d59b0-a025-44f1-ac25-9a82e647adef" testId="ee78b649-1092-f000-addc-61cf0ce4de42" testName="JobTrackerApi.Tests.CorrespondenceControllerTests.Message_detail_is_owner_scoped_and_tolerates_bad_metadata" computerName="CESNIMDA" duration="00:00:00.0543890" startTime="2026-11-03T14:57:22.9579058+01:00" endTime="2026-11-03T14:57:22.9579059+01:00" testType="13cdc9d9-ddb5-4fa4-a97d-d965ccfc6d4b" outcome="Passed" testListId="8c84fa94-04c1-424b-9868-57a2d4851a1d" relativeResultsDirectory="d66d59b0-a025-44f1-ac25-9a82e647adef" />
|
||||
<UnitTestResult executionId="c9c792b8-79cc-48d5-9b08-01ae7b83ff45" testId="fc48009c-4499-bc84-48d4-beb382e5cd05" testName="JobTrackerApi.Tests.EmailControllerTests.Search_rejects_unknown_or_disconnected_provider" computerName="CESNIMDA" duration="00:00:00.4376682" startTime="2026-11-03T14:57:21.7320769+01:00" endTime="2026-11-03T14:57:21.7320922+01:00" testType="13cdc9d9-ddb5-4fa4-a97d-d965ccfc6d4b" outcome="Passed" testListId="8c84fa94-04c1-424b-9868-57a2d4851a1d" relativeResultsDirectory="c9c792b8-79cc-48d5-9b08-01ae7b83ff45" />
|
||||
<UnitTestResult executionId="ca73f728-f1ed-489a-b69a-e92482348c81" testId="2b2c8fb1-0ec0-44b1-1070-d079871c0493" testName="JobTrackerApi.Tests.EmailSendAttemptStoreTests.Hard_job_deletion_cascades_only_that_jobs_attempts" computerName="CESNIMDA" duration="00:00:00.1346332" startTime="2026-11-03T14:57:23.5602891+01:00" endTime="2026-11-03T14:57:23.5602894+01:00" testType="13cdc9d9-ddb5-4fa4-a97d-d965ccfc6d4b" outcome="Passed" testListId="8c84fa94-04c1-424b-9868-57a2d4851a1d" relativeResultsDirectory="ca73f728-f1ed-489a-b69a-e92482348c81" />
|
||||
<UnitTestResult executionId="9054326c-53ef-450c-af3e-08472db7c939" testId="44127dfe-eb76-6cb5-2f73-3690fe9af4ac" testName="JobTrackerApi.Tests.DocumentsControllerTests.Invalid_parameters_are_rejected_before_any_catalog_query" computerName="CESNIMDA" duration="00:00:00.2506103" startTime="2026-11-03T14:57:26.0348496+01:00" endTime="2026-11-03T14:57:26.0348500+01:00" testType="13cdc9d9-ddb5-4fa4-a97d-d965ccfc6d4b" outcome="Passed" testListId="8c84fa94-04c1-424b-9868-57a2d4851a1d" relativeResultsDirectory="9054326c-53ef-450c-af3e-08472db7c939" />
|
||||
<UnitTestResult executionId="9de32d61-7ce5-40fb-bfea-85401e095b3a" testId="8a3292c0-bcd8-f7c5-b88b-9682b4bb23f8" testName="JobTrackerApi.Tests.EmailSendControllerTests.Invalid_or_missing_fields_never_reserve_or_send" computerName="CESNIMDA" duration="00:00:01.6866273" startTime="2026-11-03T14:57:22.9776170+01:00" endTime="2026-11-03T14:57:22.9776177+01:00" testType="13cdc9d9-ddb5-4fa4-a97d-d965ccfc6d4b" outcome="Passed" testListId="8c84fa94-04c1-424b-9868-57a2d4851a1d" relativeResultsDirectory="9de32d61-7ce5-40fb-bfea-85401e095b3a" />
|
||||
<UnitTestResult executionId="cc88c5cb-cbb3-4f3c-bc5c-e33e308c0fd7" testId="cf424de2-8e99-2e95-e8fd-dd4cfe9c5d3d" testName="JobTrackerApi.Tests.EmailDraftsControllerTests.Draft_routes_require_local_authentication" computerName="CESNIMDA" duration="00:00:00.0004746" startTime="2026-11-03T14:57:24.1220354+01:00" endTime="2026-11-03T14:57:24.1220356+01:00" testType="13cdc9d9-ddb5-4fa4-a97d-d965ccfc6d4b" outcome="Passed" testListId="8c84fa94-04c1-424b-9868-57a2d4851a1d" relativeResultsDirectory="cc88c5cb-cbb3-4f3c-bc5c-e33e308c0fd7" />
|
||||
<UnitTestResult executionId="7a3927fb-5d47-4b2e-bb39-dad2f30f000d" testId="5909702c-1b19-7c07-d992-38f2feaca8ee" testName="JobTrackerApi.Tests.EmailControllerTests.Message_detail_returns_plain_text_without_provider_html" computerName="CESNIMDA" duration="00:00:00.0409592" startTime="2026-11-03T14:57:21.7772656+01:00" endTime="2026-11-03T14:57:21.7772660+01:00" testType="13cdc9d9-ddb5-4fa4-a97d-d965ccfc6d4b" outcome="Passed" testListId="8c84fa94-04c1-424b-9868-57a2d4851a1d" relativeResultsDirectory="7a3927fb-5d47-4b2e-bb39-dad2f30f000d" />
|
||||
<UnitTestResult executionId="60a52322-233e-46b8-ae58-3274641490f6" testId="2c0898fa-5c57-8bcf-d606-f04a15170e13" testName="JobTrackerApi.Tests.EmailDraftsControllerTests.Failures_with_another_owner_or_request_key_cannot_rotate_or_change_either_tenant(wrongOwner: False)" computerName="CESNIMDA" duration="00:00:00.1723513" startTime="2026-11-03T14:57:23.2083719+01:00" endTime="2026-11-03T14:57:23.2083720+01:00" testType="13cdc9d9-ddb5-4fa4-a97d-d965ccfc6d4b" outcome="Passed" testListId="8c84fa94-04c1-424b-9868-57a2d4851a1d" relativeResultsDirectory="60a52322-233e-46b8-ae58-3274641490f6" />
|
||||
<UnitTestResult executionId="79e82aee-e683-4951-92f2-fdc95392e30b" testId="06ef9929-8299-e41a-c2ab-ab69bc204c4d" testName="JobTrackerApi.Tests.EmailDraftsControllerTests.Draft_DTO_timestamps_keep_UTC_shape_and_exact_ticks_after_SQLite_roundtrips" computerName="CESNIMDA" duration="00:00:00.2178252" startTime="2026-11-03T14:57:23.4262912+01:00" endTime="2026-11-03T14:57:23.4262913+01:00" testType="13cdc9d9-ddb5-4fa4-a97d-d965ccfc6d4b" outcome="Passed" testListId="8c84fa94-04c1-424b-9868-57a2d4851a1d" relativeResultsDirectory="79e82aee-e683-4951-92f2-fdc95392e30b" />
|
||||
<UnitTestResult executionId="69a6fc56-a165-4d79-bc32-93bb1d97cb3e" testId="6b7cdadd-daea-e59e-58f5-1fc22ed36c96" testName="JobTrackerApi.Tests.EmailSendControllerTests.Confirmed_send_is_recorded_once_and_duplicate_returns_existing_result" computerName="CESNIMDA" duration="00:00:00.2376260" startTime="2026-11-03T14:57:23.4390140+01:00" endTime="2026-11-03T14:57:23.4390143+01:00" testType="13cdc9d9-ddb5-4fa4-a97d-d965ccfc6d4b" outcome="Passed" testListId="8c84fa94-04c1-424b-9868-57a2d4851a1d" relativeResultsDirectory="69a6fc56-a165-4d79-bc32-93bb1d97cb3e" />
|
||||
<UnitTestResult executionId="1f7aec30-3fe3-420e-823e-0e6545f8c408" testId="ff1a0913-9f83-9e67-8536-30a290629b77" testName="JobTrackerApi.Tests.EmailDraftsControllerTests.Create_accepts_incomplete_owned_drafts_but_rejects_invalid_or_foreign_inputs" computerName="CESNIMDA" duration="00:00:00.1086048" startTime="2026-11-03T14:57:24.2307591+01:00" endTime="2026-11-03T14:57:24.2307592+01:00" testType="13cdc9d9-ddb5-4fa4-a97d-d965ccfc6d4b" outcome="Passed" testListId="8c84fa94-04c1-424b-9868-57a2d4851a1d" relativeResultsDirectory="1f7aec30-3fe3-420e-823e-0e6545f8c408" />
|
||||
<UnitTestResult executionId="7df9ca39-2dd4-402f-b320-530073ffebb1" testId="a1f5617a-b97a-e787-be80-a84cace8f6d2" testName="JobTrackerApi.Tests.EmailDraftsControllerTests.Nonfailed_attempts_cannot_rotate_identity_or_change_draft_and_history(status: "sent")" computerName="CESNIMDA" duration="00:00:00.1241201" startTime="2026-11-03T14:57:23.8868821+01:00" endTime="2026-11-03T14:57:23.8868823+01:00" testType="13cdc9d9-ddb5-4fa4-a97d-d965ccfc6d4b" outcome="Passed" testListId="8c84fa94-04c1-424b-9868-57a2d4851a1d" relativeResultsDirectory="7df9ca39-2dd4-402f-b320-530073ffebb1" />
|
||||
<UnitTestResult executionId="b2afe050-71fc-4db2-a574-59c3a28d5975" testId="7832eaee-9584-e2c1-8df8-ad3e4950eb7b" testName="JobTrackerApi.Tests.EmailSendControllerTests.Connection_check_failure_is_definite_and_never_calls_send" computerName="CESNIMDA" duration="00:00:00.1089810" startTime="2026-11-03T14:57:23.5481248+01:00" endTime="2026-11-03T14:57:23.5481251+01:00" testType="13cdc9d9-ddb5-4fa4-a97d-d965ccfc6d4b" outcome="Passed" testListId="8c84fa94-04c1-424b-9868-57a2d4851a1d" relativeResultsDirectory="b2afe050-71fc-4db2-a574-59c3a28d5975" />
|
||||
<UnitTestResult executionId="039cb480-af7b-4067-b850-9a2ea771f891" testId="ebe02173-6849-c1ed-68dc-a5c12f989d04" testName="JobTrackerApi.Tests.EmailSendControllerTests.Known_rejection_is_failed_and_requires_a_new_request_id" computerName="CESNIMDA" duration="00:00:00.1284352" startTime="2026-11-03T14:57:23.6766861+01:00" endTime="2026-11-03T14:57:23.6766862+01:00" testType="13cdc9d9-ddb5-4fa4-a97d-d965ccfc6d4b" outcome="Passed" testListId="8c84fa94-04c1-424b-9868-57a2d4851a1d" relativeResultsDirectory="039cb480-af7b-4067-b850-9a2ea771f891" />
|
||||
<UnitTestResult executionId="39dc4fc6-57ff-4ba5-b8be-e774e5d84254" testId="e2c8be58-1bd6-84d5-9f71-510201b381fa" testName="JobTrackerApi.Tests.EmailSendControllerTests.Basic_email_send_requires_local_authentication_but_not_pro_entitlement" computerName="CESNIMDA" duration="00:00:00.0010287" startTime="2026-11-03T14:57:22.9786743+01:00" endTime="2026-11-03T14:57:22.9786743+01:00" testType="13cdc9d9-ddb5-4fa4-a97d-d965ccfc6d4b" outcome="Passed" testListId="8c84fa94-04c1-424b-9868-57a2d4851a1d" relativeResultsDirectory="39dc4fc6-57ff-4ba5-b8be-e774e5d84254" />
|
||||
<UnitTestResult executionId="dc25f89e-9bd5-4ef6-ba81-4fc8ece29773" testId="7753e2dd-a85b-9c84-c897-cf19fbf3e477" testName="JobTrackerApi.Tests.CorrespondenceControllerTests.Paged_inbox_returns_every_owned_message_without_the_legacy_cap" computerName="CESNIMDA" duration="00:00:01.5614548" startTime="2026-11-03T14:57:22.8524689+01:00" endTime="2026-11-03T14:57:22.8524691+01:00" testType="13cdc9d9-ddb5-4fa4-a97d-d965ccfc6d4b" outcome="Passed" testListId="8c84fa94-04c1-424b-9868-57a2d4851a1d" relativeResultsDirectory="dc25f89e-9bd5-4ef6-ba81-4fc8ece29773" />
|
||||
<UnitTestResult executionId="b4e7a0f1-6352-4043-9091-759ceee758b4" testId="73e339c4-7545-ee64-3809-2502b158f4c0" testName="JobTrackerApi.Tests.DocumentsControllerTests.MariaDb_composition_keeps_unicode_markers_ordinal_and_paging_parameterized_without_connecting" computerName="CESNIMDA" duration="00:00:00.5545968" startTime="2026-11-03T14:57:27.8120490+01:00" endTime="2026-11-03T14:57:27.8120492+01:00" testType="13cdc9d9-ddb5-4fa4-a97d-d965ccfc6d4b" outcome="Passed" testListId="8c84fa94-04c1-424b-9868-57a2d4851a1d" relativeResultsDirectory="b4e7a0f1-6352-4043-9091-759ceee758b4" />
|
||||
<UnitTestResult executionId="036b919c-94d4-42b9-a039-e5a08d18096b" testId="9f8cd379-f38b-5318-1d3b-606e9d309be8" testName="JobTrackerApi.Tests.DocumentsControllerTests.Index_uses_native_count_and_bounded_page_queries_without_writes_or_content_projection" computerName="CESNIMDA" duration="00:00:00.2905510" startTime="2026-11-03T14:57:24.4062617+01:00" endTime="2026-11-03T14:57:24.4062622+01:00" testType="13cdc9d9-ddb5-4fa4-a97d-d965ccfc6d4b" outcome="Passed" testListId="8c84fa94-04c1-424b-9868-57a2d4851a1d" relativeResultsDirectory="036b919c-94d4-42b9-a039-e5a08d18096b" />
|
||||
<UnitTestResult executionId="423448a4-db29-4274-94b2-494e65ea8437" testId="3e9f5a34-d74b-5179-1ebc-9479ec464379" testName="JobTrackerApi.Tests.EmailDraftsControllerTests.Revision_conflicts_prevent_lost_updates_and_cross_tenant_deletes" computerName="CESNIMDA" duration="00:00:00.1235537" startTime="2026-11-03T14:57:24.0105318+01:00" endTime="2026-11-03T14:57:24.0105321+01:00" testType="13cdc9d9-ddb5-4fa4-a97d-d965ccfc6d4b" outcome="Passed" testListId="8c84fa94-04c1-424b-9868-57a2d4851a1d" relativeResultsDirectory="423448a4-db29-4274-94b2-494e65ea8437" />
|
||||
<UnitTestResult executionId="590505a9-f0f6-420a-acf1-98099ae4d5e7" testId="e2dad7de-cf5c-402c-2875-2edacbf29aa1" testName="JobTrackerApi.Tests.EmailSendAttemptStoreTests.Creation_is_idempotent_and_rejects_payload_reuse" computerName="CESNIMDA" duration="00:00:00.1174929" startTime="2026-11-03T14:57:23.6778731+01:00" endTime="2026-11-03T14:57:23.6778733+01:00" testType="13cdc9d9-ddb5-4fa4-a97d-d965ccfc6d4b" outcome="Passed" testListId="8c84fa94-04c1-424b-9868-57a2d4851a1d" relativeResultsDirectory="590505a9-f0f6-420a-acf1-98099ae4d5e7" />
|
||||
<UnitTestResult executionId="5212cbff-aaf7-4097-8749-5057da8132b2" testId="edb6121b-51f7-0a13-d388-4e483372db21" testName="JobTrackerApi.Tests.DocumentsControllerTests.Search_treats_wildcards_literally_folds_Nordic_metadata_and_never_searches_content" computerName="CESNIMDA" duration="00:00:00.4848267" startTime="2026-11-03T14:57:26.5202747+01:00" endTime="2026-11-03T14:57:26.5202750+01:00" testType="13cdc9d9-ddb5-4fa4-a97d-d965ccfc6d4b" outcome="Passed" testListId="8c84fa94-04c1-424b-9868-57a2d4851a1d" relativeResultsDirectory="5212cbff-aaf7-4097-8749-5057da8132b2" />
|
||||
<UnitTestResult executionId="5be29593-9f70-4264-98cc-396e3775db2c" testId="ceb3850c-1c80-f2a9-d47a-17e2275acfca" testName="JobTrackerApi.Tests.EmailDraftsControllerTests.Nonfailed_attempts_cannot_rotate_identity_or_change_draft_and_history(status: "uncertain")" computerName="CESNIMDA" duration="00:00:00.1067610" startTime="2026-11-03T14:57:23.7626544+01:00" endTime="2026-11-03T14:57:23.7626545+01:00" testType="13cdc9d9-ddb5-4fa4-a97d-d965ccfc6d4b" outcome="Passed" testListId="8c84fa94-04c1-424b-9868-57a2d4851a1d" relativeResultsDirectory="5be29593-9f70-4264-98cc-396e3775db2c" />
|
||||
<UnitTestResult executionId="f15c2399-a2f5-4008-a417-c1935b96854f" testId="bd948549-b588-e250-c5cf-ff48a875bfe5" testName="JobTrackerApi.Tests.DocumentsControllerTests.Date_order_uses_exact_instants_and_fractional_ticks_with_unzoned_and_unknown_dates_last" computerName="CESNIMDA" duration="00:00:00.3727421" startTime="2026-11-03T14:57:24.7795880+01:00" endTime="2026-11-03T14:57:24.7795884+01:00" testType="13cdc9d9-ddb5-4fa4-a97d-d965ccfc6d4b" outcome="Passed" testListId="8c84fa94-04c1-424b-9868-57a2d4851a1d" relativeResultsDirectory="f15c2399-a2f5-4008-a417-c1935b96854f" />
|
||||
<UnitTestResult executionId="e115d234-b219-4f5a-af95-de17d8b8ee4b" testId="ca926f26-a605-147c-8d6c-bcb08bb50b7b" testName="JobTrackerApi.Tests.DocumentsControllerTests.Seven_existing_resource_kinds_expose_only_metadata_and_existing_actions" computerName="CESNIMDA" duration="00:00:00.3084552" startTime="2026-11-03T14:57:25.5170030+01:00" endTime="2026-11-03T14:57:25.5170033+01:00" testType="13cdc9d9-ddb5-4fa4-a97d-d965ccfc6d4b" outcome="Passed" testListId="8c84fa94-04c1-424b-9868-57a2d4851a1d" relativeResultsDirectory="e115d234-b219-4f5a-af95-de17d8b8ee4b" />
|
||||
<UnitTestResult executionId="90653301-9e7f-416d-ae86-d0a2dde7b204" testId="7c899d83-568e-93d9-b0c8-aec18f50c098" testName="JobTrackerApi.Tests.CorrespondenceControllerTests.Create_tags_manually_entered_correspondence_with_manual_provider" computerName="CESNIMDA" duration="00:00:00.0508932" startTime="2026-11-03T14:57:22.9034409+01:00" endTime="2026-11-03T14:57:22.9034413+01:00" testType="13cdc9d9-ddb5-4fa4-a97d-d965ccfc6d4b" outcome="Passed" testListId="8c84fa94-04c1-424b-9868-57a2d4851a1d" relativeResultsDirectory="90653301-9e7f-416d-ae86-d0a2dde7b204" />
|
||||
<UnitTestResult executionId="2ab8cc1a-821f-40cd-81bd-163c98c94888" testId="2ea97de7-ffed-f73d-f372-4c2276511795" testName="JobTrackerApi.Tests.EmailSendControllerTests.Transport_interruption_is_uncertain_and_is_never_retried" computerName="CESNIMDA" duration="00:00:00.2224885" startTime="2026-11-03T14:57:23.2012921+01:00" endTime="2026-11-03T14:57:23.2012924+01:00" testType="13cdc9d9-ddb5-4fa4-a97d-d965ccfc6d4b" outcome="Passed" testListId="8c84fa94-04c1-424b-9868-57a2d4851a1d" relativeResultsDirectory="2ab8cc1a-821f-40cd-81bd-163c98c94888" />
|
||||
<UnitTestResult executionId="b3918f99-9859-4870-b6a9-439d9a41b6e8" testId="98bde446-a4b2-f558-39e1-bea551a4c8de" testName="JobTrackerApi.Tests.EmailSendAttemptStoreTests.State_machine_never_restarts_terminal_or_uncertain_attempts" computerName="CESNIMDA" duration="00:00:00.1835249" startTime="2026-11-03T14:57:23.1980959+01:00" endTime="2026-11-03T14:57:23.1980961+01:00" testType="13cdc9d9-ddb5-4fa4-a97d-d965ccfc6d4b" outcome="Passed" testListId="8c84fa94-04c1-424b-9868-57a2d4851a1d" relativeResultsDirectory="b3918f99-9859-4870-b6a9-439d9a41b6e8" />
|
||||
<UnitTestResult executionId="d0ecb6c5-e27e-4ec4-95cc-7b24228cdf74" testId="07ec79b5-6b54-bc29-17c8-3c134d1a91ab" testName="JobTrackerApi.Tests.EmailDraftsControllerTests.Direct_ids_and_job_lists_do_not_cross_tenants" computerName="CESNIMDA" duration="00:00:00.1084469" startTime="2026-11-03T14:57:24.3392764+01:00" endTime="2026-11-03T14:57:24.3392765+01:00" testType="13cdc9d9-ddb5-4fa4-a97d-d965ccfc6d4b" outcome="Passed" testListId="8c84fa94-04c1-424b-9868-57a2d4851a1d" relativeResultsDirectory="d0ecb6c5-e27e-4ec4-95cc-7b24228cdf74" />
|
||||
<UnitTestResult executionId="fbc13bd2-16c7-4e8d-a84f-7e296bc8bca1" testId="1dcab133-3067-d3eb-b451-1cc4c22c8e64" testName="JobTrackerApi.Tests.EmailSendAttemptStoreTests.Direct_attempt_ids_are_tenant_scoped_and_store_no_message_content" computerName="CESNIMDA" duration="00:00:01.7232597" startTime="2026-11-03T14:57:23.0142422+01:00" endTime="2026-11-03T14:57:23.0142426+01:00" testType="13cdc9d9-ddb5-4fa4-a97d-d965ccfc6d4b" outcome="Passed" testListId="8c84fa94-04c1-424b-9868-57a2d4851a1d" relativeResultsDirectory="fbc13bd2-16c7-4e8d-a84f-7e296bc8bca1" />
|
||||
<UnitTestResult executionId="a6bdcf3a-6075-4cd7-b4ed-eeea10231573" testId="c52532e2-69a8-2367-22c8-0dbc6f1f8696" testName="JobTrackerApi.Tests.DocumentsControllerTests.Pagination_counts_the_filtered_result_and_uses_stable_ordinal_resource_ties" computerName="CESNIMDA" duration="00:00:00.4280593" startTime="2026-11-03T14:57:25.2081121+01:00" endTime="2026-11-03T14:57:25.2081124+01:00" testType="13cdc9d9-ddb5-4fa4-a97d-d965ccfc6d4b" outcome="Passed" testListId="8c84fa94-04c1-424b-9868-57a2d4851a1d" relativeResultsDirectory="a6bdcf3a-6075-4cd7-b4ed-eeea10231573" />
|
||||
<UnitTestResult executionId="e32f7249-a74c-45b4-9c65-ae296c20151b" testId="2adcde3a-e6f5-b6dc-b469-1403fe0c6d72" testName="JobTrackerApi.Tests.EmailSendAttemptStoreTests.Restart_recovery_is_tenant_visible_idempotent_and_never_requeues_delivery" computerName="CESNIMDA" duration="00:00:00.2275015" startTime="2026-11-03T14:57:23.4255590+01:00" endTime="2026-11-03T14:57:23.4255592+01:00" testType="13cdc9d9-ddb5-4fa4-a97d-d965ccfc6d4b" outcome="Passed" testListId="8c84fa94-04c1-424b-9868-57a2d4851a1d" relativeResultsDirectory="e32f7249-a74c-45b4-9c65-ae296c20151b" />
|
||||
<UnitTestResult executionId="2cfa04d4-30d5-4f2a-b1e3-ce696fc7e0a0" testId="99885684-f585-d7f0-9920-fa4b3a52797d" testName="JobTrackerApi.Tests.EmailDraftsControllerTests.Failures_with_another_owner_or_request_key_cannot_rotate_or_change_either_tenant(wrongOwner: True)" computerName="CESNIMDA" duration="00:00:01.7449057" startTime="2026-11-03T14:57:23.0359123+01:00" endTime="2026-11-03T14:57:23.0359128+01:00" testType="13cdc9d9-ddb5-4fa4-a97d-d965ccfc6d4b" outcome="Passed" testListId="8c84fa94-04c1-424b-9868-57a2d4851a1d" relativeResultsDirectory="2cfa04d4-30d5-4f2a-b1e3-ce696fc7e0a0" />
|
||||
<UnitTestResult executionId="c605e7f8-3a2d-4e7b-9b6e-cdd87124e371" testId="248fc1da-40ca-7556-b0d9-0b0aaf01c51a" testName="JobTrackerApi.Tests.EmailDraftsControllerTests.New_attempt_identity_requires_the_matching_definitive_failure" computerName="CESNIMDA" duration="00:00:00.1108119" startTime="2026-11-03T14:57:24.1214806+01:00" endTime="2026-11-03T14:57:24.1214808+01:00" testType="13cdc9d9-ddb5-4fa4-a97d-d965ccfc6d4b" outcome="Passed" testListId="8c84fa94-04c1-424b-9868-57a2d4851a1d" relativeResultsDirectory="c605e7f8-3a2d-4e7b-9b6e-cdd87124e371" />
|
||||
<UnitTestResult executionId="0c3a000c-0dd6-4b67-9aa4-1b9160bed50c" testId="386782c9-47c0-6c9b-ce6b-8898263b8c6f" testName="JobTrackerApi.Tests.DocumentsControllerTests.Cleared_letter_history_answer_markers_and_structured_tailoring_keep_their_real_sources" computerName="CESNIMDA" duration="00:00:02.1846518" startTime="2026-11-03T14:57:23.4784353+01:00" endTime="2026-11-03T14:57:23.4784357+01:00" testType="13cdc9d9-ddb5-4fa4-a97d-d965ccfc6d4b" outcome="Passed" testListId="8c84fa94-04c1-424b-9868-57a2d4851a1d" relativeResultsDirectory="0c3a000c-0dd6-4b67-9aa4-1b9160bed50c" />
|
||||
<UnitTestResult executionId="2be68a20-99e3-4e7a-b3fe-d039f1ea6e7a" testId="99528add-2049-e030-3934-45ce740fc90b" testName="JobTrackerApi.Tests.DocumentsControllerTests.Owner_scope_includes_owned_history_and_trash_without_leaking_cross_owner_references" computerName="CESNIMDA" duration="00:00:00.6345840" startTime="2026-11-03T14:57:24.1152330+01:00" endTime="2026-11-03T14:57:24.1152331+01:00" testType="13cdc9d9-ddb5-4fa4-a97d-d965ccfc6d4b" outcome="Passed" testListId="8c84fa94-04c1-424b-9868-57a2d4851a1d" relativeResultsDirectory="2be68a20-99e3-4e7a-b3fe-d039f1ea6e7a" />
|
||||
<UnitTestResult executionId="a939e6bf-75d0-4327-81d4-b22400d34271" testId="2574a206-b9d3-6242-e980-7f9f391a1a20" testName="JobTrackerApi.Tests.EmailSendControllerTests.Missing_confirmation_or_cross_tenant_job_never_reserves_or_sends" computerName="CESNIMDA" duration="00:00:00.1034948" startTime="2026-11-03T14:57:23.7802860+01:00" endTime="2026-11-03T14:57:23.7802862+01:00" testType="13cdc9d9-ddb5-4fa4-a97d-d965ccfc6d4b" outcome="Passed" testListId="8c84fa94-04c1-424b-9868-57a2d4851a1d" relativeResultsDirectory="a939e6bf-75d0-4327-81d4-b22400d34271" />
|
||||
<UnitTestResult executionId="7683d109-ae41-4e31-b186-b15b8bc1ffc9" testId="c790a527-1aff-7f45-3d1a-e43d1d5a72eb" testName="JobTrackerApi.Tests.EmailDraftsControllerTests.Nonfailed_attempts_cannot_rotate_identity_or_change_draft_and_history(status: "pending")" computerName="CESNIMDA" duration="00:00:00.1111406" startTime="2026-11-03T14:57:23.5375647+01:00" endTime="2026-11-03T14:57:23.5375648+01:00" testType="13cdc9d9-ddb5-4fa4-a97d-d965ccfc6d4b" outcome="Passed" testListId="8c84fa94-04c1-424b-9868-57a2d4851a1d" relativeResultsDirectory="7683d109-ae41-4e31-b186-b15b8bc1ffc9" />
|
||||
<UnitTestResult executionId="f4c19d28-2d36-44f8-9060-33b60bb99635" testId="1c662a6b-aa9e-c447-3fdb-c42c9559c067" testName="JobTrackerApi.Tests.EmailControllerTests.Provider_status_is_owner_scoped_and_does_not_claim_send_support" computerName="CESNIMDA" duration="00:00:00.0044552" startTime="2026-11-03T14:57:21.7361771+01:00" endTime="2026-11-03T14:57:21.7361773+01:00" testType="13cdc9d9-ddb5-4fa4-a97d-d965ccfc6d4b" outcome="Passed" testListId="8c84fa94-04c1-424b-9868-57a2d4851a1d" relativeResultsDirectory="f4c19d28-2d36-44f8-9060-33b60bb99635" />
|
||||
<UnitTestResult executionId="96074fd9-c7bf-4104-86be-3017b4442160" testId="487a0644-b3c9-2574-9167-a09782c62ac9" testName="JobTrackerApi.Tests.DocumentsControllerTests.Empty_index_has_bounded_defaults_and_requires_a_known_authenticated_owner" computerName="CESNIMDA" duration="00:00:00.2658011" startTime="2026-11-03T14:57:25.7840062+01:00" endTime="2026-11-03T14:57:25.7840068+01:00" testType="13cdc9d9-ddb5-4fa4-a97d-d965ccfc6d4b" outcome="Passed" testListId="8c84fa94-04c1-424b-9868-57a2d4851a1d" relativeResultsDirectory="96074fd9-c7bf-4104-86be-3017b4442160" />
|
||||
<UnitTestResult executionId="2b133e1c-09d0-419a-928e-22a9fcb38096" testId="20d0193b-5474-4c8d-e948-629f01627fff" testName="JobTrackerApi.Tests.DocumentsControllerTests.Frozen_metadata_and_archived_bytes_survive_live_cv_upload_and_letter_changes" computerName="CESNIMDA" duration="00:00:00.3354674" startTime="2026-11-03T14:57:26.8561565+01:00" endTime="2026-11-03T14:57:26.8561568+01:00" testType="13cdc9d9-ddb5-4fa4-a97d-d965ccfc6d4b" outcome="Passed" testListId="8c84fa94-04c1-424b-9868-57a2d4851a1d" relativeResultsDirectory="2b133e1c-09d0-419a-928e-22a9fcb38096" />
|
||||
<UnitTestResult executionId="9762a8ef-ca38-40ad-a59b-07a8d6f821a4" testId="29cf2f9f-20da-2480-76f7-d4b103b776d6" testName="JobTrackerApi.Tests.EmailDraftsControllerTests.Nonfailed_attempts_cannot_rotate_identity_or_change_draft_and_history(status: "sending")" computerName="CESNIMDA" duration="00:00:00.1181243" startTime="2026-11-03T14:57:23.6557832+01:00" endTime="2026-11-03T14:57:23.6557833+01:00" testType="13cdc9d9-ddb5-4fa4-a97d-d965ccfc6d4b" outcome="Passed" testListId="8c84fa94-04c1-424b-9868-57a2d4851a1d" relativeResultsDirectory="9762a8ef-ca38-40ad-a59b-07a8d6f821a4" />
|
||||
</Results>
|
||||
<TestDefinitions>
|
||||
<UnitTest name="JobTrackerApi.Tests.EmailSendControllerTests.Invalid_or_missing_fields_never_reserve_or_send" storage="c:\users\connor\.codex\worktrees\direct-roadmap-integration\job tracker\jobtrackerapi.tests\bin\debug\net9.0\jobtrackerapi.tests.dll" id="8a3292c0-bcd8-f7c5-b88b-9682b4bb23f8">
|
||||
<Execution id="9de32d61-7ce5-40fb-bfea-85401e095b3a" />
|
||||
<TestMethod codeBase="C:\Users\Connor\.codex\worktrees\direct-roadmap-integration\Job tracker\JobTrackerApi.Tests\bin\Debug\net9.0\JobTrackerApi.Tests.dll" adapterTypeName="executor://xunit/VsTestRunner2/netcoreapp" className="JobTrackerApi.Tests.EmailSendControllerTests" name="Invalid_or_missing_fields_never_reserve_or_send" />
|
||||
</UnitTest>
|
||||
<UnitTest name="JobTrackerApi.Tests.EmailSendControllerTests.Confirmed_send_is_recorded_once_and_duplicate_returns_existing_result" storage="c:\users\connor\.codex\worktrees\direct-roadmap-integration\job tracker\jobtrackerapi.tests\bin\debug\net9.0\jobtrackerapi.tests.dll" id="6b7cdadd-daea-e59e-58f5-1fc22ed36c96">
|
||||
<Execution id="69a6fc56-a165-4d79-bc32-93bb1d97cb3e" />
|
||||
<TestMethod codeBase="C:\Users\Connor\.codex\worktrees\direct-roadmap-integration\Job tracker\JobTrackerApi.Tests\bin\Debug\net9.0\JobTrackerApi.Tests.dll" adapterTypeName="executor://xunit/VsTestRunner2/netcoreapp" className="JobTrackerApi.Tests.EmailSendControllerTests" name="Confirmed_send_is_recorded_once_and_duplicate_returns_existing_result" />
|
||||
</UnitTest>
|
||||
<UnitTest name="JobTrackerApi.Tests.EmailDraftsControllerTests.Create_accepts_incomplete_owned_drafts_but_rejects_invalid_or_foreign_inputs" storage="c:\users\connor\.codex\worktrees\direct-roadmap-integration\job tracker\jobtrackerapi.tests\bin\debug\net9.0\jobtrackerapi.tests.dll" id="ff1a0913-9f83-9e67-8536-30a290629b77">
|
||||
<Execution id="1f7aec30-3fe3-420e-823e-0e6545f8c408" />
|
||||
<TestMethod codeBase="C:\Users\Connor\.codex\worktrees\direct-roadmap-integration\Job tracker\JobTrackerApi.Tests\bin\Debug\net9.0\JobTrackerApi.Tests.dll" adapterTypeName="executor://xunit/VsTestRunner2/netcoreapp" className="JobTrackerApi.Tests.EmailDraftsControllerTests" name="Create_accepts_incomplete_owned_drafts_but_rejects_invalid_or_foreign_inputs" />
|
||||
</UnitTest>
|
||||
<UnitTest name="JobTrackerApi.Tests.EmailDraftsControllerTests.Draft_routes_require_local_authentication" storage="c:\users\connor\.codex\worktrees\direct-roadmap-integration\job tracker\jobtrackerapi.tests\bin\debug\net9.0\jobtrackerapi.tests.dll" id="cf424de2-8e99-2e95-e8fd-dd4cfe9c5d3d">
|
||||
<Execution id="cc88c5cb-cbb3-4f3c-bc5c-e33e308c0fd7" />
|
||||
<TestMethod codeBase="C:\Users\Connor\.codex\worktrees\direct-roadmap-integration\Job tracker\JobTrackerApi.Tests\bin\Debug\net9.0\JobTrackerApi.Tests.dll" adapterTypeName="executor://xunit/VsTestRunner2/netcoreapp" className="JobTrackerApi.Tests.EmailDraftsControllerTests" name="Draft_routes_require_local_authentication" />
|
||||
</UnitTest>
|
||||
<UnitTest name="JobTrackerApi.Tests.EmailDraftsControllerTests.Nonfailed_attempts_cannot_rotate_identity_or_change_draft_and_history(status: "pending")" storage="c:\users\connor\.codex\worktrees\direct-roadmap-integration\job tracker\jobtrackerapi.tests\bin\debug\net9.0\jobtrackerapi.tests.dll" id="c790a527-1aff-7f45-3d1a-e43d1d5a72eb">
|
||||
<Execution id="7683d109-ae41-4e31-b186-b15b8bc1ffc9" />
|
||||
<TestMethod codeBase="C:\Users\Connor\.codex\worktrees\direct-roadmap-integration\Job tracker\JobTrackerApi.Tests\bin\Debug\net9.0\JobTrackerApi.Tests.dll" adapterTypeName="executor://xunit/VsTestRunner2/netcoreapp" className="JobTrackerApi.Tests.EmailDraftsControllerTests" name="Nonfailed_attempts_cannot_rotate_identity_or_change_draft_and_history" />
|
||||
</UnitTest>
|
||||
<UnitTest name="JobTrackerApi.Tests.EmailControllerTests.Search_rejects_unknown_or_disconnected_provider" storage="c:\users\connor\.codex\worktrees\direct-roadmap-integration\job tracker\jobtrackerapi.tests\bin\debug\net9.0\jobtrackerapi.tests.dll" id="fc48009c-4499-bc84-48d4-beb382e5cd05">
|
||||
<Execution id="c9c792b8-79cc-48d5-9b08-01ae7b83ff45" />
|
||||
<TestMethod codeBase="C:\Users\Connor\.codex\worktrees\direct-roadmap-integration\Job tracker\JobTrackerApi.Tests\bin\Debug\net9.0\JobTrackerApi.Tests.dll" adapterTypeName="executor://xunit/VsTestRunner2/netcoreapp" className="JobTrackerApi.Tests.EmailControllerTests" name="Search_rejects_unknown_or_disconnected_provider" />
|
||||
</UnitTest>
|
||||
<UnitTest name="JobTrackerApi.Tests.DocumentsControllerTests.Owner_scope_includes_owned_history_and_trash_without_leaking_cross_owner_references" storage="c:\users\connor\.codex\worktrees\direct-roadmap-integration\job tracker\jobtrackerapi.tests\bin\debug\net9.0\jobtrackerapi.tests.dll" id="99528add-2049-e030-3934-45ce740fc90b">
|
||||
<Execution id="2be68a20-99e3-4e7a-b3fe-d039f1ea6e7a" />
|
||||
<TestMethod codeBase="C:\Users\Connor\.codex\worktrees\direct-roadmap-integration\Job tracker\JobTrackerApi.Tests\bin\Debug\net9.0\JobTrackerApi.Tests.dll" adapterTypeName="executor://xunit/VsTestRunner2/netcoreapp" className="JobTrackerApi.Tests.DocumentsControllerTests" name="Owner_scope_includes_owned_history_and_trash_without_leaking_cross_owner_references" />
|
||||
</UnitTest>
|
||||
<UnitTest name="JobTrackerApi.Tests.EmailDraftsControllerTests.Nonfailed_attempts_cannot_rotate_identity_or_change_draft_and_history(status: "sending")" storage="c:\users\connor\.codex\worktrees\direct-roadmap-integration\job tracker\jobtrackerapi.tests\bin\debug\net9.0\jobtrackerapi.tests.dll" id="29cf2f9f-20da-2480-76f7-d4b103b776d6">
|
||||
<Execution id="9762a8ef-ca38-40ad-a59b-07a8d6f821a4" />
|
||||
<TestMethod codeBase="C:\Users\Connor\.codex\worktrees\direct-roadmap-integration\Job tracker\JobTrackerApi.Tests\bin\Debug\net9.0\JobTrackerApi.Tests.dll" adapterTypeName="executor://xunit/VsTestRunner2/netcoreapp" className="JobTrackerApi.Tests.EmailDraftsControllerTests" name="Nonfailed_attempts_cannot_rotate_identity_or_change_draft_and_history" />
|
||||
</UnitTest>
|
||||
<UnitTest name="JobTrackerApi.Tests.EmailSendAttemptStoreTests.Direct_attempt_ids_are_tenant_scoped_and_store_no_message_content" storage="c:\users\connor\.codex\worktrees\direct-roadmap-integration\job tracker\jobtrackerapi.tests\bin\debug\net9.0\jobtrackerapi.tests.dll" id="1dcab133-3067-d3eb-b451-1cc4c22c8e64">
|
||||
<Execution id="fbc13bd2-16c7-4e8d-a84f-7e296bc8bca1" />
|
||||
<TestMethod codeBase="C:\Users\Connor\.codex\worktrees\direct-roadmap-integration\Job tracker\JobTrackerApi.Tests\bin\Debug\net9.0\JobTrackerApi.Tests.dll" adapterTypeName="executor://xunit/VsTestRunner2/netcoreapp" className="JobTrackerApi.Tests.EmailSendAttemptStoreTests" name="Direct_attempt_ids_are_tenant_scoped_and_store_no_message_content" />
|
||||
</UnitTest>
|
||||
<UnitTest name="JobTrackerApi.Tests.EmailControllerTests.Provider_status_is_owner_scoped_and_does_not_claim_send_support" storage="c:\users\connor\.codex\worktrees\direct-roadmap-integration\job tracker\jobtrackerapi.tests\bin\debug\net9.0\jobtrackerapi.tests.dll" id="1c662a6b-aa9e-c447-3fdb-c42c9559c067">
|
||||
<Execution id="f4c19d28-2d36-44f8-9060-33b60bb99635" />
|
||||
<TestMethod codeBase="C:\Users\Connor\.codex\worktrees\direct-roadmap-integration\Job tracker\JobTrackerApi.Tests\bin\Debug\net9.0\JobTrackerApi.Tests.dll" adapterTypeName="executor://xunit/VsTestRunner2/netcoreapp" className="JobTrackerApi.Tests.EmailControllerTests" name="Provider_status_is_owner_scoped_and_does_not_claim_send_support" />
|
||||
</UnitTest>
|
||||
<UnitTest name="JobTrackerApi.Tests.DocumentsControllerTests.Index_uses_native_count_and_bounded_page_queries_without_writes_or_content_projection" storage="c:\users\connor\.codex\worktrees\direct-roadmap-integration\job tracker\jobtrackerapi.tests\bin\debug\net9.0\jobtrackerapi.tests.dll" id="9f8cd379-f38b-5318-1d3b-606e9d309be8">
|
||||
<Execution id="036b919c-94d4-42b9-a039-e5a08d18096b" />
|
||||
<TestMethod codeBase="C:\Users\Connor\.codex\worktrees\direct-roadmap-integration\Job tracker\JobTrackerApi.Tests\bin\Debug\net9.0\JobTrackerApi.Tests.dll" adapterTypeName="executor://xunit/VsTestRunner2/netcoreapp" className="JobTrackerApi.Tests.DocumentsControllerTests" name="Index_uses_native_count_and_bounded_page_queries_without_writes_or_content_projection" />
|
||||
</UnitTest>
|
||||
<UnitTest name="JobTrackerApi.Tests.EmailSendControllerTests.Transport_interruption_is_uncertain_and_is_never_retried" storage="c:\users\connor\.codex\worktrees\direct-roadmap-integration\job tracker\jobtrackerapi.tests\bin\debug\net9.0\jobtrackerapi.tests.dll" id="2ea97de7-ffed-f73d-f372-4c2276511795">
|
||||
<Execution id="2ab8cc1a-821f-40cd-81bd-163c98c94888" />
|
||||
<TestMethod codeBase="C:\Users\Connor\.codex\worktrees\direct-roadmap-integration\Job tracker\JobTrackerApi.Tests\bin\Debug\net9.0\JobTrackerApi.Tests.dll" adapterTypeName="executor://xunit/VsTestRunner2/netcoreapp" className="JobTrackerApi.Tests.EmailSendControllerTests" name="Transport_interruption_is_uncertain_and_is_never_retried" />
|
||||
</UnitTest>
|
||||
<UnitTest name="JobTrackerApi.Tests.DocumentsControllerTests.Search_treats_wildcards_literally_folds_Nordic_metadata_and_never_searches_content" storage="c:\users\connor\.codex\worktrees\direct-roadmap-integration\job tracker\jobtrackerapi.tests\bin\debug\net9.0\jobtrackerapi.tests.dll" id="edb6121b-51f7-0a13-d388-4e483372db21">
|
||||
<Execution id="5212cbff-aaf7-4097-8749-5057da8132b2" />
|
||||
<TestMethod codeBase="C:\Users\Connor\.codex\worktrees\direct-roadmap-integration\Job tracker\JobTrackerApi.Tests\bin\Debug\net9.0\JobTrackerApi.Tests.dll" adapterTypeName="executor://xunit/VsTestRunner2/netcoreapp" className="JobTrackerApi.Tests.DocumentsControllerTests" name="Search_treats_wildcards_literally_folds_Nordic_metadata_and_never_searches_content" />
|
||||
</UnitTest>
|
||||
<UnitTest name="JobTrackerApi.Tests.EmailDraftsControllerTests.Revision_conflicts_prevent_lost_updates_and_cross_tenant_deletes" storage="c:\users\connor\.codex\worktrees\direct-roadmap-integration\job tracker\jobtrackerapi.tests\bin\debug\net9.0\jobtrackerapi.tests.dll" id="3e9f5a34-d74b-5179-1ebc-9479ec464379">
|
||||
<Execution id="423448a4-db29-4274-94b2-494e65ea8437" />
|
||||
<TestMethod codeBase="C:\Users\Connor\.codex\worktrees\direct-roadmap-integration\Job tracker\JobTrackerApi.Tests\bin\Debug\net9.0\JobTrackerApi.Tests.dll" adapterTypeName="executor://xunit/VsTestRunner2/netcoreapp" className="JobTrackerApi.Tests.EmailDraftsControllerTests" name="Revision_conflicts_prevent_lost_updates_and_cross_tenant_deletes" />
|
||||
</UnitTest>
|
||||
<UnitTest name="JobTrackerApi.Tests.DocumentsControllerTests.Pagination_counts_the_filtered_result_and_uses_stable_ordinal_resource_ties" storage="c:\users\connor\.codex\worktrees\direct-roadmap-integration\job tracker\jobtrackerapi.tests\bin\debug\net9.0\jobtrackerapi.tests.dll" id="c52532e2-69a8-2367-22c8-0dbc6f1f8696">
|
||||
<Execution id="a6bdcf3a-6075-4cd7-b4ed-eeea10231573" />
|
||||
<TestMethod codeBase="C:\Users\Connor\.codex\worktrees\direct-roadmap-integration\Job tracker\JobTrackerApi.Tests\bin\Debug\net9.0\JobTrackerApi.Tests.dll" adapterTypeName="executor://xunit/VsTestRunner2/netcoreapp" className="JobTrackerApi.Tests.DocumentsControllerTests" name="Pagination_counts_the_filtered_result_and_uses_stable_ordinal_resource_ties" />
|
||||
</UnitTest>
|
||||
<UnitTest name="JobTrackerApi.Tests.EmailDraftsControllerTests.Nonfailed_attempts_cannot_rotate_identity_or_change_draft_and_history(status: "sent")" storage="c:\users\connor\.codex\worktrees\direct-roadmap-integration\job tracker\jobtrackerapi.tests\bin\debug\net9.0\jobtrackerapi.tests.dll" id="a1f5617a-b97a-e787-be80-a84cace8f6d2">
|
||||
<Execution id="7df9ca39-2dd4-402f-b320-530073ffebb1" />
|
||||
<TestMethod codeBase="C:\Users\Connor\.codex\worktrees\direct-roadmap-integration\Job tracker\JobTrackerApi.Tests\bin\Debug\net9.0\JobTrackerApi.Tests.dll" adapterTypeName="executor://xunit/VsTestRunner2/netcoreapp" className="JobTrackerApi.Tests.EmailDraftsControllerTests" name="Nonfailed_attempts_cannot_rotate_identity_or_change_draft_and_history" />
|
||||
</UnitTest>
|
||||
<UnitTest name="JobTrackerApi.Tests.EmailSendControllerTests.Connection_check_failure_is_definite_and_never_calls_send" storage="c:\users\connor\.codex\worktrees\direct-roadmap-integration\job tracker\jobtrackerapi.tests\bin\debug\net9.0\jobtrackerapi.tests.dll" id="7832eaee-9584-e2c1-8df8-ad3e4950eb7b">
|
||||
<Execution id="b2afe050-71fc-4db2-a574-59c3a28d5975" />
|
||||
<TestMethod codeBase="C:\Users\Connor\.codex\worktrees\direct-roadmap-integration\Job tracker\JobTrackerApi.Tests\bin\Debug\net9.0\JobTrackerApi.Tests.dll" adapterTypeName="executor://xunit/VsTestRunner2/netcoreapp" className="JobTrackerApi.Tests.EmailSendControllerTests" name="Connection_check_failure_is_definite_and_never_calls_send" />
|
||||
</UnitTest>
|
||||
<UnitTest name="JobTrackerApi.Tests.DocumentsControllerTests.Empty_index_has_bounded_defaults_and_requires_a_known_authenticated_owner" storage="c:\users\connor\.codex\worktrees\direct-roadmap-integration\job tracker\jobtrackerapi.tests\bin\debug\net9.0\jobtrackerapi.tests.dll" id="487a0644-b3c9-2574-9167-a09782c62ac9">
|
||||
<Execution id="96074fd9-c7bf-4104-86be-3017b4442160" />
|
||||
<TestMethod codeBase="C:\Users\Connor\.codex\worktrees\direct-roadmap-integration\Job tracker\JobTrackerApi.Tests\bin\Debug\net9.0\JobTrackerApi.Tests.dll" adapterTypeName="executor://xunit/VsTestRunner2/netcoreapp" className="JobTrackerApi.Tests.DocumentsControllerTests" name="Empty_index_has_bounded_defaults_and_requires_a_known_authenticated_owner" />
|
||||
</UnitTest>
|
||||
<UnitTest name="JobTrackerApi.Tests.EmailSendControllerTests.Known_rejection_is_failed_and_requires_a_new_request_id" storage="c:\users\connor\.codex\worktrees\direct-roadmap-integration\job tracker\jobtrackerapi.tests\bin\debug\net9.0\jobtrackerapi.tests.dll" id="ebe02173-6849-c1ed-68dc-a5c12f989d04">
|
||||
<Execution id="039cb480-af7b-4067-b850-9a2ea771f891" />
|
||||
<TestMethod codeBase="C:\Users\Connor\.codex\worktrees\direct-roadmap-integration\Job tracker\JobTrackerApi.Tests\bin\Debug\net9.0\JobTrackerApi.Tests.dll" adapterTypeName="executor://xunit/VsTestRunner2/netcoreapp" className="JobTrackerApi.Tests.EmailSendControllerTests" name="Known_rejection_is_failed_and_requires_a_new_request_id" />
|
||||
</UnitTest>
|
||||
<UnitTest name="JobTrackerApi.Tests.CorrespondenceControllerTests.Paged_inbox_returns_every_owned_message_without_the_legacy_cap" storage="c:\users\connor\.codex\worktrees\direct-roadmap-integration\job tracker\jobtrackerapi.tests\bin\debug\net9.0\jobtrackerapi.tests.dll" id="7753e2dd-a85b-9c84-c897-cf19fbf3e477">
|
||||
<Execution id="dc25f89e-9bd5-4ef6-ba81-4fc8ece29773" />
|
||||
<TestMethod codeBase="C:\Users\Connor\.codex\worktrees\direct-roadmap-integration\Job tracker\JobTrackerApi.Tests\bin\Debug\net9.0\JobTrackerApi.Tests.dll" adapterTypeName="executor://xunit/VsTestRunner2/netcoreapp" className="JobTrackerApi.Tests.CorrespondenceControllerTests" name="Paged_inbox_returns_every_owned_message_without_the_legacy_cap" />
|
||||
</UnitTest>
|
||||
<UnitTest name="JobTrackerApi.Tests.EmailSendControllerTests.Missing_confirmation_or_cross_tenant_job_never_reserves_or_sends" storage="c:\users\connor\.codex\worktrees\direct-roadmap-integration\job tracker\jobtrackerapi.tests\bin\debug\net9.0\jobtrackerapi.tests.dll" id="2574a206-b9d3-6242-e980-7f9f391a1a20">
|
||||
<Execution id="a939e6bf-75d0-4327-81d4-b22400d34271" />
|
||||
<TestMethod codeBase="C:\Users\Connor\.codex\worktrees\direct-roadmap-integration\Job tracker\JobTrackerApi.Tests\bin\Debug\net9.0\JobTrackerApi.Tests.dll" adapterTypeName="executor://xunit/VsTestRunner2/netcoreapp" className="JobTrackerApi.Tests.EmailSendControllerTests" name="Missing_confirmation_or_cross_tenant_job_never_reserves_or_sends" />
|
||||
</UnitTest>
|
||||
<UnitTest name="JobTrackerApi.Tests.EmailSendControllerTests.Basic_email_send_requires_local_authentication_but_not_pro_entitlement" storage="c:\users\connor\.codex\worktrees\direct-roadmap-integration\job tracker\jobtrackerapi.tests\bin\debug\net9.0\jobtrackerapi.tests.dll" id="e2c8be58-1bd6-84d5-9f71-510201b381fa">
|
||||
<Execution id="39dc4fc6-57ff-4ba5-b8be-e774e5d84254" />
|
||||
<TestMethod codeBase="C:\Users\Connor\.codex\worktrees\direct-roadmap-integration\Job tracker\JobTrackerApi.Tests\bin\Debug\net9.0\JobTrackerApi.Tests.dll" adapterTypeName="executor://xunit/VsTestRunner2/netcoreapp" className="JobTrackerApi.Tests.EmailSendControllerTests" name="Basic_email_send_requires_local_authentication_but_not_pro_entitlement" />
|
||||
</UnitTest>
|
||||
<UnitTest name="JobTrackerApi.Tests.EmailSendAttemptStoreTests.State_machine_never_restarts_terminal_or_uncertain_attempts" storage="c:\users\connor\.codex\worktrees\direct-roadmap-integration\job tracker\jobtrackerapi.tests\bin\debug\net9.0\jobtrackerapi.tests.dll" id="98bde446-a4b2-f558-39e1-bea551a4c8de">
|
||||
<Execution id="b3918f99-9859-4870-b6a9-439d9a41b6e8" />
|
||||
<TestMethod codeBase="C:\Users\Connor\.codex\worktrees\direct-roadmap-integration\Job tracker\JobTrackerApi.Tests\bin\Debug\net9.0\JobTrackerApi.Tests.dll" adapterTypeName="executor://xunit/VsTestRunner2/netcoreapp" className="JobTrackerApi.Tests.EmailSendAttemptStoreTests" name="State_machine_never_restarts_terminal_or_uncertain_attempts" />
|
||||
</UnitTest>
|
||||
<UnitTest name="JobTrackerApi.Tests.DocumentsControllerTests.Type_state_visibility_and_owned_job_filters_intersect_without_changing_totals" storage="c:\users\connor\.codex\worktrees\direct-roadmap-integration\job tracker\jobtrackerapi.tests\bin\debug\net9.0\jobtrackerapi.tests.dll" id="ec3bd14c-074a-fc6c-7a73-78c1b6e8fcad">
|
||||
<Execution id="77b03201-73b6-4f92-96c0-66c1dcb9eb13" />
|
||||
<TestMethod codeBase="C:\Users\Connor\.codex\worktrees\direct-roadmap-integration\Job tracker\JobTrackerApi.Tests\bin\Debug\net9.0\JobTrackerApi.Tests.dll" adapterTypeName="executor://xunit/VsTestRunner2/netcoreapp" className="JobTrackerApi.Tests.DocumentsControllerTests" name="Type_state_visibility_and_owned_job_filters_intersect_without_changing_totals" />
|
||||
</UnitTest>
|
||||
<UnitTest name="JobTrackerApi.Tests.EmailDraftsControllerTests.Failures_with_another_owner_or_request_key_cannot_rotate_or_change_either_tenant(wrongOwner: True)" storage="c:\users\connor\.codex\worktrees\direct-roadmap-integration\job tracker\jobtrackerapi.tests\bin\debug\net9.0\jobtrackerapi.tests.dll" id="99885684-f585-d7f0-9920-fa4b3a52797d">
|
||||
<Execution id="2cfa04d4-30d5-4f2a-b1e3-ce696fc7e0a0" />
|
||||
<TestMethod codeBase="C:\Users\Connor\.codex\worktrees\direct-roadmap-integration\Job tracker\JobTrackerApi.Tests\bin\Debug\net9.0\JobTrackerApi.Tests.dll" adapterTypeName="executor://xunit/VsTestRunner2/netcoreapp" className="JobTrackerApi.Tests.EmailDraftsControllerTests" name="Failures_with_another_owner_or_request_key_cannot_rotate_or_change_either_tenant" />
|
||||
</UnitTest>
|
||||
<UnitTest name="JobTrackerApi.Tests.CorrespondenceControllerTests.Message_detail_is_owner_scoped_and_tolerates_bad_metadata" storage="c:\users\connor\.codex\worktrees\direct-roadmap-integration\job tracker\jobtrackerapi.tests\bin\debug\net9.0\jobtrackerapi.tests.dll" id="ee78b649-1092-f000-addc-61cf0ce4de42">
|
||||
<Execution id="d66d59b0-a025-44f1-ac25-9a82e647adef" />
|
||||
<TestMethod codeBase="C:\Users\Connor\.codex\worktrees\direct-roadmap-integration\Job tracker\JobTrackerApi.Tests\bin\Debug\net9.0\JobTrackerApi.Tests.dll" adapterTypeName="executor://xunit/VsTestRunner2/netcoreapp" className="JobTrackerApi.Tests.CorrespondenceControllerTests" name="Message_detail_is_owner_scoped_and_tolerates_bad_metadata" />
|
||||
</UnitTest>
|
||||
<UnitTest name="JobTrackerApi.Tests.DocumentsControllerTests.Date_order_uses_exact_instants_and_fractional_ticks_with_unzoned_and_unknown_dates_last" storage="c:\users\connor\.codex\worktrees\direct-roadmap-integration\job tracker\jobtrackerapi.tests\bin\debug\net9.0\jobtrackerapi.tests.dll" id="bd948549-b588-e250-c5cf-ff48a875bfe5">
|
||||
<Execution id="f15c2399-a2f5-4008-a417-c1935b96854f" />
|
||||
<TestMethod codeBase="C:\Users\Connor\.codex\worktrees\direct-roadmap-integration\Job tracker\JobTrackerApi.Tests\bin\Debug\net9.0\JobTrackerApi.Tests.dll" adapterTypeName="executor://xunit/VsTestRunner2/netcoreapp" className="JobTrackerApi.Tests.DocumentsControllerTests" name="Date_order_uses_exact_instants_and_fractional_ticks_with_unzoned_and_unknown_dates_last" />
|
||||
</UnitTest>
|
||||
<UnitTest name="JobTrackerApi.Tests.CorrespondenceControllerTests.Create_tags_manually_entered_correspondence_with_manual_provider" storage="c:\users\connor\.codex\worktrees\direct-roadmap-integration\job tracker\jobtrackerapi.tests\bin\debug\net9.0\jobtrackerapi.tests.dll" id="7c899d83-568e-93d9-b0c8-aec18f50c098">
|
||||
<Execution id="90653301-9e7f-416d-ae86-d0a2dde7b204" />
|
||||
<TestMethod codeBase="C:\Users\Connor\.codex\worktrees\direct-roadmap-integration\Job tracker\JobTrackerApi.Tests\bin\Debug\net9.0\JobTrackerApi.Tests.dll" adapterTypeName="executor://xunit/VsTestRunner2/netcoreapp" className="JobTrackerApi.Tests.CorrespondenceControllerTests" name="Create_tags_manually_entered_correspondence_with_manual_provider" />
|
||||
</UnitTest>
|
||||
<UnitTest name="JobTrackerApi.Tests.EmailDraftsControllerTests.Nonfailed_attempts_cannot_rotate_identity_or_change_draft_and_history(status: "uncertain")" storage="c:\users\connor\.codex\worktrees\direct-roadmap-integration\job tracker\jobtrackerapi.tests\bin\debug\net9.0\jobtrackerapi.tests.dll" id="ceb3850c-1c80-f2a9-d47a-17e2275acfca">
|
||||
<Execution id="5be29593-9f70-4264-98cc-396e3775db2c" />
|
||||
<TestMethod codeBase="C:\Users\Connor\.codex\worktrees\direct-roadmap-integration\Job tracker\JobTrackerApi.Tests\bin\Debug\net9.0\JobTrackerApi.Tests.dll" adapterTypeName="executor://xunit/VsTestRunner2/netcoreapp" className="JobTrackerApi.Tests.EmailDraftsControllerTests" name="Nonfailed_attempts_cannot_rotate_identity_or_change_draft_and_history" />
|
||||
</UnitTest>
|
||||
<UnitTest name="JobTrackerApi.Tests.EmailDraftsControllerTests.Direct_ids_and_job_lists_do_not_cross_tenants" storage="c:\users\connor\.codex\worktrees\direct-roadmap-integration\job tracker\jobtrackerapi.tests\bin\debug\net9.0\jobtrackerapi.tests.dll" id="07ec79b5-6b54-bc29-17c8-3c134d1a91ab">
|
||||
<Execution id="d0ecb6c5-e27e-4ec4-95cc-7b24228cdf74" />
|
||||
<TestMethod codeBase="C:\Users\Connor\.codex\worktrees\direct-roadmap-integration\Job tracker\JobTrackerApi.Tests\bin\Debug\net9.0\JobTrackerApi.Tests.dll" adapterTypeName="executor://xunit/VsTestRunner2/netcoreapp" className="JobTrackerApi.Tests.EmailDraftsControllerTests" name="Direct_ids_and_job_lists_do_not_cross_tenants" />
|
||||
</UnitTest>
|
||||
<UnitTest name="JobTrackerApi.Tests.EmailDraftsControllerTests.Draft_DTO_timestamps_keep_UTC_shape_and_exact_ticks_after_SQLite_roundtrips" storage="c:\users\connor\.codex\worktrees\direct-roadmap-integration\job tracker\jobtrackerapi.tests\bin\debug\net9.0\jobtrackerapi.tests.dll" id="06ef9929-8299-e41a-c2ab-ab69bc204c4d">
|
||||
<Execution id="79e82aee-e683-4951-92f2-fdc95392e30b" />
|
||||
<TestMethod codeBase="C:\Users\Connor\.codex\worktrees\direct-roadmap-integration\Job tracker\JobTrackerApi.Tests\bin\Debug\net9.0\JobTrackerApi.Tests.dll" adapterTypeName="executor://xunit/VsTestRunner2/netcoreapp" className="JobTrackerApi.Tests.EmailDraftsControllerTests" name="Draft_DTO_timestamps_keep_UTC_shape_and_exact_ticks_after_SQLite_roundtrips" />
|
||||
</UnitTest>
|
||||
<UnitTest name="JobTrackerApi.Tests.EmailDraftsControllerTests.New_attempt_identity_requires_the_matching_definitive_failure" storage="c:\users\connor\.codex\worktrees\direct-roadmap-integration\job tracker\jobtrackerapi.tests\bin\debug\net9.0\jobtrackerapi.tests.dll" id="248fc1da-40ca-7556-b0d9-0b0aaf01c51a">
|
||||
<Execution id="c605e7f8-3a2d-4e7b-9b6e-cdd87124e371" />
|
||||
<TestMethod codeBase="C:\Users\Connor\.codex\worktrees\direct-roadmap-integration\Job tracker\JobTrackerApi.Tests\bin\Debug\net9.0\JobTrackerApi.Tests.dll" adapterTypeName="executor://xunit/VsTestRunner2/netcoreapp" className="JobTrackerApi.Tests.EmailDraftsControllerTests" name="New_attempt_identity_requires_the_matching_definitive_failure" />
|
||||
</UnitTest>
|
||||
<UnitTest name="JobTrackerApi.Tests.EmailControllerTests.Message_detail_returns_plain_text_without_provider_html" storage="c:\users\connor\.codex\worktrees\direct-roadmap-integration\job tracker\jobtrackerapi.tests\bin\debug\net9.0\jobtrackerapi.tests.dll" id="5909702c-1b19-7c07-d992-38f2feaca8ee">
|
||||
<Execution id="7a3927fb-5d47-4b2e-bb39-dad2f30f000d" />
|
||||
<TestMethod codeBase="C:\Users\Connor\.codex\worktrees\direct-roadmap-integration\Job tracker\JobTrackerApi.Tests\bin\Debug\net9.0\JobTrackerApi.Tests.dll" adapterTypeName="executor://xunit/VsTestRunner2/netcoreapp" className="JobTrackerApi.Tests.EmailControllerTests" name="Message_detail_returns_plain_text_without_provider_html" />
|
||||
</UnitTest>
|
||||
<UnitTest name="JobTrackerApi.Tests.DocumentsControllerTests.Seven_existing_resource_kinds_expose_only_metadata_and_existing_actions" storage="c:\users\connor\.codex\worktrees\direct-roadmap-integration\job tracker\jobtrackerapi.tests\bin\debug\net9.0\jobtrackerapi.tests.dll" id="ca926f26-a605-147c-8d6c-bcb08bb50b7b">
|
||||
<Execution id="e115d234-b219-4f5a-af95-de17d8b8ee4b" />
|
||||
<TestMethod codeBase="C:\Users\Connor\.codex\worktrees\direct-roadmap-integration\Job tracker\JobTrackerApi.Tests\bin\Debug\net9.0\JobTrackerApi.Tests.dll" adapterTypeName="executor://xunit/VsTestRunner2/netcoreapp" className="JobTrackerApi.Tests.DocumentsControllerTests" name="Seven_existing_resource_kinds_expose_only_metadata_and_existing_actions" />
|
||||
</UnitTest>
|
||||
<UnitTest name="JobTrackerApi.Tests.DocumentsControllerTests.Cleared_letter_history_answer_markers_and_structured_tailoring_keep_their_real_sources" storage="c:\users\connor\.codex\worktrees\direct-roadmap-integration\job tracker\jobtrackerapi.tests\bin\debug\net9.0\jobtrackerapi.tests.dll" id="386782c9-47c0-6c9b-ce6b-8898263b8c6f">
|
||||
<Execution id="0c3a000c-0dd6-4b67-9aa4-1b9160bed50c" />
|
||||
<TestMethod codeBase="C:\Users\Connor\.codex\worktrees\direct-roadmap-integration\Job tracker\JobTrackerApi.Tests\bin\Debug\net9.0\JobTrackerApi.Tests.dll" adapterTypeName="executor://xunit/VsTestRunner2/netcoreapp" className="JobTrackerApi.Tests.DocumentsControllerTests" name="Cleared_letter_history_answer_markers_and_structured_tailoring_keep_their_real_sources" />
|
||||
</UnitTest>
|
||||
<UnitTest name="JobTrackerApi.Tests.DocumentsControllerTests.Invalid_parameters_are_rejected_before_any_catalog_query" storage="c:\users\connor\.codex\worktrees\direct-roadmap-integration\job tracker\jobtrackerapi.tests\bin\debug\net9.0\jobtrackerapi.tests.dll" id="44127dfe-eb76-6cb5-2f73-3690fe9af4ac">
|
||||
<Execution id="9054326c-53ef-450c-af3e-08472db7c939" />
|
||||
<TestMethod codeBase="C:\Users\Connor\.codex\worktrees\direct-roadmap-integration\Job tracker\JobTrackerApi.Tests\bin\Debug\net9.0\JobTrackerApi.Tests.dll" adapterTypeName="executor://xunit/VsTestRunner2/netcoreapp" className="JobTrackerApi.Tests.DocumentsControllerTests" name="Invalid_parameters_are_rejected_before_any_catalog_query" />
|
||||
</UnitTest>
|
||||
<UnitTest name="JobTrackerApi.Tests.EmailDraftsControllerTests.Failures_with_another_owner_or_request_key_cannot_rotate_or_change_either_tenant(wrongOwner: False)" storage="c:\users\connor\.codex\worktrees\direct-roadmap-integration\job tracker\jobtrackerapi.tests\bin\debug\net9.0\jobtrackerapi.tests.dll" id="2c0898fa-5c57-8bcf-d606-f04a15170e13">
|
||||
<Execution id="60a52322-233e-46b8-ae58-3274641490f6" />
|
||||
<TestMethod codeBase="C:\Users\Connor\.codex\worktrees\direct-roadmap-integration\Job tracker\JobTrackerApi.Tests\bin\Debug\net9.0\JobTrackerApi.Tests.dll" adapterTypeName="executor://xunit/VsTestRunner2/netcoreapp" className="JobTrackerApi.Tests.EmailDraftsControllerTests" name="Failures_with_another_owner_or_request_key_cannot_rotate_or_change_either_tenant" />
|
||||
</UnitTest>
|
||||
<UnitTest name="JobTrackerApi.Tests.EmailSendAttemptStoreTests.Restart_recovery_is_tenant_visible_idempotent_and_never_requeues_delivery" storage="c:\users\connor\.codex\worktrees\direct-roadmap-integration\job tracker\jobtrackerapi.tests\bin\debug\net9.0\jobtrackerapi.tests.dll" id="2adcde3a-e6f5-b6dc-b469-1403fe0c6d72">
|
||||
<Execution id="e32f7249-a74c-45b4-9c65-ae296c20151b" />
|
||||
<TestMethod codeBase="C:\Users\Connor\.codex\worktrees\direct-roadmap-integration\Job tracker\JobTrackerApi.Tests\bin\Debug\net9.0\JobTrackerApi.Tests.dll" adapterTypeName="executor://xunit/VsTestRunner2/netcoreapp" className="JobTrackerApi.Tests.EmailSendAttemptStoreTests" name="Restart_recovery_is_tenant_visible_idempotent_and_never_requeues_delivery" />
|
||||
</UnitTest>
|
||||
<UnitTest name="JobTrackerApi.Tests.EmailSendAttemptStoreTests.Hard_job_deletion_cascades_only_that_jobs_attempts" storage="c:\users\connor\.codex\worktrees\direct-roadmap-integration\job tracker\jobtrackerapi.tests\bin\debug\net9.0\jobtrackerapi.tests.dll" id="2b2c8fb1-0ec0-44b1-1070-d079871c0493">
|
||||
<Execution id="ca73f728-f1ed-489a-b69a-e92482348c81" />
|
||||
<TestMethod codeBase="C:\Users\Connor\.codex\worktrees\direct-roadmap-integration\Job tracker\JobTrackerApi.Tests\bin\Debug\net9.0\JobTrackerApi.Tests.dll" adapterTypeName="executor://xunit/VsTestRunner2/netcoreapp" className="JobTrackerApi.Tests.EmailSendAttemptStoreTests" name="Hard_job_deletion_cascades_only_that_jobs_attempts" />
|
||||
</UnitTest>
|
||||
<UnitTest name="JobTrackerApi.Tests.DocumentsControllerTests.Frozen_metadata_and_archived_bytes_survive_live_cv_upload_and_letter_changes" storage="c:\users\connor\.codex\worktrees\direct-roadmap-integration\job tracker\jobtrackerapi.tests\bin\debug\net9.0\jobtrackerapi.tests.dll" id="20d0193b-5474-4c8d-e948-629f01627fff">
|
||||
<Execution id="2b133e1c-09d0-419a-928e-22a9fcb38096" />
|
||||
<TestMethod codeBase="C:\Users\Connor\.codex\worktrees\direct-roadmap-integration\Job tracker\JobTrackerApi.Tests\bin\Debug\net9.0\JobTrackerApi.Tests.dll" adapterTypeName="executor://xunit/VsTestRunner2/netcoreapp" className="JobTrackerApi.Tests.DocumentsControllerTests" name="Frozen_metadata_and_archived_bytes_survive_live_cv_upload_and_letter_changes" />
|
||||
</UnitTest>
|
||||
<UnitTest name="JobTrackerApi.Tests.DocumentsControllerTests.MariaDb_composition_keeps_unicode_markers_ordinal_and_paging_parameterized_without_connecting" storage="c:\users\connor\.codex\worktrees\direct-roadmap-integration\job tracker\jobtrackerapi.tests\bin\debug\net9.0\jobtrackerapi.tests.dll" id="73e339c4-7545-ee64-3809-2502b158f4c0">
|
||||
<Execution id="b4e7a0f1-6352-4043-9091-759ceee758b4" />
|
||||
<TestMethod codeBase="C:\Users\Connor\.codex\worktrees\direct-roadmap-integration\Job tracker\JobTrackerApi.Tests\bin\Debug\net9.0\JobTrackerApi.Tests.dll" adapterTypeName="executor://xunit/VsTestRunner2/netcoreapp" className="JobTrackerApi.Tests.DocumentsControllerTests" name="MariaDb_composition_keeps_unicode_markers_ordinal_and_paging_parameterized_without_connecting" />
|
||||
</UnitTest>
|
||||
<UnitTest name="JobTrackerApi.Tests.EmailSendAttemptStoreTests.Creation_is_idempotent_and_rejects_payload_reuse" storage="c:\users\connor\.codex\worktrees\direct-roadmap-integration\job tracker\jobtrackerapi.tests\bin\debug\net9.0\jobtrackerapi.tests.dll" id="e2dad7de-cf5c-402c-2875-2edacbf29aa1">
|
||||
<Execution id="590505a9-f0f6-420a-acf1-98099ae4d5e7" />
|
||||
<TestMethod codeBase="C:\Users\Connor\.codex\worktrees\direct-roadmap-integration\Job tracker\JobTrackerApi.Tests\bin\Debug\net9.0\JobTrackerApi.Tests.dll" adapterTypeName="executor://xunit/VsTestRunner2/netcoreapp" className="JobTrackerApi.Tests.EmailSendAttemptStoreTests" name="Creation_is_idempotent_and_rejects_payload_reuse" />
|
||||
</UnitTest>
|
||||
</TestDefinitions>
|
||||
<TestEntries>
|
||||
<TestEntry testId="ec3bd14c-074a-fc6c-7a73-78c1b6e8fcad" executionId="77b03201-73b6-4f92-96c0-66c1dcb9eb13" testListId="8c84fa94-04c1-424b-9868-57a2d4851a1d" />
|
||||
<TestEntry testId="ee78b649-1092-f000-addc-61cf0ce4de42" executionId="d66d59b0-a025-44f1-ac25-9a82e647adef" testListId="8c84fa94-04c1-424b-9868-57a2d4851a1d" />
|
||||
<TestEntry testId="fc48009c-4499-bc84-48d4-beb382e5cd05" executionId="c9c792b8-79cc-48d5-9b08-01ae7b83ff45" testListId="8c84fa94-04c1-424b-9868-57a2d4851a1d" />
|
||||
<TestEntry testId="2b2c8fb1-0ec0-44b1-1070-d079871c0493" executionId="ca73f728-f1ed-489a-b69a-e92482348c81" testListId="8c84fa94-04c1-424b-9868-57a2d4851a1d" />
|
||||
<TestEntry testId="44127dfe-eb76-6cb5-2f73-3690fe9af4ac" executionId="9054326c-53ef-450c-af3e-08472db7c939" testListId="8c84fa94-04c1-424b-9868-57a2d4851a1d" />
|
||||
<TestEntry testId="8a3292c0-bcd8-f7c5-b88b-9682b4bb23f8" executionId="9de32d61-7ce5-40fb-bfea-85401e095b3a" testListId="8c84fa94-04c1-424b-9868-57a2d4851a1d" />
|
||||
<TestEntry testId="cf424de2-8e99-2e95-e8fd-dd4cfe9c5d3d" executionId="cc88c5cb-cbb3-4f3c-bc5c-e33e308c0fd7" testListId="8c84fa94-04c1-424b-9868-57a2d4851a1d" />
|
||||
<TestEntry testId="5909702c-1b19-7c07-d992-38f2feaca8ee" executionId="7a3927fb-5d47-4b2e-bb39-dad2f30f000d" testListId="8c84fa94-04c1-424b-9868-57a2d4851a1d" />
|
||||
<TestEntry testId="2c0898fa-5c57-8bcf-d606-f04a15170e13" executionId="60a52322-233e-46b8-ae58-3274641490f6" testListId="8c84fa94-04c1-424b-9868-57a2d4851a1d" />
|
||||
<TestEntry testId="06ef9929-8299-e41a-c2ab-ab69bc204c4d" executionId="79e82aee-e683-4951-92f2-fdc95392e30b" testListId="8c84fa94-04c1-424b-9868-57a2d4851a1d" />
|
||||
<TestEntry testId="6b7cdadd-daea-e59e-58f5-1fc22ed36c96" executionId="69a6fc56-a165-4d79-bc32-93bb1d97cb3e" testListId="8c84fa94-04c1-424b-9868-57a2d4851a1d" />
|
||||
<TestEntry testId="ff1a0913-9f83-9e67-8536-30a290629b77" executionId="1f7aec30-3fe3-420e-823e-0e6545f8c408" testListId="8c84fa94-04c1-424b-9868-57a2d4851a1d" />
|
||||
<TestEntry testId="a1f5617a-b97a-e787-be80-a84cace8f6d2" executionId="7df9ca39-2dd4-402f-b320-530073ffebb1" testListId="8c84fa94-04c1-424b-9868-57a2d4851a1d" />
|
||||
<TestEntry testId="7832eaee-9584-e2c1-8df8-ad3e4950eb7b" executionId="b2afe050-71fc-4db2-a574-59c3a28d5975" testListId="8c84fa94-04c1-424b-9868-57a2d4851a1d" />
|
||||
<TestEntry testId="ebe02173-6849-c1ed-68dc-a5c12f989d04" executionId="039cb480-af7b-4067-b850-9a2ea771f891" testListId="8c84fa94-04c1-424b-9868-57a2d4851a1d" />
|
||||
<TestEntry testId="e2c8be58-1bd6-84d5-9f71-510201b381fa" executionId="39dc4fc6-57ff-4ba5-b8be-e774e5d84254" testListId="8c84fa94-04c1-424b-9868-57a2d4851a1d" />
|
||||
<TestEntry testId="7753e2dd-a85b-9c84-c897-cf19fbf3e477" executionId="dc25f89e-9bd5-4ef6-ba81-4fc8ece29773" testListId="8c84fa94-04c1-424b-9868-57a2d4851a1d" />
|
||||
<TestEntry testId="73e339c4-7545-ee64-3809-2502b158f4c0" executionId="b4e7a0f1-6352-4043-9091-759ceee758b4" testListId="8c84fa94-04c1-424b-9868-57a2d4851a1d" />
|
||||
<TestEntry testId="9f8cd379-f38b-5318-1d3b-606e9d309be8" executionId="036b919c-94d4-42b9-a039-e5a08d18096b" testListId="8c84fa94-04c1-424b-9868-57a2d4851a1d" />
|
||||
<TestEntry testId="3e9f5a34-d74b-5179-1ebc-9479ec464379" executionId="423448a4-db29-4274-94b2-494e65ea8437" testListId="8c84fa94-04c1-424b-9868-57a2d4851a1d" />
|
||||
<TestEntry testId="e2dad7de-cf5c-402c-2875-2edacbf29aa1" executionId="590505a9-f0f6-420a-acf1-98099ae4d5e7" testListId="8c84fa94-04c1-424b-9868-57a2d4851a1d" />
|
||||
<TestEntry testId="edb6121b-51f7-0a13-d388-4e483372db21" executionId="5212cbff-aaf7-4097-8749-5057da8132b2" testListId="8c84fa94-04c1-424b-9868-57a2d4851a1d" />
|
||||
<TestEntry testId="ceb3850c-1c80-f2a9-d47a-17e2275acfca" executionId="5be29593-9f70-4264-98cc-396e3775db2c" testListId="8c84fa94-04c1-424b-9868-57a2d4851a1d" />
|
||||
<TestEntry testId="bd948549-b588-e250-c5cf-ff48a875bfe5" executionId="f15c2399-a2f5-4008-a417-c1935b96854f" testListId="8c84fa94-04c1-424b-9868-57a2d4851a1d" />
|
||||
<TestEntry testId="ca926f26-a605-147c-8d6c-bcb08bb50b7b" executionId="e115d234-b219-4f5a-af95-de17d8b8ee4b" testListId="8c84fa94-04c1-424b-9868-57a2d4851a1d" />
|
||||
<TestEntry testId="7c899d83-568e-93d9-b0c8-aec18f50c098" executionId="90653301-9e7f-416d-ae86-d0a2dde7b204" testListId="8c84fa94-04c1-424b-9868-57a2d4851a1d" />
|
||||
<TestEntry testId="2ea97de7-ffed-f73d-f372-4c2276511795" executionId="2ab8cc1a-821f-40cd-81bd-163c98c94888" testListId="8c84fa94-04c1-424b-9868-57a2d4851a1d" />
|
||||
<TestEntry testId="98bde446-a4b2-f558-39e1-bea551a4c8de" executionId="b3918f99-9859-4870-b6a9-439d9a41b6e8" testListId="8c84fa94-04c1-424b-9868-57a2d4851a1d" />
|
||||
<TestEntry testId="07ec79b5-6b54-bc29-17c8-3c134d1a91ab" executionId="d0ecb6c5-e27e-4ec4-95cc-7b24228cdf74" testListId="8c84fa94-04c1-424b-9868-57a2d4851a1d" />
|
||||
<TestEntry testId="1dcab133-3067-d3eb-b451-1cc4c22c8e64" executionId="fbc13bd2-16c7-4e8d-a84f-7e296bc8bca1" testListId="8c84fa94-04c1-424b-9868-57a2d4851a1d" />
|
||||
<TestEntry testId="c52532e2-69a8-2367-22c8-0dbc6f1f8696" executionId="a6bdcf3a-6075-4cd7-b4ed-eeea10231573" testListId="8c84fa94-04c1-424b-9868-57a2d4851a1d" />
|
||||
<TestEntry testId="2adcde3a-e6f5-b6dc-b469-1403fe0c6d72" executionId="e32f7249-a74c-45b4-9c65-ae296c20151b" testListId="8c84fa94-04c1-424b-9868-57a2d4851a1d" />
|
||||
<TestEntry testId="99885684-f585-d7f0-9920-fa4b3a52797d" executionId="2cfa04d4-30d5-4f2a-b1e3-ce696fc7e0a0" testListId="8c84fa94-04c1-424b-9868-57a2d4851a1d" />
|
||||
<TestEntry testId="248fc1da-40ca-7556-b0d9-0b0aaf01c51a" executionId="c605e7f8-3a2d-4e7b-9b6e-cdd87124e371" testListId="8c84fa94-04c1-424b-9868-57a2d4851a1d" />
|
||||
<TestEntry testId="386782c9-47c0-6c9b-ce6b-8898263b8c6f" executionId="0c3a000c-0dd6-4b67-9aa4-1b9160bed50c" testListId="8c84fa94-04c1-424b-9868-57a2d4851a1d" />
|
||||
<TestEntry testId="99528add-2049-e030-3934-45ce740fc90b" executionId="2be68a20-99e3-4e7a-b3fe-d039f1ea6e7a" testListId="8c84fa94-04c1-424b-9868-57a2d4851a1d" />
|
||||
<TestEntry testId="2574a206-b9d3-6242-e980-7f9f391a1a20" executionId="a939e6bf-75d0-4327-81d4-b22400d34271" testListId="8c84fa94-04c1-424b-9868-57a2d4851a1d" />
|
||||
<TestEntry testId="c790a527-1aff-7f45-3d1a-e43d1d5a72eb" executionId="7683d109-ae41-4e31-b186-b15b8bc1ffc9" testListId="8c84fa94-04c1-424b-9868-57a2d4851a1d" />
|
||||
<TestEntry testId="1c662a6b-aa9e-c447-3fdb-c42c9559c067" executionId="f4c19d28-2d36-44f8-9060-33b60bb99635" testListId="8c84fa94-04c1-424b-9868-57a2d4851a1d" />
|
||||
<TestEntry testId="487a0644-b3c9-2574-9167-a09782c62ac9" executionId="96074fd9-c7bf-4104-86be-3017b4442160" testListId="8c84fa94-04c1-424b-9868-57a2d4851a1d" />
|
||||
<TestEntry testId="20d0193b-5474-4c8d-e948-629f01627fff" executionId="2b133e1c-09d0-419a-928e-22a9fcb38096" testListId="8c84fa94-04c1-424b-9868-57a2d4851a1d" />
|
||||
<TestEntry testId="29cf2f9f-20da-2480-76f7-d4b103b776d6" executionId="9762a8ef-ca38-40ad-a59b-07a8d6f821a4" testListId="8c84fa94-04c1-424b-9868-57a2d4851a1d" />
|
||||
</TestEntries>
|
||||
<TestLists>
|
||||
<TestList name="Results Not in a List" id="8c84fa94-04c1-424b-9868-57a2d4851a1d" />
|
||||
<TestList name="All Loaded Results" id="19431567-8539-422a-85d7-44ee4e166bda" />
|
||||
</TestLists>
|
||||
<ResultSummary outcome="Completed">
|
||||
<Counters total="42" executed="42" passed="42" failed="0" error="0" timeout="0" aborted="0" inconclusive="0" passedButRunAborted="0" notRunnable="0" notExecuted="0" disconnected="0" warning="0" completed="0" inProgress="0" pending="0" />
|
||||
<Output>
|
||||
<StdOut>[xUnit.net 00:00:00.00] xUnit.net VSTest Adapter v2.8.2+699d445a1a (64-bit .NET 9.0.19)
|
||||
[xUnit.net 00:00:00.48] Discovering: JobTrackerApi.Tests
|
||||
[xUnit.net 00:00:00.62] Discovered: JobTrackerApi.Tests
|
||||
[xUnit.net 00:00:00.63] Starting: JobTrackerApi.Tests
|
||||
[xUnit.net 00:00:07.18] Finished: JobTrackerApi.Tests
|
||||
</StdOut>
|
||||
</Output>
|
||||
</ResultSummary>
|
||||
</TestRun>
|
||||
@@ -0,0 +1,81 @@
|
||||
{
|
||||
"screens": [
|
||||
{
|
||||
"width": 320,
|
||||
"language": "en",
|
||||
"mode": "light",
|
||||
"state": "documents",
|
||||
"violations": []
|
||||
},
|
||||
{
|
||||
"width": 320,
|
||||
"language": "en",
|
||||
"mode": "light",
|
||||
"state": "document-filtered",
|
||||
"violations": []
|
||||
},
|
||||
{
|
||||
"width": 320,
|
||||
"language": "en",
|
||||
"mode": "light",
|
||||
"state": "inbox",
|
||||
"violations": []
|
||||
},
|
||||
{
|
||||
"width": 320,
|
||||
"language": "en",
|
||||
"mode": "light",
|
||||
"state": "message",
|
||||
"violations": []
|
||||
},
|
||||
{
|
||||
"width": 320,
|
||||
"language": "en",
|
||||
"mode": "light",
|
||||
"state": "send-confirmation",
|
||||
"violations": []
|
||||
},
|
||||
{
|
||||
"width": 320,
|
||||
"language": "en",
|
||||
"mode": "light",
|
||||
"state": "uncertain-send",
|
||||
"violations": []
|
||||
}
|
||||
],
|
||||
"journeys": [
|
||||
{
|
||||
"width": 320,
|
||||
"language": "en",
|
||||
"mode": "light",
|
||||
"documentFilterFocusDownloadSource": "PASS",
|
||||
"inboxFocusPlainTextReplySaveExplicitConfirmUncertainNoRetry": "PASS"
|
||||
}
|
||||
],
|
||||
"errors": [],
|
||||
"unexpectedWrites": [],
|
||||
"mockedWrites": [
|
||||
{
|
||||
"width": 320,
|
||||
"language": "en",
|
||||
"mode": "light",
|
||||
"action": "saveDraft"
|
||||
},
|
||||
{
|
||||
"width": 320,
|
||||
"language": "en",
|
||||
"mode": "light",
|
||||
"action": "confirmedSendFixtureUncertain"
|
||||
}
|
||||
],
|
||||
"unavailableReads": [],
|
||||
"blockedExternal": [
|
||||
"https://fonts.googleapis.com",
|
||||
"https://fonts.googleapis.com"
|
||||
],
|
||||
"limits": [
|
||||
"Synthetic metadata/binary/mail/provider fixtures; not live storage, mailbox, OAuth or delivery.",
|
||||
"Browser covers draft save, explicit confirmation and controlled uncertain outcome only; other recovery/conflict paths remain targeted tests.",
|
||||
"No real sending, native device, final integrated security or release acceptance."
|
||||
]
|
||||
}
|
||||
|
After Width: | Height: | Size: 98 KiB |
|
After Width: | Height: | Size: 63 KiB |
|
After Width: | Height: | Size: 63 KiB |
|
After Width: | Height: | Size: 91 KiB |
|
After Width: | Height: | Size: 99 KiB |
|
After Width: | Height: | Size: 63 KiB |
|
After Width: | Height: | Size: 63 KiB |
|
After Width: | Height: | Size: 91 KiB |
|
After Width: | Height: | Size: 103 KiB |
|
After Width: | Height: | Size: 67 KiB |
|
After Width: | Height: | Size: 69 KiB |
|
After Width: | Height: | Size: 95 KiB |
|
After Width: | Height: | Size: 104 KiB |
|
After Width: | Height: | Size: 66 KiB |
|
After Width: | Height: | Size: 68 KiB |
|
After Width: | Height: | Size: 96 KiB |
|
After Width: | Height: | Size: 106 KiB |
|
After Width: | Height: | Size: 72 KiB |
|
After Width: | Height: | Size: 72 KiB |
|
After Width: | Height: | Size: 100 KiB |
|
After Width: | Height: | Size: 107 KiB |
|
After Width: | Height: | Size: 71 KiB |
|
After Width: | Height: | Size: 72 KiB |
|
After Width: | Height: | Size: 101 KiB |
|
After Width: | Height: | Size: 114 KiB |
|
After Width: | Height: | Size: 77 KiB |
|
After Width: | Height: | Size: 79 KiB |
|
After Width: | Height: | Size: 106 KiB |