MCPcopy
hub / github.com/CacheControl/json-rules-engine / advancedSetup

Function advancedSetup

test/engine-event.test.js:55–93  ·  view source on GitHub ↗

* sets up a complex rule with nested conditions

()

Source from the content-addressed store, hash-verified

53 * sets up a complex rule with nested conditions
54 */
55 function advancedSetup () {
56 const conditions = {
57 any: [
58 {
59 fact: 'age',
60 operator: 'greaterThanInclusive',
61 value: 21
62 },
63 {
64 fact: 'qualified',
65 operator: 'equal',
66 value: true
67 },
68 {
69 all: [
70 {
71 fact: 'zipCode',
72 operator: 'in',
73 value: [80211, 80403]
74 },
75 {
76 fact: 'gender',
77 operator: 'notEqual',
78 value: 'female'
79 }
80 ]
81 }
82 ]
83 }
84 engine = engineFactory()
85 const ruleOptions = { conditions, event, priority: 100 }
86 const determineDrinkingAgeRule = factories.rule(ruleOptions)
87 engine.addRule(determineDrinkingAgeRule)
88 // rule will succeed because of 'any'
89 engine.addFact('age', 10) // age fails
90 engine.addFact('qualified', false) // qualified fails.
91 engine.addFact('zipCode', 80403) // zipCode succeeds
92 engine.addFact('gender', 'male') // gender succeeds
93 }
94
95 context('engine events: simple', () => {
96 beforeEach(() => simpleSetup())

Callers 1

Calls 2

addRuleMethod · 0.80
addFactMethod · 0.45

Tested by

no test coverage detected

Used in the wild real call sites across dependent graphs

searching dependent graphs…