commit 204824fc93cde614ff3622297ad391930c7207e1
parent a59a014b2f14cb4e3d7f144404043810808ca81c
Author: triesap <tyson@radroots.org>
Date: Tue, 2 Jun 2026 23:42:22 -0700
local_events: align order payment display
- Validate app buyer order local work through payment_display state.
- Replace no_payment validator fixtures with display-only action capability.
Diffstat:
2 files changed, 12 insertions(+), 10 deletions(-)
diff --git a/crates/local_events/src/order_work.rs b/crates/local_events/src/order_work.rs
@@ -54,9 +54,12 @@ pub fn validate_buyer_order_request_local_work_payload(
)?;
validate_bool_field(payload, &["currentness", "current"], true)?;
validate_string_field(payload, &["currentness", "source"], "app_sqlite_order")?;
- validate_bool_field(payload, &["no_payment", "payment_required"], false)?;
- validate_bool_field(payload, &["no_payment", "settlement_deferred"], true)?;
- validate_string_field(payload, &["no_payment", "payment_state"], "not_applicable")?;
+ validate_string_field(payload, &["payment_display", "state"], "not_recorded")?;
+ validate_bool_field(
+ payload,
+ &["payment_display", "allows_payment_action"],
+ false,
+ )?;
let order_id = validate_required_string(payload, &["document", "order", "order_id"])?;
let currentness_order_id = validate_required_string(payload, &["currentness", "order_id"])?;
diff --git a/crates/local_events/tests/order_work.rs b/crates/local_events/tests/order_work.rs
@@ -67,11 +67,11 @@ fn buyer_order_request_payload_accepts_explicit_unsupported_work() {
}
#[test]
-fn buyer_order_request_payload_rejects_payment_required_documents() {
+fn buyer_order_request_payload_rejects_payment_actions() {
let mut payload = supported_payload();
- payload["no_payment"]["payment_required"] = json!(true);
+ payload["payment_display"]["allows_payment_action"] = json!(true);
- assert_invalid(payload, "payment_required");
+ assert_invalid(payload, "allows_payment_action");
}
#[test]
@@ -175,10 +175,9 @@ fn supported_payload() -> Value {
"order_updated_at": "2026-05-24T12:00:00Z",
"created_at_ms": 1777777777000_i64
},
- "no_payment": {
- "payment_required": false,
- "settlement_deferred": true,
- "payment_state": "not_applicable"
+ "payment_display": {
+ "state": "not_recorded",
+ "allows_payment_action": false
},
"document": {
"version": 1,