Skip to content

Commit 2a5093f

Browse files
authoredAug 10, 2017
Merge pull request ChangemakerStudios#67 from jijiechen/webui
Fixed the random errors in test cases.
2 parents b1f2da5 + 2761feb commit 2a5093f

File tree

7 files changed

+33
-13
lines changed

7 files changed

+33
-13
lines changed
 

‎src/Papercut.Message/MessageRepository.cs

+1-1
Original file line numberDiff line numberDiff line change
@@ -116,7 +116,7 @@ public string SaveMessage(Action<FileStream> writeTo)
116116
{
117117
// the file must not exists. the resolution of DataTime.Now may be slow w.r.t. the speed of the received files
118118
fileName = Path.Combine(_messagePathConfigurator.DefaultSavePath,
119-
$"{DateTime.Now:yyyyMMddHHmmssFFF}-{StringHelpers.SmallRandomString()}.eml");
119+
$"{DateTime.Now:yyyyMMddHHmmssfff}-{StringHelpers.SmallRandomString()}.eml");
120120

121121
using (var fileStream = File.Create(fileName))
122122
{

‎src/Papercut.Module.WebUI/Controllers/MessageController.cs

+2-4
Original file line numberDiff line numberDiff line change
@@ -18,15 +18,13 @@
1818

1919
namespace Papercut.Module.WebUI.Controllers
2020
{
21-
using System;
2221
using System.Linq;
2322
using System.Net;
2423
using System.Net.Http;
25-
using System.Threading.Tasks;
2624
using System.Web.Http;
27-
using Core.Domain.Message;
25+
2826
using Message;
29-
using MimeKit;
27+
3028
using Models;
3129

3230
using Papercut.Message.Helpers;

‎src/Papercut.Module.WebUI/Models/MimeMessageEntry.cs

+2-2
Original file line numberDiff line numberDiff line change
@@ -47,7 +47,7 @@ public static RefDto CreateFrom(MimeMessageEntry messageEntry)
4747
return new RefDto
4848
{
4949
Subject = messageEntry.Subject,
50-
CreatedAt = messageEntry.Created,
50+
CreatedAt = messageEntry.Created?.ToUniversalTime(),
5151
Id = messageEntry.Id,
5252
Size = messageEntry.FileSize
5353
};
@@ -72,7 +72,7 @@ public static Dto CreateFrom(MimeMessageEntry messageEntry)
7272
return new Dto
7373
{
7474
Subject = messageEntry.Subject,
75-
CreatedAt = messageEntry.Created,
75+
CreatedAt = messageEntry.Created?.ToUniversalTime(),
7676
Id = messageEntry.Id,
7777
From = ToAddressList(mail?.From),
7878
To = ToAddressList(mail?.To),

‎src/Papercut.Module.WebUI/assets/css/style.css

+1-1
Original file line numberDiff line numberDiff line change
@@ -135,7 +135,7 @@
135135
}
136136

137137
.preview .tab-content {
138-
overflow-y: scroll;
138+
overflow-y: visible;
139139
}
140140

141141
.headers {

‎src/Papercut.Module.WebUI/assets/index.html

+3-3
Original file line numberDiff line numberDiff line change
@@ -120,7 +120,7 @@
120120
<div class="col-md-4 col-sm-3">
121121
<div class="row">
122122
<div class="col-md-9 col-sm-12 text-right">
123-
{{ getMoment(date(message.CreatedAt)).fromNow() }}
123+
{{ getMoment(message.CreatedAt).fromNow() }}
124124
</div>
125125
<div class="col-md-3 col-sm-12 text-right">
126126
{{ message.Size }}
@@ -182,7 +182,7 @@
182182
</div>
183183

184184
<div class="col-md-3 col-md-offset-3 col-sm-3 text-right">
185-
{{ getMoment(date(message.Created)).fromNow() }}
185+
{{ getMoment(message.CreatedAt).fromNow() }}
186186
</div>
187187
</div>
188188
</div>
@@ -257,7 +257,7 @@
257257
</ul>
258258

259259
<div class="tab-content">
260-
<iframe target-blank="" ng-if="hasHTML(preview)" ng-class="{ active: hasHTML(preview) }" class="tab-pane" id="preview-html" srcdoc="{{preview.previewHTML}}" seamless frameborder="0" style="width: 100%"></iframe>
260+
<iframe target-blank="" ng-if="hasHTML(preview)" ng-class="{ active: hasHTML(preview) }" class="tab-pane" id="preview-html" body-html="preview.previewHTML" seamless frameborder="0" style="width: 100%"></iframe>
261261
<div class="tab-pane" ng-class="{ active: !hasHTML(preview) }" id="preview-plain" ng-bind-html="formatMessagePlain(preview)"></div>
262262
</div>
263263
</div>

‎src/Papercut.Module.WebUI/assets/js/controllers.js

+18-2
Original file line numberDiff line numberDiff line change
@@ -40,8 +40,8 @@ papercutApp.controller('MailCtrl', function ($scope, $http, $sce, $timeout) {
4040
$scope.saveSMTPServer = false;
4141

4242

43-
$scope.getMoment = function(a) {
44-
return moment(a)
43+
$scope.getMoment = function (a) {
44+
return moment.utc(a, 'YYYY-MM-DDTHH:mm:ss.SSSZ').local();
4545
}
4646

4747
$scope.backToInbox = function() {
@@ -511,3 +511,19 @@ papercutApp.directive('ngKeyEnter', function () {
511511
};
512512
});
513513

514+
515+
papercutApp.directive('bodyHtml', ['$sce', '$timeout', function ($sce, $timeout) {
516+
return {
517+
link: function (scope, element, attrs) {
518+
element.attr('src', "about:blank");
519+
element.on('load', function () {
520+
var body = $(element).contents().find('body');
521+
body.empty().append($sce.getTrustedHtml(scope.$eval(attrs.bodyHtml)));
522+
523+
$timeout(function () {
524+
element.css('height', $(body[0].ownerDocument.documentElement).height() + 100);
525+
}, 50);
526+
});
527+
}
528+
};
529+
}]);

‎test/Papercut.Module.WebUI.Tests/MessageFacts/LoadMessageFacts.cs

+6
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,7 @@
1818

1919
namespace Papercut.Module.WebUI.Test.MessageFacts
2020
{
21+
using System;
2122
using System.Collections.Generic;
2223
using System.Linq;
2324
using System.Net;
@@ -59,6 +60,11 @@ public void ShouldLoadAllMessages()
5960
Assert.NotNull(message.CreatedAt);
6061
Assert.NotNull(message.Size);
6162
Assert.AreEqual("Test", message.Subject);
63+
64+
65+
// Should serve CreatedAt as UTC value.
66+
var dateDiff = DateTime.UtcNow - message.CreatedAt.Value;
67+
Assert.Less(Math.Abs(dateDiff.TotalMinutes), 1);
6268
}
6369

6470
[Test, Order(2)]

0 commit comments

Comments
 (0)
Please sign in to comment.