     advanceClock()
     expect(Actions.insertAttachmentIntoDraft).toHaveBeenCalled()
     expect(@upload.inline).toEqual(true)
-
-xdescribe "when the DraftStore `isSending` isn't stubbed out", ->
-  beforeEach ->
-    DraftStore._draftsSending = {}
-
-  it "doesn't send twice in a popout", ->
-    spyOn(Actions, "queueTask")
-    spyOn(Actions, "sendDraft").andCallThrough()
-    useFullDraft.call(@)
-    makeComposer.call(@)
-
-    firstStatus = @composer._isValidDraft()
-    expect(firstStatus).toBe true
-    Actions.sendDraft(DRAFT_CLIENT_ID)
-    secondStatus = @composer._isValidDraft()
-    expect(secondStatus).toBe false
-
-  it "doesn't send twice in the main window", ->
-    spyOn(Actions, "queueTask")
-    spyOn(Actions, "sendDraft").andCallThrough()
-    spyOn(NylasEnv, "isMainWindow").andReturn true
-    useFullDraft.call(@)
-    makeComposer.call(@)
-    firstStatus = @composer._isValidDraft()
-    expect(firstStatus).toBe true
-    Actions.sendDraft(DRAFT_CLIENT_ID)
-    secondStatus = @composer._isValidDraft()
-    expect(secondStatus).toBe false

        ReactDOM.findDOMNode(@$composer).dispatchEvent(new CustomEvent('composer:send-message'))
        expect(Actions.sendDraft).toHaveBeenCalledWith(DRAFT_CLIENT_ID, 'send')
        expect(Actions.sendDraft.calls.length).toBe 1
        @isSending = true
        DraftStore.trigger()
        ReactDOM.findDOMNode(@$composer).dispatchEvent(new CustomEvent('composer:send-message'))
        expect(Actions.sendDraft).toHaveBeenCalledWith(DRAFT_CLIENT_ID, 'send')
        expect(Actions.sendDraft.calls.length).toBe 1

  describe "drag and drop", ->
    beforeEach ->
      useDraft.call @,
        to: [u1]
        subject: "Hello World"
        body: ""
        files: [f1]
      makeComposer.call(@)

    describe "_shouldAcceptDrop", ->
      it "should return true if the event is carrying native files", ->


  describe "when sending a new message", ->
    it 'makes a request with the message contents', ->
      sessionSetupComplete = false
      useDraft.call(@).then( =>
        sessionSetupComplete = true
      )
      waitsFor(( => sessionSetupComplete), "The session's draft needs to be set", 500)
      runs( =>
        makeComposer.call(@)
        editableNode = ReactDOM.findDOMNode(@composer).querySelector('[contenteditable]')
        spyOn(@session.changes, "add")
        editableNode.innerHTML = "Hello <strong>world</strong>"
        @composer.refs[Fields.Body]._onDOMMutated(["mutated"])
        expect(@session.changes.add).toHaveBeenCalled()
        expect(@session.changes.add.calls.length).toBe 1
        body = @session.changes.add.calls[0].args[0].body
        expect(body).toBe "Hello <strong>world</strong>"
      )

  describe "when sending a reply-to message", ->
    beforeEach ->
      sessionSetupComplete = false
      useDraft.call(@,
        from: [u1]
        to: [u2]
        subject: "Test Reply Message 1"
        body: ""
        replyToMessageId: "1")
      .then( =>
        sessionSetupComplete = true
      )
      waitsFor(( => sessionSetupComplete), "The session's draft needs to be set", 500)

      runs( =>
        makeComposer.call(@)
        @editableNode = ReactDOM.findDOMNode(@composer).querySelector('[contenteditable]')
        spyOn(@session.changes, "add")
      )

    it 'begins with empty body', ->
      expect(@editableNode.innerHTML).toBe ""
