diff options
-rw-r--r-- | web-ui/app/js/mail_view/ui/send_button.js | 2 | ||||
-rw-r--r-- | web-ui/app/js/mixins/with_mail_edit_base.js | 1 | ||||
-rw-r--r-- | web-ui/test/spec/mail_view/ui/send_button.spec.js | 8 |
3 files changed, 10 insertions, 1 deletions
diff --git a/web-ui/app/js/mail_view/ui/send_button.js b/web-ui/app/js/mail_view/ui/send_button.js index 8f168ecc..6f5add2a 100644 --- a/web-ui/app/js/mail_view/ui/send_button.js +++ b/web-ui/app/js/mail_view/ui/send_button.js @@ -77,10 +77,10 @@ define([ this.off(document, events.ui.mail.recipientsUpdated); }.bind(this))); - this.trigger(document, events.ui.recipients.doCompleteInput); this.disableButton(); this.$node.text(viewHelper.i18n('sending-mail')); + this.trigger(document, events.ui.recipients.doCompleteInput); }; this.forceEnableButton = function () { diff --git a/web-ui/app/js/mixins/with_mail_edit_base.js b/web-ui/app/js/mixins/with_mail_edit_base.js index 3332da91..9942e747 100644 --- a/web-ui/app/js/mixins/with_mail_edit_base.js +++ b/web-ui/app/js/mixins/with_mail_edit_base.js @@ -136,6 +136,7 @@ define( events.ui.userAlerts.displayMessage, {message: i18n.get('One or more of the recipients are not valid emails')} ); + this.trigger(events.mail.send_failed); } }; diff --git a/web-ui/test/spec/mail_view/ui/send_button.spec.js b/web-ui/test/spec/mail_view/ui/send_button.spec.js index 4109e923..dca8f02c 100644 --- a/web-ui/test/spec/mail_view/ui/send_button.spec.js +++ b/web-ui/test/spec/mail_view/ui/send_button.spec.js @@ -63,6 +63,14 @@ describeComponent('mail_view/ui/send_button', function () { expect(this.$node).toBeDisabled(); }); + + it('gets disabled if recipients:updated with invalid email', function () { + $(document).trigger(Pixelated.events.ui.recipients.inputHasMail, { name: 'to' }); + $(document).trigger(Pixelated.events.ui.recipients.updated, { newRecipients: ['InvalidEmail']}); + + expect(this.$node).not.toBeDisabled(); + expect(this.$node.text()).toBe('Send'); + }); }); describe('on click', function () { |