It is very easy to write incomplete assertions when using some test frameworks. This rule enforces complete Chai assertions in the following cases:

In such cases, what is intended to be a test doesn’t actually verify anything

Noncompliant Code Example

const assert = require('chai').assert;
const expect = require('chai').expect;

describe("incomplete assertions", function() {
    const value = 42;

    it("uses chai 'assert'", function() {
        assert.fail;  // Noncompliant
    });

    it("uses chai 'expect'", function() {
        expect(1 == 1);  // Noncompliant
        expect(value.toString).to.throw;  // Noncompliant
    });
});

Compliant Solution

const assert = require('chai').assert;
const expect = require('chai').expect;

describe("incomplete assertions", function() {
    const value = 42;

    it("uses chai 'assert'", function() {
        assert.fail();
    });

    it("uses chai 'expect'", function() {
        expect(1).to.equal(1);
        expect(value.toString).throw(TypeError);
    });
});