_ = require "underscore" moment = require "moment" proxyquire = require "proxyquire" CSON = require "season" React = require "react/addons" TestUtils = React.addons.TestUtils {Thread, Contact, Actions, Message, Namespace, MessageStore, NamespaceStore, ComponentRegistry} = require "nylas-exports" {InjectedComponent} = require 'nylas-component-kit' MessageItem = proxyquire("../lib/message-item", { "./email-frame": React.createClass({render: ->
}) }) MessageList = proxyquire("../lib/message-list", { "./message-item": MessageItem }) MessageParticipants = require "../lib/message-participants" me = new Namespace( "name": "User One", "email": "user1@nylas.com" "provider": "inbox" ) NamespaceStore._current = me user_headers = id: null object: null namespace_id: null user_1 = _.extend _.clone(user_headers), name: "User One" email: "user1@nylas.com" user_2 = _.extend _.clone(user_headers), name: "User Two" email: "user2@nylas.com" user_3 = _.extend _.clone(user_headers), name: "User Three" email: "user3@nylas.com" user_4 = _.extend _.clone(user_headers), name: "User Four" email: "user4@nylas.com" user_5 = _.extend _.clone(user_headers), name: "User Five" email: "user5@nylas.com" m1 = (new Message).fromJSON({ "id" : "111", "from" : [ user_1 ], "to" : [ user_2 ], "cc" : [ user_3, user_4 ], "bcc" : null, "body" : "Body One", "date" : 1415814587, "draft" : false "files" : [], "unread" : false, "object" : "message", "snippet" : "snippet one...", "subject" : "Subject One", "thread_id" : "thread_12345", "namespace_id" : "nsid" }) m2 = (new Message).fromJSON({ "id" : "222", "from" : [ user_2 ], "to" : [ user_1 ], "cc" : [ user_3, user_4 ], "bcc" : null, "body" : "Body Two", "date" : 1415814587, "draft" : false "files" : [], "unread" : false, "object" : "message", "snippet" : "snippet Two...", "subject" : "Subject Two", "thread_id" : "thread_12345", "namespace_id" : "nsid" }) m3 = (new Message).fromJSON({ "id" : "333", "from" : [ user_3 ], "to" : [ user_1 ], "cc" : [ user_2, user_4 ], "bcc" : [], "body" : "Body Three", "date" : 1415814587, "draft" : false "files" : [], "unread" : false, "object" : "message", "snippet" : "snippet Three...", "subject" : "Subject Three", "thread_id" : "thread_12345", "namespace_id" : "nsid" }) m4 = (new Message).fromJSON({ "id" : "444", "from" : [ user_4 ], "to" : [ user_1 ], "cc" : [], "bcc" : [ user_5 ], "body" : "Body Four", "date" : 1415814587, "draft" : false "files" : [], "unread" : false, "object" : "message", "snippet" : "snippet Four...", "subject" : "Subject Four", "thread_id" : "thread_12345", "namespace_id" : "nsid" }) m5 = (new Message).fromJSON({ "id" : "555", "from" : [ user_1 ], "to" : [ user_4 ], "cc" : [], "bcc" : [], "body" : "Body Five", "date" : 1415814587, "draft" : false "files" : [], "unread" : false, "object" : "message", "snippet" : "snippet Five...", "subject" : "Subject Five", "thread_id" : "thread_12345", "namespace_id" : "nsid" }) testMessages = [m1, m2, m3, m4, m5] draftMessages = [ (new Message).fromJSON({ "id" : "666", "from" : [ user_1 ], "to" : [ ], "cc" : [ ], "bcc" : null, "body" : "Body One", "date" : 1415814587, "draft" : true "files" : [], "unread" : false, "object" : "draft", "snippet" : "draft snippet one...", "subject" : "Draft One", "thread_id" : "thread_12345", "namespace_id" : "nsid" }), ] test_thread = (new Thread).fromJSON({ "id" : "thread_12345" "subject" : "Subject 12345" }) describe "MessageList", -> beforeEach -> MessageStore._items = [] MessageStore._threadId = null spyOn(MessageStore, "itemLocalIds").andCallFake -> {"666": "666"} spyOn(MessageStore, "itemsLoading").andCallFake -> false @message_list = TestUtils.renderIntoDocument(