From 5a0425986800bf03de8c49dc00f45d86d3b365ee Mon Sep 17 00:00:00 2001 From: Duda Dornelles Date: Thu, 16 Oct 2014 14:59:49 +0200 Subject: for #95, make sure that the tag list is also refreshed when the mail list is refreshed, since there can be new unread mails and we need to update the count --- web-ui/test/spec/dispatchers/left_pane_dispatcher.spec.js | 4 ++-- web-ui/test/spec/mail_list/ui/mail_list.spec.js | 15 ++++++++++++++- 2 files changed, 16 insertions(+), 3 deletions(-) (limited to 'web-ui/test') diff --git a/web-ui/test/spec/dispatchers/left_pane_dispatcher.spec.js b/web-ui/test/spec/dispatchers/left_pane_dispatcher.spec.js index 86b54a48..935bb917 100644 --- a/web-ui/test/spec/dispatchers/left_pane_dispatcher.spec.js +++ b/web-ui/test/spec/dispatchers/left_pane_dispatcher.spec.js @@ -47,7 +47,7 @@ describeComponent('dispatchers/left_pane_dispatcher', function () { it('asks for more tags when refreshTagList is fired', function () { var tagWantEvent = spyOnEvent(document, Pixelated.events.tags.want); - $(document).trigger(Pixelated.events.dispatchers.tags.refreshTagList); + $(document).trigger(Pixelated.events.dispatchers.tags.refreshTagList, {}); expect(tagWantEvent).toHaveBeenTriggeredOn(document); }); @@ -63,7 +63,7 @@ describeComponent('dispatchers/left_pane_dispatcher', function () { it('on tags loaded selects the inbox tag if no data is provided', function () { var selectTagEvent = spyOnEvent(document, Pixelated.events.ui.tag.select); - $(document).trigger(Pixelated.events.ui.tags.loaded); + $(document).trigger(Pixelated.events.ui.tags.loaded, {}); expect(selectTagEvent).toHaveBeenTriggeredOnAndWith(document, { tag: 'inbox' }); }); diff --git a/web-ui/test/spec/mail_list/ui/mail_list.spec.js b/web-ui/test/spec/mail_list/ui/mail_list.spec.js index 11993ba1..9c01c6af 100644 --- a/web-ui/test/spec/mail_list/ui/mail_list.spec.js +++ b/web-ui/test/spec/mail_list/ui/mail_list.spec.js @@ -166,11 +166,14 @@ describeComponent('mail_list/ui/mail_list', function () { }); - it('should render all mails sent in ui:mails:show event', function () { + it('should render all mails sent in ui:mails:show event but shouldnt refresh the tags', function () { + var refreshTagListEvent = spyOnEvent(document, Pixelated.events.dispatchers.tags.refreshTagList); + this.component.$node.trigger(Pixelated.events.mails.available, { mails: mailList }); matchMail(mailList[0], this.component.$node); matchMail(mailList[1], this.component.$node); + expect(refreshTagListEvent).not.toHaveBeenTriggeredOn(document); }); it('should select the current email when mails are available', function () { @@ -259,6 +262,16 @@ describeComponent('mail_list/ui/mail_list', function () { }); }); + describe('refreshing the mail list', function () { + it('also refreshes the tag list but skips the next mail list refresh', function () { + var tagListRefreshEvent = spyOnEvent(document, Pixelated.events.dispatchers.tags.refreshTagList); + + $(document).trigger(Pixelated.events.mails.availableForRefresh, { mails: []}); + + expect(tagListRefreshEvent).toHaveBeenTriggeredOnAndWith(document, { skipMailListRefresh: true}); + }); + }); + function createMail(subject, from, ident, date) { var mail = Pixelated.testData().parsedMail.simpleTextPlain; -- cgit v1.2.3