더북(TheBook)
describe('v8 PasswordVerifier', () => {
    describe('with a failing rule', () => {
        it('has an error message based on the rule.reason', () => {
            const verifier = makeVerifierWithFailedRule('fake reason');
            const errors = verifier.verify('any input');
            expect(errors[0]).toContain('fake reason');
        });
        it('has exactly one error', () => {
            const verifier = makeVerifierWithFailedRule('fake reason');
            const errors = verifier.verify('any input');
            expect(errors.length).toBe(1);
        });
    });
    describe('with a passing rule', () => {
        it('has no errors', () => {
            const verifier = makeVerifierWithPassingRule();
            const errors = verifier.verify('any input');
            expect(errors.length).toBe(0);
        });
    });