From 0ca01a8a8e2cd9201f43fa840a30a0822215bfef Mon Sep 17 00:00:00 2001 From: NavaL Date: Tue, 5 Jan 2016 15:10:33 +0100 Subject: separated attachment list UI as a component and the corresponding attachment list payload as a mixin Issue #548 --- web-ui/test/spec/mail_view/ui/attachment.spec.js | 21 ----------- .../test/spec/mail_view/ui/attachment_icon.spec.js | 21 +++++++++++ .../test/spec/mail_view/ui/attachment_list.spec.js | 44 ++++++++++++++++++++++ 3 files changed, 65 insertions(+), 21 deletions(-) delete mode 100644 web-ui/test/spec/mail_view/ui/attachment.spec.js create mode 100644 web-ui/test/spec/mail_view/ui/attachment_icon.spec.js create mode 100644 web-ui/test/spec/mail_view/ui/attachment_list.spec.js (limited to 'web-ui/test/spec/mail_view/ui') diff --git a/web-ui/test/spec/mail_view/ui/attachment.spec.js b/web-ui/test/spec/mail_view/ui/attachment.spec.js deleted file mode 100644 index d29660b9..00000000 --- a/web-ui/test/spec/mail_view/ui/attachment.spec.js +++ /dev/null @@ -1,21 +0,0 @@ -describeComponent('mail_view/ui/attachment_icon', function () { - 'use strict'; - - describe('attachment', function () { - beforeEach(function () { - Pixelated.mockBloodhound(); - this.setupComponent(); - }); - - it('should render attachment button if feature enabled', function () { - expect(this.$node.html()).toMatch(''); - }); - - it('should trigger starts of attachment upload process', function () { - var triggerUploadAttachment = spyOnEvent(document, Pixelated.events.mail.startUploadAttachment); - this.$node.click(); - expect(triggerUploadAttachment).toHaveBeenTriggeredOn(document); - }); - - }); -}); diff --git a/web-ui/test/spec/mail_view/ui/attachment_icon.spec.js b/web-ui/test/spec/mail_view/ui/attachment_icon.spec.js new file mode 100644 index 00000000..d29660b9 --- /dev/null +++ b/web-ui/test/spec/mail_view/ui/attachment_icon.spec.js @@ -0,0 +1,21 @@ +describeComponent('mail_view/ui/attachment_icon', function () { + 'use strict'; + + describe('attachment', function () { + beforeEach(function () { + Pixelated.mockBloodhound(); + this.setupComponent(); + }); + + it('should render attachment button if feature enabled', function () { + expect(this.$node.html()).toMatch(''); + }); + + it('should trigger starts of attachment upload process', function () { + var triggerUploadAttachment = spyOnEvent(document, Pixelated.events.mail.startUploadAttachment); + this.$node.click(); + expect(triggerUploadAttachment).toHaveBeenTriggeredOn(document); + }); + + }); +}); 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 new file mode 100644 index 00000000..c66b959c --- /dev/null +++ b/web-ui/test/spec/mail_view/ui/attachment_list.spec.js @@ -0,0 +1,44 @@ +describeComponent('mail_view/ui/attachment_list', function () { + 'use strict'; + + describe('initialization', function () { + beforeEach(function () { + this.setupComponent('
' + + '' + + '
'); + }); + + it('should trigger add attachment event', function () { + var triggerUploadAttachment = spyOnEvent(document, Pixelated.events.mail.appendAttachment); + var stubAttachment = {attachment_id: 'faked'}; + + $(document).trigger(Pixelated.events.mail.uploadedAttachment, stubAttachment); + + expect(triggerUploadAttachment).toHaveBeenTriggeredOnAndWith(document, stubAttachment); + }); + + 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 = 'haha.txt (4.39 Kb)'; + 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); + }); + + }); + +}); -- cgit v1.2.3