✅ Test : pas de variables d'entrée sans défaut
parent
74e1aacab9
commit
7955ec1580
|
@ -26,9 +26,10 @@ export let enrichRule = (rule, sharedData = {}) => {
|
|||
name
|
||||
].join(' . ') : name,
|
||||
subquestionMarkdown = rule['sous-question'],
|
||||
subquestion = subquestionMarkdown && marked(subquestionMarkdown)
|
||||
subquestion = subquestionMarkdown && marked(subquestionMarkdown),
|
||||
defaultValue = rule['par défaut']
|
||||
|
||||
return {...rule, type, name, title, ns, data, dottedName, subquestion}
|
||||
return {...rule, type, name, title, ns, data, dottedName, subquestion, defaultValue}
|
||||
}
|
||||
|
||||
export let hasKnownRuleType = rule => rule && enrichRule(rule).type
|
||||
|
|
|
@ -1,31 +1,55 @@
|
|||
import R from 'ramda'
|
||||
import {expect} from 'chai'
|
||||
import {rules, enrichRule, findVariantsAndRecords} from '../source/engine/rules'
|
||||
import R from "ramda"
|
||||
import { expect } from "chai"
|
||||
import {
|
||||
rules,
|
||||
enrichRule,
|
||||
findVariantsAndRecords
|
||||
} from "../source/engine/rules"
|
||||
|
||||
let stateSelector = (state, name) => null
|
||||
|
||||
describe('enrichRule', function() {
|
||||
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 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 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 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",
|
||||
"<p><strong>wut</strong></p>\n"
|
||||
)
|
||||
})
|
||||
})
|
||||
|
||||
it('should render Markdown in sub-questions', function() {
|
||||
let rule = {nom: 'quoi', "sous-question":"**wut**"}
|
||||
expect(enrichRule(rule)).to.have.property('subquestion','<p><strong>wut</strong></p>\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
|
||||
})
|
||||
})
|
||||
|
|
Loading…
Reference in New Issue