import { expect } from 'chai' import { disambiguateRuleReference, ruleParents } from '../source/ruleUtils' describe('ruleParents', function() { it('should procude an array of the parents of a rule', function() { let parents = ruleParents( 'CDD . taxe . montant annuel . exonération annuelle' ) expect(parents).to.eql(['CDD . taxe . montant annuel', 'CDD . taxe', 'CDD']) }) }) describe('disambiguateRuleReference', function() { it("should disambiguate a reference to another rule in a rule, given the latter's namespace", function() { const rawRules = { CDD: { question: 'CDD ?' }, 'CDD . taxe': { formule: 'montant annuel / 12' }, 'CDD . condition': {}, 'CDD . taxe . montant annuel': { formule: '20 - exonération annuelle' }, 'CDD . taxe . montant annuel . exonération annuelle': { formule: 20 } } expect( disambiguateRuleReference( rawRules, 'CDD . taxe . montant annuel', 'exonération annuelle' ) ).to.eql('CDD . taxe . montant annuel . exonération annuelle') expect( disambiguateRuleReference( rawRules, 'CDD . taxe . montant annuel', 'condition' ) ).to.eql('CDD . condition') }) })