2018-08-16 08:09:20 +00:00
|
|
|
import { expect } from 'chai'
|
2018-09-24 16:27:43 +00:00
|
|
|
import Syso from '../source/engine/index'
|
2018-08-16 08:09:20 +00:00
|
|
|
import { propEq } from 'ramda'
|
2018-09-24 16:27:43 +00:00
|
|
|
import dedent from 'dedent-js'
|
|
|
|
console.log(Syso)
|
2018-08-16 08:09:20 +00:00
|
|
|
|
|
|
|
describe('library', function() {
|
|
|
|
it('should evaluate one target with no input data', function() {
|
|
|
|
let target = 'contrat salarié . salaire . net'
|
2018-09-24 16:27:43 +00:00
|
|
|
let evaluated = Syso.evaluate([target], {
|
2018-08-16 08:09:20 +00:00
|
|
|
'contrat salarié': { salaire: { 'brut de base': 2300 } }
|
|
|
|
})
|
|
|
|
let evaluatedTarget = evaluated.targets.find(propEq('dottedName', target))
|
|
|
|
expect(evaluatedTarget)
|
|
|
|
.to.have.property('nodeValue')
|
|
|
|
.to.be.within(1779, 1780)
|
|
|
|
})
|
2018-09-24 16:27:43 +00:00
|
|
|
|
|
|
|
it('should let the user replace the default rules', function() {
|
|
|
|
let newRules = `
|
|
|
|
- nom: yo
|
|
|
|
formule: 90890
|
|
|
|
- nom: ya
|
|
|
|
formule: yo + 1
|
|
|
|
`
|
|
|
|
|
|
|
|
let evaluated = Syso.evaluate(['ya'], {}, newRules)
|
|
|
|
|
|
|
|
expect(evaluated.targets[0].nodeValue).to.equal(90891)
|
|
|
|
})
|
2018-08-16 08:09:20 +00:00
|
|
|
})
|