import R from "ramda" import { expect } from "chai" import { rules, enrichRule, findVariantsAndRecords } from "../source/engine/rules" let stateSelector = (state, name) => null describe("enrichRule", function() { it("should extract the type of the rule", function() { let rule = { nom: "retraite", cotisation: {} } expect(enrichRule(rule)).to.have.property("type", "cotisation") }) it("should load external data into the rule", function() { let data = { taux_versement_transport: { one: "two" } } let rule = { nom: "retraite", cotisation: {}, données: "taux_versement_transport" } expect(enrichRule(rule, data)).to.have.deep.property("data", { one: "two" }) }) it("should extract the dotted name of the rule", function() { let rule = { espace: "contrat salarié", nom: "CDD" } expect(enrichRule(rule)).to.have.property("name", "CDD") expect(enrichRule(rule)).to.have.property( "dottedName", "contrat salarié . CDD" ) }) it("should render Markdown in sub-questions", function() { let rule = { nom: "quoi", "sous-question": "**wut**" } expect(enrichRule(rule)).to.have.property( "subquestion", "
wut
\n" ) }) }) describe("rule checks", function() { it("most input rules should have defaults", function() { let rulesNeedingDefault = rules.filter( r => r.espace && !r.simulateur && (!r.formule || r.formule["une possibilité"]) && r.defaultValue == null ) rulesNeedingDefault.map(r => console.log('yo', r.dottedName)) expect(rulesNeedingDefault).to.be.empty }) })