diff --git a/test/index.html b/test/index.html index 76ad1ad62..5a8c945f4 100644 --- a/test/index.html +++ b/test/index.html @@ -624,6 +624,7 @@ + diff --git a/test/views/inbox_view_test.js b/test/views/inbox_view_test.js new file mode 100644 index 000000000..341e09a45 --- /dev/null +++ b/test/views/inbox_view_test.js @@ -0,0 +1,41 @@ +describe('InboxView', function() { + var inboxView = new Whisper.InboxView({ + model: {}, + window: window, + initialLoadComplete: function() {} + }).render(); + + var conversation = new Whisper.Conversation({ id: '1234', type: 'private'}); + + describe('the conversation stack', function() { + it('should be rendered', function() { + assert.ok(inboxView.$('.conversation-stack').length === 1); + }); + + describe('opening a conversation', function() { + var triggeredOpenedCount = 0; + + before(function() { + conversation.on('opened', function() { + triggeredOpenedCount++; + }); + + inboxView.conversation_stack.open(conversation); + }); + + it('should trigger an opened event', function() { + assert.ok(triggeredOpenedCount === 1); + }); + + describe('and then opening it again immediately', function() { + before(function() { + inboxView.conversation_stack.open(conversation); + }); + + it('should trigger the opened event again', function() { + assert.ok(triggeredOpenedCount === 2); + }); + }); + }); + }); +});