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);
+ });
+ });
+ });
+ });
+});