diff options
author | NavaL <mnandri@thoughtworks.com> | 2015-12-27 15:58:24 +0100 |
---|---|---|
committer | NavaL <mnandri@thoughtworks.com> | 2015-12-29 19:03:43 +0100 |
commit | 98082de00c79e764ee489397de9ec818f51f0dba (patch) | |
tree | 531709e46643003553d57226ee77740a26d5b18f /web-ui/test | |
parent | 5dca3fda432c12cd63ab4c8011aa2ea74ce1a771 (diff) |
refactoring: moved upload logic out of the attachment icon
Issue #548
Diffstat (limited to 'web-ui/test')
-rw-r--r-- | web-ui/test/spec/mail_view/data/attachment_list.spec.js | 34 | ||||
-rw-r--r-- | web-ui/test/spec/mail_view/ui/attachment.spec.js | 10 |
2 files changed, 34 insertions, 10 deletions
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 74c1dea7..f1fa0e76 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 @@ -1,9 +1,11 @@ -describeMixin('mail_view/data/attachment_list', function () { - 'use strict'; +describeComponent('mail_view/data/attachment_list', function () { + 'use strict'; - describe('initialization', function() { - beforeEach(function(){ - this.setupComponent(); + describe('initialization', function () { + beforeEach(function () { + this.setupComponent('<div id="attachment-list">' + + '<ul><li id="attachment-list-item"> </li></ul>' + + '</div>'); }); it('should add attachment to the list based on uploadedAttachment event', function () { @@ -16,6 +18,28 @@ describeMixin('mail_view/data/attachment_list', function () { expect(this.component.attr.attachments).toEqual([stubAttachment, anotherStubAttachment]); }); + it('should render attachment list view based on uploadedAttachment event', function () { + var stubAttachment = {attachment_id: 'faked', filename: 'haha.txt', filesize: 4500}; + + $(document).trigger(Pixelated.events.mail.uploadedAttachment, stubAttachment); + + var expected_li = '<a href="/attachment/faked?filename=haha.txt&encoding=base64">haha.txt (4.39 Kb)</a>'; + expect(this.component.select('attachmentListItem').html()).toEqual(expected_li); + }); + + 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);}); + var uploadedAttachment = spyOnEvent(document, Pixelated.events.mail.uploadedAttachment); + var uploading = spyOnEvent(document, Pixelated.events.mail.uploadingAttachment); + + $(document).trigger(Pixelated.events.mail.startUploadAttachment); + + expect(mockAjax).toHaveBeenCalled(); + expect(uploadedAttachment).toHaveBeenTriggeredOnAndWith(document, stubAttachment); + expect(uploading).toHaveBeenTriggeredOn(document); + }); + }); }); diff --git a/web-ui/test/spec/mail_view/ui/attachment.spec.js b/web-ui/test/spec/mail_view/ui/attachment.spec.js index bbea2f55..d29660b9 100644 --- a/web-ui/test/spec/mail_view/ui/attachment.spec.js +++ b/web-ui/test/spec/mail_view/ui/attachment.spec.js @@ -1,4 +1,4 @@ -describeComponent('mail_view/ui/attachment', function () { +describeComponent('mail_view/ui/attachment_icon', function () { 'use strict'; describe('attachment', function () { @@ -7,14 +7,14 @@ describeComponent('mail_view/ui/attachment', function () { this.setupComponent(); }); - it('render attachment button if feature enabled', function () { + it('should render attachment button if feature enabled', function () { expect(this.$node.html()).toMatch('<i class="fa fa-paperclip fa-2x"></i>'); }); - xit('uploads attachment on click', function () { - var fileUploads = spyOn($, 'fileupload'); + it('should trigger starts of attachment upload process', function () { + var triggerUploadAttachment = spyOnEvent(document, Pixelated.events.mail.startUploadAttachment); this.$node.click(); - expect(fileUploads).toHaveBeenCalled(); + expect(triggerUploadAttachment).toHaveBeenTriggeredOn(document); }); }); |