Чтобы покрыть случай 'enabled'
, вам просто нужен тестовый случай, в котором x[prop]
является правдивым.
Простой способ сделать это - использовать что-то вроде 'toString'
, поскольку toString
существует накаждый объект в виде функции и функций Object.prototype.toString
оценивается как истинный.
Вот несколько упрощенный рабочий пример для демонстрации:
const expect = require('chai').expect;
const aComplexFunction = () => ({});
function abc(prop) {
const x = aComplexFunction();
let result;
if (x) {
const key = (x[prop]) ? 'enabled' : 'notEnabled';
result = `wayOfLife.${key}`;
}
return result;
};
it('will cover the enabled case', function() {
expect(abc('propThatDoesNotExist')).to.equal('wayOfLife.notEnabled'); // <= covers notEnabled
expect(abc('toString')).to.equal('wayOfLife.enabled'); // <= covers enabled
});