Skip to content

test(sap): add complex sales order audit - #467

Open
HappyDevs1 wants to merge 1 commit into
mainfrom
codex/complex-sap-sales-order-audit
Open

test(sap): add complex sales order audit#467
HappyDevs1 wants to merge 1 commit into
mainfrom
codex/complex-sap-sales-order-audit

Conversation

@HappyDevs1

Copy link
Copy Markdown
Collaborator

Summary

  • add an 81-step, read-only VA03 sales-order lifecycle audit and its recorded cassette
  • cover header values, line items, document flow, status overview, shipping, and rejection views
  • prevent hidden SAP menus and background windows behind active modals from producing false-positive assertions

Safety

The flow contains no Save, Change, Create, Delete, profile, configuration, or administration steps. It finishes by returning SAP to Easy Access.

Verification

  • real local SAP recording: 81 steps passed
  • immediate fresh replay: 81 steps passed, zero retries and no degraded selectors
  • second trace-only replay: 81 steps passed
  • negative assertion failed as expected and produced no cassette
  • focused SAP adapter tests: 20 passed
  • formatting and diff checks passed

Focused clippy is currently blocked by an unrelated existing warning in flowproof-driver/src/window.rs:180 under Rust 1.97.

@HappyDevs1
HappyDevs1 marked this pull request as ready for review August 12, 2026 07:50
Copilot AI lite review requested due to automatic review settings August 12, 2026 07:50

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Adds a long, read-only SAP GUI “audit” flow + recorded trace, and hardens the SAP COM adapter’s notion of “surface text”/“scene” so hidden menu items and background windows can’t satisfy assertions while a modal is active.

Changes:

  • Added a new 81-step VA03 sales-order lifecycle audit flow (audit-sales-order.flow.yaml) and its cassette (audit-sales-order.trace.jsonl).
  • Updated SapAppDriver surface text and scene generation to (a) ignore GuiMenu items and (b) scope output to the highest active wnd[n] to avoid false positives.
  • Added focused adapter tests covering menu exclusion/prioritization and modal-vs-background window behavior.

Reviewed changes

Copilot reviewed 3 out of 3 changed files in this pull request and generated 2 comments.

File Description
examples/sap/audit-sales-order.trace.jsonl New recorded SAP trace for the 81-step audit scenario.
examples/sap/audit-sales-order.flow.yaml New deterministic, read-only audit flow definition for VA03 sales-order lifecycle checks.
crates/flowproof-adapters/src/sap_com.rs Filters surface/scene to the active window and deprioritizes/excludes closed menu hierarchy; adds regression tests.

💡 Add a code-review agent skill or configure MCP servers for context-aware, tailored reviews. Learn more in the docs.

Comment on lines +8 to +10
name: Audit sales order lifecycle
app: sap
steps:
@@ -0,0 +1,82 @@
{"format":"flowproof-trace","version":1,"trace_id":"2fdeacb6-406d-4229-842a-d531b4433d3e","recorded_at":"2026-08-11T09:34:25Z","spec":{"name":"Audit sales order lifecycle"},"app":{"name":"sap","adapter":"sap-com","window_title":"SAP"},"env":{"os":"windows","resolution":[1920,1080]},"recording":{"format":"filmstrip/1","dir":".flowproof/recordings/2fdeacb6-406d-4229-842a-d531b4433d3e/recording"}}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants