UNPKG

sharec-schema

Version:

Utilities for configuration files merge

58 lines (48 loc) 1.36 kB
const { fixtures } = require('testUtils') const ruleAtom = require('../rule') describe('atoms > rule', () => { const eslintRuleFxt = fixtures('rule/json/00-eslint', 'map') it('should return current if upcoming is not passed', () => { const result = ruleAtom({ current: eslintRuleFxt.current }) expect(result).toEqual(eslintRuleFxt.current) }) it('should return upcoming if current is not passed', () => { const result = ruleAtom({ upcoming: eslintRuleFxt.upcoming }) expect(result).toEqual(eslintRuleFxt.upcoming) }) it('should merge rules', () => { const result = ruleAtom({ current: eslintRuleFxt.current, upcoming: eslintRuleFxt.upcoming, }) expect(result).toEqual(eslintRuleFxt.result) }) it('should handle primitive types', () => { expect( ruleAtom({ current: 0, upcoming: 1, }), ).toEqual(1) expect( ruleAtom({ current: 'error', upcoming: 'warning', }), ).toEqual('warning') }) it('should rewrite rule on types mismatching', () => { expect( ruleAtom({ current: eslintRuleFxt.current, upcoming: 'error', }), ).toEqual('error') expect( ruleAtom({ current: 'error', upcoming: eslintRuleFxt.upcoming, }), ).toEqual(eslintRuleFxt.upcoming) }) })