Tests: add email-gating API coverage; robust task-uncancel seeding; re-quarantine flaky onboarding e2e
Android UI Tests / ui-tests (push) Has been cancelled
Android UI Tests / ui-tests (push) Has been cancelled
- Issue 2 (coverage gap): add HoneyDueAPITests/AuthGatingAPITests — verifies the backend's RequireVerified gate (unverified -> 403, verified -> 200) at the API layer, since UI-test mode bypasses verification. NOTE: surfaced that the gate is applied to only the share-code routes, not residence/task routes — unverified users are NOT broadly blocked (flagged for product/backend). - Issue 4: TaskCRUDUITests seedAccountPreconditions now guarantees a residence (no silent early-return), so the cancelled-task precondition always populates; XCTUnwrap replaces the misleading "not seeded" skip. The two uncancel tests now skip with the ACCURATE reason: cancelled tasks are intentionally hidden from the Tasks Kanban and the iOS Tasks view has no "show cancelled" surface (product gap). - Issue 3: re-quarantine testF110 after a hardening attempt — the register->verify transition is irreducibly flaky; coverage is redundant with OnboardingTaskCache + the F-series. Skip reason is now precise, with a TODO to stabilize the handoff. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This commit is contained in:
@@ -21,6 +21,7 @@
|
||||
91A9D5E4A93A022693888B95 /* TestDataSeeder.swift in Sources */ = {isa = PBXBuildFile; fileRef = C51B2E73D6FB0BDB53123DDC /* TestDataSeeder.swift */; };
|
||||
99FB08E574AA3B88AD73DEAC /* TestDataCleaner.swift in Sources */ = {isa = PBXBuildFile; fileRef = 1579B80B44611651771CC51A /* TestDataCleaner.swift */; };
|
||||
BEF62D0EDC3E9B922195C7ED /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 12403969C38C7CB74B1EA820 /* Foundation.framework */; };
|
||||
BF00F008D3D5E8372B0453C7 /* AuthGatingAPITests.swift in Sources */ = {isa = PBXBuildFile; fileRef = E21CAC7CEBEF38100CFF2FD2 /* AuthGatingAPITests.swift */; };
|
||||
/* End PBXBuildFile section */
|
||||
|
||||
/* Begin PBXContainerItemProxy section */
|
||||
@@ -97,6 +98,7 @@
|
||||
AD6CD907CA1045CBBC845D91 /* CompletionCardView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = CompletionCardView.swift; sourceTree = "<group>"; };
|
||||
C51B2E73D6FB0BDB53123DDC /* TestDataSeeder.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = TestDataSeeder.swift; path = HoneyDueUITests/Framework/TestDataSeeder.swift; sourceTree = "<group>"; };
|
||||
D70FEF27FDF4EFFACCE83F54 /* TestAccountAPIClient.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = TestAccountAPIClient.swift; path = HoneyDueUITests/Framework/TestAccountAPIClient.swift; sourceTree = "<group>"; };
|
||||
E21CAC7CEBEF38100CFF2FD2 /* AuthGatingAPITests.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = AuthGatingAPITests.swift; sourceTree = "<group>"; };
|
||||
ECF8E25041D46376FEC29BE2 /* SharingAPITests.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = SharingAPITests.swift; sourceTree = "<group>"; };
|
||||
/* End PBXFileReference section */
|
||||
|
||||
@@ -337,6 +339,7 @@
|
||||
isa = PBXGroup;
|
||||
children = (
|
||||
ECF8E25041D46376FEC29BE2 /* SharingAPITests.swift */,
|
||||
E21CAC7CEBEF38100CFF2FD2 /* AuthGatingAPITests.swift */,
|
||||
);
|
||||
name = HoneyDueAPITests;
|
||||
path = HoneyDueAPITests;
|
||||
@@ -702,6 +705,7 @@
|
||||
59A92CA8C3A412D8A18338C7 /* TestAccountAPIClient.swift in Sources */,
|
||||
91A9D5E4A93A022693888B95 /* TestDataSeeder.swift in Sources */,
|
||||
99FB08E574AA3B88AD73DEAC /* TestDataCleaner.swift in Sources */,
|
||||
BF00F008D3D5E8372B0453C7 /* AuthGatingAPITests.swift in Sources */,
|
||||
);
|
||||
runOnlyForDeploymentPostprocessing = 0;
|
||||
};
|
||||
|
||||
Reference in New Issue
Block a user