diff options
author | kaeff <hi@kaeff.net> | 2015-08-17 15:56:50 +0200 |
---|---|---|
committer | kaeff <hi@kaeff.net> | 2015-08-17 15:56:50 +0200 |
commit | b16bae353e40fa05b4993ef68232a9df83db370e (patch) | |
tree | 0768a89a5b98e26b31b52e59aa21fc4a358af8ba /web-ui | |
parent | 57376b6cb20b0d4af0e5940f29229421adf8679f (diff) |
Read encoding from attachment info instead of headers
Clean up by removing now unused headers from attachment info, and add a
unit test for attachment rendering
Diffstat (limited to 'web-ui')
-rw-r--r-- | web-ui/app/js/mail_view/ui/mail_view.js | 2 | ||||
-rw-r--r-- | web-ui/test/spec/mail_view/ui/mail_view.spec.js | 10 | ||||
-rw-r--r-- | web-ui/test/test_data.js | 29 |
3 files changed, 39 insertions, 2 deletions
diff --git a/web-ui/app/js/mail_view/ui/mail_view.js b/web-ui/app/js/mail_view/ui/mail_view.js index 71a67e5a..7caf813a 100644 --- a/web-ui/app/js/mail_view/ui/mail_view.js +++ b/web-ui/app/js/mail_view/ui/mail_view.js @@ -58,7 +58,7 @@ define( } var attachments = _.map(data.mail.attachments, function(a){ - return { 'encoding': a.headers['Content-Transfer-Encoding'], 'name': a.name, 'ident': a.ident }; + return { 'encoding': a.encoding, 'name': a.name, 'ident': a.ident }; }); this.$node.html(templates.mails.fullView({ diff --git a/web-ui/test/spec/mail_view/ui/mail_view.spec.js b/web-ui/test/spec/mail_view/ui/mail_view.spec.js index deb7fb88..fe763919 100644 --- a/web-ui/test/spec/mail_view/ui/mail_view.spec.js +++ b/web-ui/test/spec/mail_view/ui/mail_view.spec.js @@ -265,6 +265,16 @@ describeComponent('mail_view/ui/mail_view', function () { expect(openNoMessageSelectedEvent).toHaveBeenTriggeredOn(document); }); + it('shows a download link for attachments', function() { + var withAttachments = {mail: Pixelated.testData().parsedMail.withAttachments}; + + this.component.displayMail({}, withAttachments); + + var attachmentLink = $(this.component.$node.find('.attachmentsArea li').html()); + var expectedLink = '/attachment/912ec803b2ce49e4a541068d495ab570?encoding=base64&filename=filename.txt'; + expect(attachmentLink.attr('href')) .toBe(expectedLink); + }); + function creatingEvent(event, keyCode) { var e = $.Event(event); e.which = keyCode; diff --git a/web-ui/test/test_data.js b/web-ui/test/test_data.js index 446fd7c6..62492bbe 100644 --- a/web-ui/test/test_data.js +++ b/web-ui/test/test_data.js @@ -202,6 +202,32 @@ define(function() { getMailPartByContentType: function () { return; } }; + var withAttachments = { + header: { + to:'jed_waelchi@cummerata.info', + from:'laurel@hamill.info', + subject:'Velit aut tempora animi ut nulla esse.', + date:'2014-06-04T14:41:13-03:00' + }, + ident:1, + tags:['textplain'], + mailbox: ['inbox'], + status:[], + textPlainBody: 'Hello Everyone', + isSentMail: function() { return false; }, + isDraftMail: function() { return false; }, + replyToAddress: function() { return { to: ['laurel@hamill.info'], cc: [] }; }, + replyToAllAddress: function() { return { to: ['laurel@hamill.info'], cc: [] }; }, + isMailMultipartAlternative: function() { return false; }, + availableBodyPartsContentType: function() { return []; }, + getMailPartByContentType: function() { return; }, + attachments: [{ + ident: '912ec803b2ce49e4a541068d495ab570', + name: 'filename.txt', + encoding: 'base64' + }] + }; + var testData = { rawMail: { mail: rawMail, @@ -215,7 +241,8 @@ define(function() { parsedMail: { simpleTextPlain: simpleTextPlainMail, html: htmlNoEncodingMail, - draft: draftMail + draft: draftMail, + withAttachments: withAttachments } }; |