From adc3613728460576279293cd85c3b8427682c073 Mon Sep 17 00:00:00 2001 From: Thomas Allmer Date: Sun, 14 Jul 2019 20:21:24 +0200 Subject: [PATCH] chore(validate): add tests for state css classes --- packages/validate/test/ValidateMixin.test.js | 52 ++++++++++++++++++++ 1 file changed, 52 insertions(+) diff --git a/packages/validate/test/ValidateMixin.test.js b/packages/validate/test/ValidateMixin.test.js index 99dd36d44..3b1035977 100644 --- a/packages/validate/test/ValidateMixin.test.js +++ b/packages/validate/test/ValidateMixin.test.js @@ -143,6 +143,58 @@ describe('ValidateMixin', () => { expect(otherValidatorSpy.calledWith('foo')).to.equal(true); }); + // classes are added only for backward compatibility - they are deprecated + it('sets a class "state-(error|warning|info|success|invalid)"', async () => { + const el = await fixture(html`<${tag}>`); + el.errorState = true; + await el.updateComplete; + expect(el.classList.contains('state-error')).to.equal(true, 'has class "state-error"'); + + el.warningState = true; + await el.updateComplete; + expect(el.classList.contains('state-warning')).to.equal(true, 'has class "state-warning"'); + + el.infoState = true; + await el.updateComplete; + expect(el.classList.contains('state-info')).to.equal(true, 'has class "state-info"'); + + el.successState = true; + await el.updateComplete; + expect(el.classList.contains('state-success')).to.equal(true, 'has class "state-success"'); + + el.invalid = true; + await el.updateComplete; + expect(el.classList.contains('state-invalid')).to.equal(true, 'has class "state-invalid"'); + }); + + it('sets a class "state-(error|warning|info|success)-show"', async () => { + const el = await fixture(html`<${tag}>`); + el.errorShow = true; + await el.updateComplete; + expect(el.classList.contains('state-error-show')).to.equal( + true, + 'has class "state-error-show"', + ); + + el.warningShow = true; + await el.updateComplete; + expect(el.classList.contains('state-warning-show')).to.equal( + true, + 'has class "state-warning-show"', + ); + + el.infoShow = true; + await el.updateComplete; + expect(el.classList.contains('state-info-show')).to.equal(true, 'has class "state-info-show"'); + + el.successShow = true; + await el.updateComplete; + expect(el.classList.contains('state-success-show')).to.equal( + true, + 'has class "state-success-show"', + ); + }); + describe(`Validators ${suffixName}`, () => { function isCat(modelValue, opts) { const validateString = opts && opts.number ? `cat${opts.number}` : 'cat';