fix(drafts): Don't cc the user on reply-all (specs were broken)

This commit is contained in:
Ben Gotow 2015-03-10 11:02:46 -07:00
parent e42c649e54
commit 682f7efcdc
2 changed files with 35 additions and 28 deletions

View file

@ -6,6 +6,14 @@ DatabaseStore = require '../../src/flux/stores/database-store.coffee'
DraftStore = require '../../src/flux/stores/draft-store.coffee'
_ = require 'underscore-plus'
fakeThread = null
fakeMessage1 = null
fakeMessage2 = null
fakeMessages = null
describe "DraftStore", ->
describe "creating drafts", ->
beforeEach ->
fakeThread = new Thread
id: 'fake-thread-id'
subject: 'Fake Subject'
@ -13,7 +21,7 @@ fakeThread = new Thread
fakeMessage1 = new Message
id: 'fake-message-1'
to: [new Contact(email: 'ben@nilas.com'), new Contact(email: 'evan@nilas.com')]
cc: [new Contact(email: 'mg@nilas.com'), NamespaceStore.current().me()]
cc: [new Contact(email: 'mg@nilas.com'), new Contact(email: NamespaceStore.current().me().email)]
bcc: [new Contact(email: 'recruiting@nilas.com')]
from: [new Contact(email: 'customer@example.com', name: 'Customer')]
threadId: 'fake-thread-id'
@ -32,9 +40,6 @@ fakeMessages =
'fake-message-1': fakeMessage1
'fake-message-2': fakeMessage2
describe "DraftStore", ->
describe "creating drafts", ->
beforeEach ->
spyOn(DatabaseStore, 'find').andCallFake (klass, id) ->
return Promise.resolve(fakeThread) if klass is Thread
return Promise.resolve(fakeMessages[id]) if klass is Message
@ -81,8 +86,7 @@ describe "DraftStore", ->
it "should cc everyone who was on the previous message in to or cc", ->
ccEmails = @model.cc.map (cc) -> cc.email
expectedEmails = [].concat(fakeMessage1.to, fakeMessage1.cc).map (cc) -> cc.email
expect(ccEmails.sort()).toEqual(expectedEmails.sort())
expect(ccEmails.sort()).toEqual([ 'ben@nilas.com', 'evan@nilas.com', 'mg@nilas.com'])
it "should not include people who were bcc'd on the previous message", ->
expect(@model.bcc).toEqual([])

View file

@ -103,11 +103,14 @@ DraftStore = Reflux.createStore
_onComposeReplyAll: (context) ->
@_newMessageWithContext context, (thread, message) ->
excluded = message.from.map (c) -> c.email
excluded.push(NamespaceStore.current().me().email)
replyToMessageId: message.id
quotedMessage: message
to: message.from
cc: [].concat(message.cc, message.to).filter (p) ->
!_.contains([].concat(message.from, [NamespaceStore.current().me()]), p)
!_.contains(excluded, p.email)
_onComposeForward: (context) ->
@_newMessageWithContext context, (thread, message) ->