From 91ccc940a678b84d5f671f1a8f3beb54bb71b5a8 Mon Sep 17 00:00:00 2001 From: Evan Morikawa Date: Mon, 14 Sep 2015 16:12:28 -0400 Subject: [PATCH] fix(composer): fix popout composer and add spec --- internal_packages/composer/lib/composer-view.cjsx | 3 --- .../composer/lib/expanded-participants.cjsx | 4 ++++ .../composer/spec/expanded-participants-spec.cjsx | 9 +++++++++ 3 files changed, 13 insertions(+), 3 deletions(-) diff --git a/internal_packages/composer/lib/composer-view.cjsx b/internal_packages/composer/lib/composer-view.cjsx index e1e9191fd..2952cf4fb 100644 --- a/internal_packages/composer/lib/composer-view.cjsx +++ b/internal_packages/composer/lib/composer-view.cjsx @@ -575,9 +575,6 @@ class ComposerView extends React.Component @_saveToHistory(selections) unless source.fromUndoManager - _popoutComposer: => - Actions.composePopoutDraft @props.draftClientId - _sendDraft: (options = {}) => return unless @_proxy diff --git a/internal_packages/composer/lib/expanded-participants.cjsx b/internal_packages/composer/lib/expanded-participants.cjsx index f60523b6a..f818004b8 100644 --- a/internal_packages/composer/lib/expanded-participants.cjsx +++ b/internal_packages/composer/lib/expanded-participants.cjsx @@ -2,6 +2,7 @@ _ = require 'underscore' React = require 'react' AccountContactField = require './account-contact-field' ParticipantsTextField = require './participants-text-field' +{Actions} = require 'nylas-exports' {RetinaImg} = require 'nylas-component-kit' Fields = require './fields' @@ -160,6 +161,9 @@ class ExpandedParticipants extends React.Component hide: [Fields.Cc] focus: Fields.To + _popoutComposer: => + Actions.composePopoutDraft @props.draftClientId + _onEmptyBcc: => if Fields.Cc in @props.enabledFields focus = Fields.Cc diff --git a/internal_packages/composer/spec/expanded-participants-spec.cjsx b/internal_packages/composer/spec/expanded-participants-spec.cjsx index fcab23745..e9b2f81bf 100644 --- a/internal_packages/composer/spec/expanded-participants-spec.cjsx +++ b/internal_packages/composer/spec/expanded-participants-spec.cjsx @@ -4,6 +4,7 @@ Fields = require '../lib/fields' ReactTestUtils = React.addons.TestUtils AccountContactField = require '../lib/account-contact-field' ExpandedParticipants = require '../lib/expanded-participants' +{Actions} = require 'nylas-exports' describe "ExpandedParticipants", -> makeField = (props={}) -> @@ -69,6 +70,14 @@ describe "ExpandedParticipants", -> els = ReactTestUtils.scryRenderedDOMComponentsWithClass(@fields, "show-popout") expect(els.length).toBe 0 + it "pops out the composer when clicked", -> + spyOn(Actions, "composePopoutDraft") + makeField.call(@, mode: "inline") + el = ReactTestUtils.findRenderedDOMComponentWithClass(@fields, "show-popout") + ReactTestUtils.Simulate.click(React.findDOMNode(el)) + expect(Actions.composePopoutDraft).toHaveBeenCalled() + expect(Actions.composePopoutDraft.calls.length).toBe 1 + it "shows and focuses cc when clicked", -> makeField.call(@) el = ReactTestUtils.findRenderedDOMComponentWithClass(@fields, "show-cc")