From 59cf6f5ec90ab0beac74739934b93c2c3163147e Mon Sep 17 00:00:00 2001 From: Kegan Dougal Date: Wed, 12 Nov 2014 16:32:17 +0000 Subject: [PATCH] Add more recents service unit tests. --- .../test/unit/recents-service.spec.js | 38 +++++++++++++++++++ 1 file changed, 38 insertions(+) diff --git a/syweb/webclient/test/unit/recents-service.spec.js b/syweb/webclient/test/unit/recents-service.spec.js index 93d351d45f..a2f9ecbaf8 100644 --- a/syweb/webclient/test/unit/recents-service.spec.js +++ b/syweb/webclient/test/unit/recents-service.spec.js @@ -112,4 +112,42 @@ describe('RecentsService', function() { expect(recentsService.getUnreadMessages()).toEqual({}); expect(recentsService.getUnreadBingMessages()).toEqual({}); })); + + it('should increment the unread message count.', inject( + function(recentsService) { + recentsService.setSelectedRoomId("!someotherroomid:localhost"); + scope.$broadcast(MSG_EVENT, testEvent, testIsLive); + + var unread = {}; + unread[testEvent.room_id] = 1; + expect(recentsService.getUnreadMessages()).toEqual(unread); + + scope.$broadcast(MSG_EVENT, testEvent, testIsLive); + + unread[testEvent.room_id] = 2; + expect(recentsService.getUnreadMessages()).toEqual(unread); + })); + + it('should set the bing event to the latest message to contain a bing word.', inject( + function(recentsService) { + recentsService.setSelectedRoomId("!someotherroomid:localhost"); + testEventContainsBingWord = true; + scope.$broadcast(MSG_EVENT, testEvent, testIsLive); + + var nextEvent = angular.copy(testEvent); + nextEvent.content.body = "Goodbye cruel world."; + nextEvent.event_id = "erfuerhfeaaaa@localhost"; + scope.$broadcast(MSG_EVENT, nextEvent, testIsLive); + + var bing = {}; + bing[testEvent.room_id] = nextEvent; + expect(recentsService.getUnreadBingMessages()).toEqual(bing); + })); + + it('should do nothing when marking an unknown room ID as read.', inject( + function(recentsService) { + recentsService.markAsRead("!someotherroomid:localhost"); + expect(recentsService.getUnreadMessages()).toEqual({}); + expect(recentsService.getUnreadBingMessages()).toEqual({}); + })); });