diff --git a/pom.xml b/pom.xml index 55185f4..6dfdafd 100644 --- a/pom.xml +++ b/pom.xml @@ -6,70 +6,17 @@ loan-pre-approval 1.0-SNAPSHOT loan-pre-approval - RHDM 7.7.1 demo - Loan Pre-approval Decision Service for Quick Loan Bank + RHDM 7.11.0 demo - Loan Pre-approval Decision Service for Quick Loan Bank - 7.33.0.Final-redhat-00003 - 7.7.1.redhat-00002 - 1.8 - 1.8 + 7.52.0.Final-redhat-00007 + 11 + 11 - - com.redhat.ba - ba-platform-bom - ${ba.version} - pom - import - - - org.kie - kie-internal - provided - - - org.kie - kie-api - provided - - - org.drools - drools-scenario-simulation-api - test - - - org.drools - drools-scenario-simulation-backend - test - - - org.drools - drools-compiler - test - - - org.drools - drools-workbench-models-guided-dtable - test - - - org.kie - kie-dmn-feel - test - - - org.kie - kie-dmn-api - test - - - org.kie - kie-dmn-core - test - diff --git a/readme.md b/readme.md index d69b486..61caf45 100644 --- a/readme.md +++ b/readme.md @@ -1,21 +1,6 @@ -# Quick Loan Bank - Loan Pre-Approval Decision Service +Quick Loan Bank Project Demo Repository +======================================= +The quick loan bank repository for importing as a project in to Red Hat Decision Manager. -This demo project showcases the different rule authoring tools used to define complexe decision logic based on [Red Hat Decision Manager 7.7](https://www.redhat.com/en/technologies/jboss-middleware/businessrules). +Intended to be used with [Red Hat Decision Manager Quick Loan Bank Demo](https://github.com/jbossdemocentral/rhdm7-qlb-loan-demo). -![qlb rhdm 7.6 demo](global/qlb_rhdm.png?raw=true) - -![qlb rhdm 7.6 decision flow](global/decision-flow.png) - -The decision logic is then deployed and exposed as a decision service. - -## Prerequisites -In order to import and deploy this demo, you need to install [Red Hat Decision Manager 7.7](https://github.com/jbossdemocentral/rhdm7-install-demo). - - -## Supporting videos - -### Import a Project -[![Import a Project](https://i.imgur.com/1UkM1kj.pngj)](https://vimeo.com/259895728 "Import a Project") - -### Build, Deploy and Test using Swagger -[![Build, Deploy and Test using Swagger](https://i.imgur.com/BreR7A7.png)](https://vimeo.com/259896609 "Build, Deploy and Test using Swagger") diff --git a/src/main/java/com/redhat/demo/qlb/.loan_application b/src/main/java/com/redhat/demo/qlb/.loan_application new file mode 100644 index 0000000..e69de29 diff --git a/src/main/java/com/redhat/demo/qlb/loan_application/.gitkeep b/src/main/java/com/redhat/demo/qlb/loan_application/.gitkeep new file mode 100644 index 0000000..e69de29 diff --git a/src/main/java/com/redhat/demo/qlb/loan_application/.model b/src/main/java/com/redhat/demo/qlb/loan_application/.model new file mode 100644 index 0000000..e69de29 diff --git a/src/main/java/com/redhat/demo/qlb/loan_application/.rules b/src/main/java/com/redhat/demo/qlb/loan_application/.rules new file mode 100644 index 0000000..e69de29 diff --git a/src/main/java/com/redhat/demo/qlb/loan_application/model/.gitkeep b/src/main/java/com/redhat/demo/qlb/loan_application/model/.gitkeep new file mode 100644 index 0000000..e69de29 diff --git a/src/main/java/com/redhat/demo/qlb/loan_application/rules/.approval b/src/main/java/com/redhat/demo/qlb/loan_application/rules/.approval new file mode 100644 index 0000000..e69de29 diff --git a/src/main/java/com/redhat/demo/qlb/loan_application/rules/.calculation b/src/main/java/com/redhat/demo/qlb/loan_application/rules/.calculation new file mode 100644 index 0000000..e69de29 diff --git a/src/main/java/com/redhat/demo/qlb/loan_application/rules/.eligibility b/src/main/java/com/redhat/demo/qlb/loan_application/rules/.eligibility new file mode 100644 index 0000000..e69de29 diff --git a/src/main/java/com/redhat/demo/qlb/loan_application/rules/.gitkeep b/src/main/java/com/redhat/demo/qlb/loan_application/rules/.gitkeep new file mode 100644 index 0000000..e69de29 diff --git a/src/main/java/com/redhat/demo/qlb/loan_application/rules/approval/.gitkeep b/src/main/java/com/redhat/demo/qlb/loan_application/rules/approval/.gitkeep new file mode 100644 index 0000000..e69de29 diff --git a/src/main/java/com/redhat/demo/qlb/loan_application/rules/calculation/.gitkeep b/src/main/java/com/redhat/demo/qlb/loan_application/rules/calculation/.gitkeep new file mode 100644 index 0000000..e69de29 diff --git a/src/main/java/com/redhat/demo/qlb/loan_application/rules/eligibility/.gitkeep b/src/main/java/com/redhat/demo/qlb/loan_application/rules/eligibility/.gitkeep new file mode 100644 index 0000000..e69de29 diff --git a/src/main/resources/com/redhat/demo/qlb/.loan_application b/src/main/resources/com/redhat/demo/qlb/.loan_application new file mode 100644 index 0000000..e69de29 diff --git a/src/main/resources/com/redhat/demo/qlb/loan_application/.gitkeep b/src/main/resources/com/redhat/demo/qlb/loan_application/.gitkeep new file mode 100644 index 0000000..e69de29 diff --git a/src/main/resources/com/redhat/demo/qlb/loan_application/.model b/src/main/resources/com/redhat/demo/qlb/loan_application/.model new file mode 100644 index 0000000..e69de29 diff --git a/src/main/resources/com/redhat/demo/qlb/loan_application/.rules b/src/main/resources/com/redhat/demo/qlb/loan_application/.rules new file mode 100644 index 0000000..e69de29 diff --git a/src/main/resources/com/redhat/demo/qlb/loan_application/model/.gitkeep b/src/main/resources/com/redhat/demo/qlb/loan_application/model/.gitkeep new file mode 100644 index 0000000..e69de29 diff --git a/src/main/resources/com/redhat/demo/qlb/loan_application/rules/.approval b/src/main/resources/com/redhat/demo/qlb/loan_application/rules/.approval new file mode 100644 index 0000000..e69de29 diff --git a/src/main/resources/com/redhat/demo/qlb/loan_application/rules/.calculation b/src/main/resources/com/redhat/demo/qlb/loan_application/rules/.calculation new file mode 100644 index 0000000..e69de29 diff --git a/src/main/resources/com/redhat/demo/qlb/loan_application/rules/.eligibility b/src/main/resources/com/redhat/demo/qlb/loan_application/rules/.eligibility new file mode 100644 index 0000000..e69de29 diff --git a/src/main/resources/com/redhat/demo/qlb/loan_application/rules/.gitkeep b/src/main/resources/com/redhat/demo/qlb/loan_application/rules/.gitkeep new file mode 100644 index 0000000..e69de29 diff --git a/src/main/resources/com/redhat/demo/qlb/loan_application/rules/WorkDefinitions.wid b/src/main/resources/com/redhat/demo/qlb/loan_application/rules/WorkDefinitions.wid new file mode 100644 index 0000000..6a0a0c8 --- /dev/null +++ b/src/main/resources/com/redhat/demo/qlb/loan_application/rules/WorkDefinitions.wid @@ -0,0 +1,93 @@ +[ + [ + "name" : "Email", + "parameters" : [ + "From" : new StringDataType(), + "To" : new StringDataType(), + "Subject" : new StringDataType(), + "Body" : new StringDataType() + ], + "displayName" : "Email", + "icon" : "defaultemailicon.gif" + ], + + [ + "name" : "Log", + "parameters" : [ + "Message" : new StringDataType() + ], + "displayName" : "Log", + "icon" : "defaultlogicon.gif" + ], + + [ + "name" : "WebService", + "parameters" : [ + "Url" : new StringDataType(), + "Namespace" : new StringDataType(), + "Interface" : new StringDataType(), + "Operation" : new StringDataType(), + "Parameter" : new StringDataType(), + "Endpoint" : new StringDataType(), + "Mode" : new StringDataType() + ], + "results" : [ + "Result" : new ObjectDataType(), + ], + "displayName" : "WS", + "icon" : "defaultservicenodeicon.png" + ], + + [ + "name" : "Rest", + "parameters" : [ + "ContentData" : new StringDataType(), + "Url" : new StringDataType(), + "Method" : new StringDataType(), + "ConnectTimeout" : new StringDataType(), + "ReadTimeout" : new StringDataType(), + "Username" : new StringDataType(), + "Password" : new StringDataType() + ], + "results" : [ + "Result" : new ObjectDataType(), + ], + "displayName" : "REST", + "icon" : "defaultservicenodeicon.png" + ], + + [ + "name" : "BusinessRuleTask", + "parameters" : [ + "Language" : new StringDataType(), + "KieSessionName" : new StringDataType(), + "KieSessionType" : new StringDataType() + ], + "displayName" : "Business Rule Task", + "icon" : "defaultbusinessrulesicon.png", + "category" : "Decision tasks" + ], + + [ + "name" : "DecisionTask", + "parameters" : [ + "Language" : new StringDataType(), + "Namespace" : new StringDataType(), + "Model" : new StringDataType(), + "Decision" : new StringDataType() + ], + "displayName" : "Decision Task", + "icon" : "defaultdecisionicon.png", + "category" : "Decision tasks" + ], + + [ + "name" : "Milestone", + "parameters" : [ + "Condition" : new StringDataType() + ], + "displayName" : "Milestone", + "icon" : "defaultmilestoneicon.png", + "category" : "Milestone" + ] +] diff --git a/src/main/resources/com/redhat/demo/qlb/loan_application/rules/approval/.gitkeep b/src/main/resources/com/redhat/demo/qlb/loan_application/rules/approval/.gitkeep new file mode 100644 index 0000000..e69de29 diff --git a/src/main/resources/com/redhat/demo/qlb/loan_application/rules/calculation/.gitkeep b/src/main/resources/com/redhat/demo/qlb/loan_application/rules/calculation/.gitkeep new file mode 100644 index 0000000..e69de29 diff --git a/src/main/resources/com/redhat/demo/qlb/loan_application/rules/eligibility/.gitkeep b/src/main/resources/com/redhat/demo/qlb/loan_application/rules/eligibility/.gitkeep new file mode 100644 index 0000000..e69de29 diff --git a/src/test/java/com/redhat/demo/qlb/.loan_application b/src/test/java/com/redhat/demo/qlb/.loan_application new file mode 100644 index 0000000..e69de29 diff --git a/src/test/java/com/redhat/demo/qlb/loan_application/.gitkeep b/src/test/java/com/redhat/demo/qlb/loan_application/.gitkeep new file mode 100644 index 0000000..e69de29 diff --git a/src/test/java/com/redhat/demo/qlb/loan_application/.model b/src/test/java/com/redhat/demo/qlb/loan_application/.model new file mode 100644 index 0000000..e69de29 diff --git a/src/test/java/com/redhat/demo/qlb/loan_application/.rules b/src/test/java/com/redhat/demo/qlb/loan_application/.rules new file mode 100644 index 0000000..e69de29 diff --git a/src/test/java/com/redhat/demo/qlb/loan_application/model/.gitkeep b/src/test/java/com/redhat/demo/qlb/loan_application/model/.gitkeep new file mode 100644 index 0000000..e69de29 diff --git a/src/test/java/com/redhat/demo/qlb/loan_application/rules/.approval b/src/test/java/com/redhat/demo/qlb/loan_application/rules/.approval new file mode 100644 index 0000000..e69de29 diff --git a/src/test/java/com/redhat/demo/qlb/loan_application/rules/.calculation b/src/test/java/com/redhat/demo/qlb/loan_application/rules/.calculation new file mode 100644 index 0000000..e69de29 diff --git a/src/test/java/com/redhat/demo/qlb/loan_application/rules/.eligibility b/src/test/java/com/redhat/demo/qlb/loan_application/rules/.eligibility new file mode 100644 index 0000000..e69de29 diff --git a/src/test/java/com/redhat/demo/qlb/loan_application/rules/.gitkeep b/src/test/java/com/redhat/demo/qlb/loan_application/rules/.gitkeep new file mode 100644 index 0000000..e69de29 diff --git a/src/test/java/com/redhat/demo/qlb/loan_application/rules/approval/.gitkeep b/src/test/java/com/redhat/demo/qlb/loan_application/rules/approval/.gitkeep new file mode 100644 index 0000000..e69de29 diff --git a/src/test/java/com/redhat/demo/qlb/loan_application/rules/calculation/.gitkeep b/src/test/java/com/redhat/demo/qlb/loan_application/rules/calculation/.gitkeep new file mode 100644 index 0000000..e69de29 diff --git a/src/test/java/com/redhat/demo/qlb/loan_application/rules/eligibility/.gitkeep b/src/test/java/com/redhat/demo/qlb/loan_application/rules/eligibility/.gitkeep new file mode 100644 index 0000000..e69de29 diff --git a/src/test/resources/com/redhat/demo/qlb/.loan_application b/src/test/resources/com/redhat/demo/qlb/.loan_application new file mode 100644 index 0000000..e69de29 diff --git a/src/test/resources/com/redhat/demo/qlb/loan_application/.gitkeep b/src/test/resources/com/redhat/demo/qlb/loan_application/.gitkeep new file mode 100644 index 0000000..e69de29 diff --git a/src/test/resources/com/redhat/demo/qlb/loan_application/.model b/src/test/resources/com/redhat/demo/qlb/loan_application/.model new file mode 100644 index 0000000..e69de29 diff --git a/src/test/resources/com/redhat/demo/qlb/loan_application/.rules b/src/test/resources/com/redhat/demo/qlb/loan_application/.rules new file mode 100644 index 0000000..e69de29 diff --git a/src/test/resources/com/redhat/demo/qlb/loan_application/model/.gitkeep b/src/test/resources/com/redhat/demo/qlb/loan_application/model/.gitkeep new file mode 100644 index 0000000..e69de29 diff --git a/src/test/resources/com/redhat/demo/qlb/loan_application/rules/.approval b/src/test/resources/com/redhat/demo/qlb/loan_application/rules/.approval new file mode 100644 index 0000000..e69de29 diff --git a/src/test/resources/com/redhat/demo/qlb/loan_application/rules/.calculation b/src/test/resources/com/redhat/demo/qlb/loan_application/rules/.calculation new file mode 100644 index 0000000..e69de29 diff --git a/src/test/resources/com/redhat/demo/qlb/loan_application/rules/.eligibility b/src/test/resources/com/redhat/demo/qlb/loan_application/rules/.eligibility new file mode 100644 index 0000000..e69de29 diff --git a/src/test/resources/com/redhat/demo/qlb/loan_application/rules/.gitkeep b/src/test/resources/com/redhat/demo/qlb/loan_application/rules/.gitkeep new file mode 100644 index 0000000..e69de29 diff --git a/src/test/resources/com/redhat/demo/qlb/loan_application/rules/approval/.gitkeep b/src/test/resources/com/redhat/demo/qlb/loan_application/rules/approval/.gitkeep new file mode 100644 index 0000000..e69de29 diff --git a/src/test/resources/com/redhat/demo/qlb/loan_application/rules/calculation/.gitkeep b/src/test/resources/com/redhat/demo/qlb/loan_application/rules/calculation/.gitkeep new file mode 100644 index 0000000..e69de29 diff --git a/src/test/resources/com/redhat/demo/qlb/loan_application/rules/eligibility/.gitkeep b/src/test/resources/com/redhat/demo/qlb/loan_application/rules/eligibility/.gitkeep new file mode 100644 index 0000000..e69de29 diff --git a/src/test/resources/com/redhat/demo/qlb/loan_application/rules/eligibility/interest-calculation-test.scesim b/src/test/resources/com/redhat/demo/qlb/loan_application/rules/eligibility/interest-calculation-test.scesim new file mode 100644 index 0000000..5a9ee2f --- /dev/null +++ b/src/test/resources/com/redhat/demo/qlb/loan_application/rules/eligibility/interest-calculation-test.scesim @@ -0,0 +1,1048 @@ + + + + + + + + Index + OTHER + + + # + java.lang.Integer + + java.lang.Integer + # + NOT_EXPRESSION + 70.0 + + + + + Description + OTHER + + + Scenario description + java.lang.String + + java.lang.String + Scenario description + NOT_EXPRESSION + 300.0 + + + + + Loan + + + amount + + + + 1|1 + GIVEN + + + 1|1 + com.redhat.demo.qlb.loan_pre_approval.model.Loan + + long + Loan + amount + NOT_EXPRESSION + 337.66666666666663 + + + + + Loan + + + duration + + + + 1601931215332 + GIVEN + + + 1|1 + com.redhat.demo.qlb.loan_pre_approval.model.Loan + + int + Loan + duration + NOT_EXPRESSION + 337.66666666666663 + + + + + Loan + + + interestRate + + + + 1|2 + EXPECT + + + 1|1 + com.redhat.demo.qlb.loan_pre_approval.model.Loan + + double + Loan + interestRate + NOT_EXPRESSION + 337.66666666666663 + + + + + + + + + Scenario description + java.lang.String + + + Description + OTHER + + Less than 300k, 7y + + + + # + java.lang.Integer + + + Index + OTHER + + 1 + + + + 1|1 + com.redhat.demo.qlb.loan_pre_approval.model.Loan + + + 1|1 + GIVEN + + 299999 + + + + 1|1 + com.redhat.demo.qlb.loan_pre_approval.model.Loan + + + 1601931215332 + GIVEN + + 7 + + + + 1|1 + com.redhat.demo.qlb.loan_pre_approval.model.Loan + + + 1|2 + EXPECT + + 0.47 + + + + + + + + Scenario description + java.lang.String + + + Description + OTHER + + Large (Between 300k and 600k ) - 7 years + + + + # + java.lang.Integer + + + Index + OTHER + + 2 + + + + 1|1 + com.redhat.demo.qlb.loan_pre_approval.model.Loan + + + 1|1 + GIVEN + + 500000 + + + + 1|1 + com.redhat.demo.qlb.loan_pre_approval.model.Loan + + + 1601931215332 + GIVEN + + 7 + + + + 1|1 + com.redhat.demo.qlb.loan_pre_approval.model.Loan + + + 1|2 + EXPECT + + 0.70 + + + + + + + + Scenario description + java.lang.String + + + Description + OTHER + + Very large (+600k) - 7 years + + + + # + java.lang.Integer + + + Index + OTHER + + 3 + + + + 1|1 + com.redhat.demo.qlb.loan_pre_approval.model.Loan + + + 1|1 + GIVEN + + 600001 + + + + 1|1 + com.redhat.demo.qlb.loan_pre_approval.model.Loan + + + 1601931215332 + GIVEN + + 7 + + + + 1|1 + com.redhat.demo.qlb.loan_pre_approval.model.Loan + + + 1|2 + EXPECT + + 0.98 + + + + + + + + Scenario description + java.lang.String + + + Description + OTHER + + Small - 10 years + + + + # + java.lang.Integer + + + Index + OTHER + + 4 + + + + 1|1 + com.redhat.demo.qlb.loan_pre_approval.model.Loan + + + 1|1 + GIVEN + + 299999 + + + + 1|1 + com.redhat.demo.qlb.loan_pre_approval.model.Loan + + + 1601931215332 + GIVEN + + 10 + + + + 1|1 + com.redhat.demo.qlb.loan_pre_approval.model.Loan + + + 1|2 + EXPECT + + 0.72 + + + + + + + + Scenario description + java.lang.String + + + Description + OTHER + + Large - 10 years + + + + # + java.lang.Integer + + + Index + OTHER + + 5 + + + + 1|1 + com.redhat.demo.qlb.loan_pre_approval.model.Loan + + + 1|1 + GIVEN + + 500000 + + + + 1|1 + com.redhat.demo.qlb.loan_pre_approval.model.Loan + + + 1601931215332 + GIVEN + + 10 + + + + 1|1 + com.redhat.demo.qlb.loan_pre_approval.model.Loan + + + 1|2 + EXPECT + + 0.90 + + + + + + + + Scenario description + java.lang.String + + + Description + OTHER + + Very large - 10 years + + + + # + java.lang.Integer + + + Index + OTHER + + 6 + + + + 1|1 + com.redhat.demo.qlb.loan_pre_approval.model.Loan + + + 1|1 + GIVEN + + 600001 + + + + 1|1 + com.redhat.demo.qlb.loan_pre_approval.model.Loan + + + 1601931215332 + GIVEN + + 10 + + + + 1|1 + com.redhat.demo.qlb.loan_pre_approval.model.Loan + + + 1|2 + EXPECT + + 1.10 + + + + + + + + Scenario description + java.lang.String + + + Description + OTHER + + Small - 12 years + + + + # + java.lang.Integer + + + Index + OTHER + + 7 + + + + 1|1 + com.redhat.demo.qlb.loan_pre_approval.model.Loan + + + 1|1 + GIVEN + + 299999 + + + + 1|1 + com.redhat.demo.qlb.loan_pre_approval.model.Loan + + + 1601931215332 + GIVEN + + 12 + + + + 1|1 + com.redhat.demo.qlb.loan_pre_approval.model.Loan + + + 1|2 + EXPECT + + 0.87 + + + + + + + + Scenario description + java.lang.String + + + Description + OTHER + + Large - 12 years + + + + # + java.lang.Integer + + + Index + OTHER + + 8 + + + + 1|1 + com.redhat.demo.qlb.loan_pre_approval.model.Loan + + + 1|1 + GIVEN + + 500000 + + + + 1|1 + com.redhat.demo.qlb.loan_pre_approval.model.Loan + + + 1601931215332 + GIVEN + + 12 + + + + 1|1 + com.redhat.demo.qlb.loan_pre_approval.model.Loan + + + 1|2 + EXPECT + + 1.06 + + + + + + + + Scenario description + java.lang.String + + + Description + OTHER + + Very large - 12 years + + + + # + java.lang.Integer + + + Index + OTHER + + 9 + + + + 1|1 + com.redhat.demo.qlb.loan_pre_approval.model.Loan + + + 1|1 + GIVEN + + 600001 + + + + 1|1 + com.redhat.demo.qlb.loan_pre_approval.model.Loan + + + 1601931215332 + GIVEN + + 12 + + + + 1|1 + com.redhat.demo.qlb.loan_pre_approval.model.Loan + + + 1|2 + EXPECT + + 1.31 + + + + + + + + Scenario description + java.lang.String + + + Description + OTHER + + Small - 15 years + + + + # + java.lang.Integer + + + Index + OTHER + + 10 + + + + 1|1 + com.redhat.demo.qlb.loan_pre_approval.model.Loan + + + 1|1 + GIVEN + + 299999 + + + + 1|1 + com.redhat.demo.qlb.loan_pre_approval.model.Loan + + + 1601931215332 + GIVEN + + 15 + + + + 1|1 + com.redhat.demo.qlb.loan_pre_approval.model.Loan + + + 1|2 + EXPECT + + 1.06 + + + + + + + + Scenario description + java.lang.String + + + Description + OTHER + + Large - 15 years + + + + # + java.lang.Integer + + + Index + OTHER + + 11 + + + + 1|1 + com.redhat.demo.qlb.loan_pre_approval.model.Loan + + + 1|1 + GIVEN + + 500000 + + + + 1|1 + com.redhat.demo.qlb.loan_pre_approval.model.Loan + + + 1601931215332 + GIVEN + + 15 + + + + 1|1 + com.redhat.demo.qlb.loan_pre_approval.model.Loan + + + 1|2 + EXPECT + + 1.20 + + + + + + + + Scenario description + java.lang.String + + + Description + OTHER + + Very large - 15 years + + + + # + java.lang.Integer + + + Index + OTHER + + 12 + + + + 1|1 + com.redhat.demo.qlb.loan_pre_approval.model.Loan + + + 1|1 + GIVEN + + 600001 + + + + 1|1 + com.redhat.demo.qlb.loan_pre_approval.model.Loan + + + 1601931215332 + GIVEN + + 15 + + + + 1|1 + com.redhat.demo.qlb.loan_pre_approval.model.Loan + + + 1|2 + EXPECT + + 1.45 + + + + + + + + Scenario description + java.lang.String + + + Description + OTHER + + Small - 20 years + + + + # + java.lang.Integer + + + Index + OTHER + + 13 + + + + 1|1 + com.redhat.demo.qlb.loan_pre_approval.model.Loan + + + 1|1 + GIVEN + + 299999 + + + + 1|1 + com.redhat.demo.qlb.loan_pre_approval.model.Loan + + + 1601931215332 + GIVEN + + 20 + + + + 1|1 + com.redhat.demo.qlb.loan_pre_approval.model.Loan + + + 1|2 + EXPECT + + 1.25 + + + + + + + + Scenario description + java.lang.String + + + Description + OTHER + + Large - 20 years + + + + # + java.lang.Integer + + + Index + OTHER + + 14 + + + + 1|1 + com.redhat.demo.qlb.loan_pre_approval.model.Loan + + + 1|1 + GIVEN + + 500000 + + + + 1|1 + com.redhat.demo.qlb.loan_pre_approval.model.Loan + + + 1601931215332 + GIVEN + + 20 + + + + 1|1 + com.redhat.demo.qlb.loan_pre_approval.model.Loan + + + 1|2 + EXPECT + + 1.39 + + + + + + + + Scenario description + java.lang.String + + + Description + OTHER + + Very large - 20 years + + + + # + java.lang.Integer + + + Index + OTHER + + 15 + + + + 1|1 + com.redhat.demo.qlb.loan_pre_approval.model.Loan + + + 1|1 + GIVEN + + 600001 + + + + 1|1 + com.redhat.demo.qlb.loan_pre_approval.model.Loan + + + 1601931215332 + GIVEN + + 20 + + + + 1|1 + com.redhat.demo.qlb.loan_pre_approval.model.Loan + + + 1|2 + EXPECT + + 1.65 + + + + + + + + + + + + 1|1 + GIVEN + + + Empty + java.lang.Void + + java.lang.Void + INSTANCE 1 + PROPERTY 1 + NOT_EXPRESSION + 114.0 + + + + + + + + + Empty + java.lang.Void + + + 1|1 + GIVEN + + + + + + + + RULE + calculation-rules + false + false + + + + + com.redhat.demo.qlb.loan_application.model.Applicant + + + com.redhat.demo.qlb.loan_pre_approval.model.Loan + + + + diff --git a/src/test/resources/com/redhat/demo/qlb/loan_application/rules/eligibility/test-eligibility.scenario b/src/test/resources/com/redhat/demo/qlb/loan_application/rules/eligibility/test-eligibility.scenario new file mode 100644 index 0000000..3cc98eb --- /dev/null +++ b/src/test/resources/com/redhat/demo/qlb/loan_application/rules/eligibility/test-eligibility.scenario @@ -0,0 +1,155 @@ + + test eligibility.scenario + 100000 + + + + Applicant + + + age + 17 + 4 + + + eligible + true + 1 + + + applicant + false + + + eligibility-rules + + + Loan + + loan + false + + + 37 + 1 + + + + + eligible + false + false + true + [applicant] field [eligible] was [false]. + == + 0 + + + applicant + false + + + + + approved + false + true + [loan] field [approved] was [false]. + == + 0 + + + loan + false + + + Applicant + + + age + 18 + 4 + + + eligible + true + 1 + + + applicant + true + + + 3 + 0 + + + + + eligible + true + false + true + [applicant] field [eligible] was [true]. + == + 0 + + + applicant + false + + + Applicant + + + eligible + true + 1 + + + age + 71 + 4 + + + applicant + true + + + 11 + 1 + + + + + eligible + false + true + true + [applicant] field [eligible] was [false]. + == + 0 + + + applicant + false + + + 2018-08-27 15:17:57.337 UTC + + false + com.redhat.demo.qlb.loan_application + + + + com.redhat.demo.qlb.loan_application.model.Applicant + + + com.redhat.demo.qlb.loan_application.model.Loan + + + + + statef-session + + \ No newline at end of file