()
| 192 | |
| 193 | #[test] |
| 194 | fn registry_replace_on_same_name() { |
| 195 | let reg = TriggerRegistry::new(); |
| 196 | reg.register(make_trigger( |
| 197 | "t1", |
| 198 | "orders", |
| 199 | true, |
| 200 | false, |
| 201 | false, |
| 202 | TriggerExecutionMode::Async, |
| 203 | )); |
| 204 | // Re-register with same name should replace. |
| 205 | let mut t = make_trigger( |
| 206 | "t1", |
| 207 | "orders", |
| 208 | false, |
| 209 | true, |
| 210 | false, |
| 211 | TriggerExecutionMode::Sync, |
| 212 | ); |
| 213 | t.execution_mode = TriggerExecutionMode::Sync; |
| 214 | reg.register(t); |
| 215 | |
| 216 | // Should match UPDATE now, not INSERT. |
| 217 | assert!(reg.get_matching(1, "orders", DmlEvent::Insert).is_empty()); |
| 218 | let matched = reg.get_matching(1, "orders", DmlEvent::Update); |
| 219 | assert_eq!(matched.len(), 1); |
| 220 | assert_eq!(matched[0].execution_mode, TriggerExecutionMode::Sync); |
| 221 | } |
| 222 | |
| 223 | #[test] |
| 224 | fn registry_unregister() { |
nothing calls this directly
no test coverage detected