From 17695c1c9037d9edc927fb5265d380384eb6866a Mon Sep 17 00:00:00 2001 From: NavaL Date: Tue, 5 Jan 2016 19:44:07 +0100 Subject: emptying attachment list when email sent -- in case the user stays on the same screen and re-click compose Issue #548 --- web-ui/test/spec/dispatchers/right_pane_dispatcher.spec.js | 11 +++++++++++ web-ui/test/spec/mail_view/data/attachment_list.spec.js | 14 ++++++++++++++ web-ui/test/spec/mail_view/ui/attachment_list.spec.js | 14 ++++++++++++-- web-ui/test/spec/mail_view/ui/compose_box.spec.js | 1 - 4 files changed, 37 insertions(+), 3 deletions(-) (limited to 'web-ui/test') diff --git a/web-ui/test/spec/dispatchers/right_pane_dispatcher.spec.js b/web-ui/test/spec/dispatchers/right_pane_dispatcher.spec.js index 9df1d557..89793183 100644 --- a/web-ui/test/spec/dispatchers/right_pane_dispatcher.spec.js +++ b/web-ui/test/spec/dispatchers/right_pane_dispatcher.spec.js @@ -15,6 +15,17 @@ describeComponent('dispatchers/right_pane_dispatcher', function () { expect(composeBox.attachTo).toHaveBeenCalled(); }); + it('should trigger reset attachment list on open compose box event', function () { + var composeBox = require('mail_view/ui/compose_box'); + Pixelated.mockBloodhound(); + this.setupComponent(); + var triggerRestAttachment = spyOnEvent(document, Pixelated.events.mail.resetAttachments); + this.component.trigger(document, Pixelated.events.dispatchers.rightPane.openComposeBox); + + expect(triggerRestAttachment).toHaveBeenTriggeredOn(document); + }); + + describe('no message selected', function () { var noMessageSelectedPane; beforeEach(function () { diff --git a/web-ui/test/spec/mail_view/data/attachment_list.spec.js b/web-ui/test/spec/mail_view/data/attachment_list.spec.js index 3d93537b..45167e33 100644 --- a/web-ui/test/spec/mail_view/data/attachment_list.spec.js +++ b/web-ui/test/spec/mail_view/data/attachment_list.spec.js @@ -16,6 +16,20 @@ describeMixin('mail_view/data/attachment_list', function () { expect(this.component.attr.attachments).toEqual([stubAttachment, anotherStubAttachment]); }); + it('should reset attachment list on compose', function () { + this.component.attr.attachments = ['some array']; + $(document).trigger(Pixelated.events.mail.resetAttachments); + + expect(this.component.attr.attachments).toEqual([]); + }); + + it('should reset attachment list and tear down when email sent', function () { + this.component.attr.attachments = ['some array']; + $(document).trigger(Pixelated.events.mail.sent); + + expect(this.component.attr.attachments).toEqual([]); + }); + }); }); diff --git a/web-ui/test/spec/mail_view/ui/attachment_list.spec.js b/web-ui/test/spec/mail_view/ui/attachment_list.spec.js index c66b959c..8bbc9f1a 100644 --- a/web-ui/test/spec/mail_view/ui/attachment_list.spec.js +++ b/web-ui/test/spec/mail_view/ui/attachment_list.spec.js @@ -4,7 +4,7 @@ describeComponent('mail_view/ui/attachment_list', function () { describe('initialization', function () { beforeEach(function () { this.setupComponent('
' + - '' + + '' + '
'); }); @@ -22,10 +22,20 @@ describeComponent('mail_view/ui/attachment_list', function () { $(document).trigger(Pixelated.events.mail.uploadedAttachment, stubAttachment); - var expected_li = 'haha.txt (4.39 Kb)'; + var expected_li = '
  • haha.txt (4.39 Kb)
  • '; expect(this.component.select('attachmentListItem').html()).toEqual(expected_li); }); + it('should tear down when email sent', function () { + var mockTearDown = spyOn(this.Component.prototype, 'resetAll'); + this.setupComponent('
    ' + + '' + + '
    '); + $(document).trigger(Pixelated.events.mail.sent); + + expect(mockTearDown).toHaveBeenCalled(); + }); + xit('should start uploading attachments', function () { var stubAttachment = {attachment_id: 'faked', filename: 'haha.txt', filesize: 4500}; var mockAjax = spyOn($, 'ajax').and.callFake(function (params) {params.success(stubAttachment);}); diff --git a/web-ui/test/spec/mail_view/ui/compose_box.spec.js b/web-ui/test/spec/mail_view/ui/compose_box.spec.js index 84f1e0ed..6d318815 100644 --- a/web-ui/test/spec/mail_view/ui/compose_box.spec.js +++ b/web-ui/test/spec/mail_view/ui/compose_box.spec.js @@ -13,7 +13,6 @@ describeComponent('mail_view/ui/compose_box', function () { describe('compose new mail', function() { - it('only sends if all the recipients are valid emails', function() { $(document).trigger(Pixelated.events.ui.recipients.updated, {recipientsName: 'to', newRecipients: ['valid@email.example']}); -- cgit v1.2.3