summaryrefslogtreecommitdiff
path: root/web-ui
diff options
context:
space:
mode:
authorFolker Bernitt <fbernitt@thoughtworks.com>2015-01-09 12:14:44 +0100
committerFolker Bernitt <fbernitt@thoughtworks.com>2015-01-09 12:14:44 +0100
commit21153d9310aeb7962c4e03be83464633f38ca166 (patch)
tree5e2b59ecbc189cfb9faccedf941db87c4fc2aa49 /web-ui
parent665bda573b18d986e642499a665563611408a07e (diff)
Fixed call order dependency for tag creation.
- Successful rendering of tag list in left pane depended on specific call order of async events
Diffstat (limited to 'web-ui')
-rw-r--r--web-ui/app/js/mixins/with_mail_tagging.js1
-rw-r--r--web-ui/app/js/services/mail_service.js1
-rw-r--r--web-ui/test/spec/mail_view/ui/mail_view.spec.js1
-rw-r--r--web-ui/test/spec/services/mail_service.spec.js2
4 files changed, 3 insertions, 2 deletions
diff --git a/web-ui/app/js/mixins/with_mail_tagging.js b/web-ui/app/js/mixins/with_mail_tagging.js
index c3647443..62ca7627 100644
--- a/web-ui/app/js/mixins/with_mail_tagging.js
+++ b/web-ui/app/js/mixins/with_mail_tagging.js
@@ -59,7 +59,6 @@ define(
this.tagCompleter.clearPrefetchCache();
this.tagCompleter.clearRemoteCache();
this.updateTags(this.attr.mail, _.uniq(tagsCopy));
- this.trigger(document, events.dispatchers.tags.refreshTagList, { skipMailListRefresh: true });
};
this.after('displayMail', function () {
diff --git a/web-ui/app/js/services/mail_service.js b/web-ui/app/js/services/mail_service.js
index 1d5db40e..99f812f8 100644
--- a/web-ui/app/js/services/mail_service.js
+++ b/web-ui/app/js/services/mail_service.js
@@ -58,6 +58,7 @@ define(
var success = function (data) {
this.refreshMails();
$(document).trigger(events.mail.tags.updated, { ident: ident, tags: data.tags });
+ $(document).trigger(events.dispatchers.tags.refreshTagList, { skipMailListRefresh: true });
};
var failure = function (resp) {
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 bb0c7851..b84ecfe6 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
@@ -181,7 +181,6 @@ describeComponent('mail_view/ui/mail_view', function () {
var tags = testData.mail.tags.slice();
tags.push('Test');
- expect(tagListRefreshEvent).toHaveBeenTriggeredOn(document);
expect(tagsUpdateEvent).toHaveBeenTriggeredOnAndWith(document, { ident: testData.mail.ident, tags: tags});
});
diff --git a/web-ui/test/spec/services/mail_service.spec.js b/web-ui/test/spec/services/mail_service.spec.js
index 2de4e76b..9077969a 100644
--- a/web-ui/test/spec/services/mail_service.spec.js
+++ b/web-ui/test/spec/services/mail_service.spec.js
@@ -91,6 +91,7 @@ describeComponent('services/mail_service', function () {
it('updates the tags of the desired message', function () {
spyOn(this.component, 'refreshMails');
+ var tagListRefreshEvent = spyOnEvent(document, Pixelated.events.dispatchers.tags.refreshTagList);
var updateTagsReturnValue = { tags: ['website'], mailbox: 'inbox'};
var deferred = $.Deferred();
var spyAjax = spyOn($, 'ajax').and.returnValue(deferred);
@@ -106,6 +107,7 @@ describeComponent('services/mail_service', function () {
expect(spyAjax.calls.all()[0].args[0]).toEqual('/mail/1/tags');
expect(spyAjax.calls.all()[0].args[1].data).toEqual(JSON.stringify({ newtags: email1.tags } ));
expect(this.component.refreshMails).toHaveBeenCalled();
+ expect(tagListRefreshEvent).toHaveBeenTriggeredOn(document);
});
it('triggers an error message when it can\'t update the tags', function () {