[Spend Request tests] Verify indirect updates and header totals - #11454
Draft
Prangshuman Das (t-prda) wants to merge 19 commits into
Draft
Prangshuman Das (t-prda) wants to merge 19 commits into
Prangshuman Das (t-prda) wants to merge 19 commits into
Conversation
Delegate only Validate-plus-Modify to internal codeunit6841 with Spend Request Modify permission. Preserve caller indirect rights, zero-delta behavior and status guards without broad table self-permission or new production grants. Cover successive page updates, absent header Modify permission, Released status and real detail-deletion deltas. Re-enable the two owned permission regressions; compile/runtime validation pending CI. AB#646383 Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> Copilot-Session: 3952f078-a881-4da8-ad96-13b727e48a91
…ring Resolve the exclusion manifest as the parent list minus only the two header-update methods owned by this layer. All22 original Expense exclusions remain. AB#646383 Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> Copilot-Session: 3952f078-a881-4da8-ad96-13b727e48a91
Prangshuman Das (t-prda)
added this pull request to stack #11232
September 14, 2026 22:40
This was referenced Sep 14, 2026
Match the observed IndirectModify denial and verify persisted initial amounts before restricting permissions. Refresh the header before setting Released so the fixture does not overwrite the detail-triggered total. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> Copilot-Session: 3952f078-a881-4da8-ad96-13b727e48a91
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> Copilot-Session: 3952f078-a881-4da8-ad96-13b727e48a91
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> Copilot-Session: 3952f078-a881-4da8-ad96-13b727e48a91
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> Copilot-Session: 3952f078-a881-4da8-ad96-13b727e48a91
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> Copilot-Session: 3952f078-a881-4da8-ad96-13b727e48a91
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> Copilot-Session: 3952f078-a881-4da8-ad96-13b727e48a91
Anders (AndersLarsenMicrosoft)
deployed
to
triage
September 17, 2026 09:09 — with
GitHub Actions
Active
Contributor
|
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> Copilot-Session: 3952f078-a881-4da8-ad96-13b727e48a91
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> Copilot-Session: 3952f078-a881-4da8-ad96-13b727e48a91
Prangshuman Das (t-prda)
removed this pull request from stack #11232
September 24, 2026 15:27
Prangshuman Das (t-prda)
added this pull request to stack #11863
September 24, 2026 15:27
…ructure Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> Copilot-Session: 3952f078-a881-4da8-ad96-13b727e48a91
Prangshuman Das (t-prda)
removed this pull request from stack #11863
September 25, 2026 08:46
Prangshuman Das (t-prda)
added this pull request to stack #11893
September 25, 2026 08:47
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> Copilot-Session: 3952f078-a881-4da8-ad96-13b727e48a91
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> Copilot-Session: 3952f078-a881-4da8-ad96-13b727e48a91
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> Copilot-Session: 3952f078-a881-4da8-ad96-13b727e48a91
Contributor
|
Issue #11561 is not valid. Please make sure you link an issue that exists, is open and is approved. |
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> Copilot-Session: 3952f078-a881-4da8-ad96-13b727e48a91
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> Copilot-Session: 3952f078-a881-4da8-ad96-13b727e48a91
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> Copilot-Session: 3952f078-a881-4da8-ad96-13b727e48a91
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> Copilot-Session: 3952f078-a881-4da8-ad96-13b727e48a91
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> Copilot-Session: 3952f078-a881-4da8-ad96-13b727e48a91
This branch was successfully deployed
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Scope
AB#646383
Indirect-update regression layer above #11453 in native stack #11893.
The production permission fix is now upstream. Retain main's Spend Request table permission and
AddToTotalExpectedAmountimplementation unchanged. The previously proposed helper codeunit/delegation has been removed as redundant.This PR now changes only tests, a test-only permission set and two exclusion entries:
D365BasicCanUpdateTravelRequestDetailsIndirectlyandExpenseAgentCanUpdateTravelRequestDetailsIndirectly.All upstream Entra tests/helpers are retained. No production role changes, SUPER workaround, table-permission rollback or weakened assertions are introduced. Incorrect AI-feature labels were removed.
Validation
Exact parent ancestry, file scope, whitespace and exclusion ownership checks pass. This layer's added/removed source lines are unchanged relative to its refreshed parent. Upstream changes are inherited through the main merge, not reverted. The final exact-head cumulative artifact evidence below validates the current implementation; older evidence remains historical. Existing excluded PDF, IN/RU gaps and tolerated-native distinctions remain; no absent/excluded case is claimed passing.
Current checkpoint
Head
da6d82d6c8cf7c64bbd7355ca0acab28f0d5e28a, tree47dd9e6aa7998a3268d1fea029285e4c75299e53.Merged main baseline remains
0a602a2481c93ebfe7b1d27d6016fb9926c42111(permission cleanup from PR 11561). No additional main merge or code changes were made during finalization. Oldb195c7a/4eef8actree-equality claims remain obsolete after the intentional baseline/auth changes.Verified AL compile/publish/test run 36162564729 succeeded, attempt 2, at exact validation head
da6d82d6c8cf7c64bbd7355ca0acab28f0d5e28a. 113/113 test jobs and 113/113 cleanup steps succeeded. 113/113 credential-removal steps also succeeded.W1 artifacts verify 11 auth/URL methods + 876 re-enabled API methods + the single CU139496 HTTP scenario, plus 59 owned methods (47 API, 12 Expense), 22 permission methods, 74 SpendRequest methods (9 excluded), and 31 BaseApp methods.
Local Pester at the applicable checkpoint: 106 passed, zero failed/skipped. PowerShell run 36162564206 succeeded, attempt 2. Its earlier analyzer timeout was superseded by the single authorized successful retry; this is not a claim that the timed-out attempt passed.
Validation limits
For uptake/full, CU139496
MicrosoftAuthenticationRespectsServerAuthModeis verified in the actual UserPassword fixture (401/200/401). The Windows 200/200/200 expectations are implemented but Windows runtime remains unverified; no foreign local NST was used. Successful GitHub runs do not establish universal native NAV coverage. Excluded PDF cases, country-specific absent/excluded cases and tolerated-native distinctions are not claimed passing. No PR has been merged or auto-merged; validation drafts remain Do Not Merge outside stack #11893.Targeted country evidence
Final full-stack artifacts at
da6d82d6c8cf7c64bbd7355ca0acab28f0d5e28averify IT 3/3 (Italian discount1 + quote dates2), CZ 14/14 (journal numbering2 + VAT12), AU 22/22 (cancellation10 + VAT12). Each listed method passed exactly once in its country artifact from run36162564729. These are targeted country checks, not a claim about excluded PDF/native cases or Windows authentication.