From 8c8a52f8295e6737de7b68de97b85e20dbaa1855 Mon Sep 17 00:00:00 2001 From: maxwondercorn Date: Fri, 25 Sep 2020 18:50:14 -0400 Subject: [PATCH] fix: verify model exists before testing validator exists --- addon/components/bs-form.js | 2 +- .../components/bs-form-element-test.js | 22 +++++++++++++++++++ 2 files changed, 23 insertions(+), 1 deletion(-) diff --git a/addon/components/bs-form.js b/addon/components/bs-form.js index 81aeb58..047f868 100644 --- a/addon/components/bs-form.js +++ b/addon/components/bs-form.js @@ -8,7 +8,7 @@ export default class ValidatedBsFrom extends BsForm { '__ember-bootstrap_subclass' = true; get hasValidator() { - return !!this.model.validate; + return !!this.model?.validate; } async validate(model) { diff --git a/tests/integration/components/bs-form-element-test.js b/tests/integration/components/bs-form-element-test.js index 2eb65e4..29ffca4 100644 --- a/tests/integration/components/bs-form-element-test.js +++ b/tests/integration/components/bs-form-element-test.js @@ -150,4 +150,26 @@ module('Integration | Component | bs form element', function(hooks) { await triggerEvent('form', 'submit'); }); + + test('error is not generated when a model is not supplied when component.formElements are not used ', async function(assert) { + let name; + this.set('name', name); + + this.submitAction = function() { + assert.ok(true, 'submit action called.'); + }; + this.invalidAction = function() { + assert.ok(true, 'Invalid action has been called.'); + }; + + await render(hbs` + + + + `); + + assert.expect(1); + + await triggerEvent('form', 'submit'); + }); });