mirror of
https://github.com/Foundry376/Mailspring.git
synced 2024-11-12 12:40:08 +08:00
579d4ad71b
Summary: - Fixes #1239 - Adds action in composer view to indicate when draft partcipants have changed. This seemed like the simplest way to listen for this change without adding another extension point - Updates signature plugin to listen to this action and update signature accordingly - Adds test Test Plan: - Unit tests Reviewers: evan, bengotow Reviewed By: bengotow Differential Revision: https://phab.nylas.com/D2614
54 lines
2.6 KiB
CoffeeScript
54 lines
2.6 KiB
CoffeeScript
{Message} = require 'nylas-exports'
|
|
|
|
SignatureComposerExtension = require '../lib/signature-composer-extension'
|
|
|
|
describe "SignatureComposerExtension", ->
|
|
describe "prepareNewDraft", ->
|
|
describe "when a signature is defined", ->
|
|
beforeEach ->
|
|
@signature = '<div id="signature">This is my signature.</div>'
|
|
spyOn(NylasEnv.config, 'get').andCallFake =>
|
|
@signature
|
|
|
|
it "should insert the signature at the end of the message or before the first blockquote and have a newline", ->
|
|
a = new Message
|
|
draft: true
|
|
body: 'This is a test! <blockquote>Hello world</blockquote>'
|
|
b = new Message
|
|
draft: true
|
|
body: 'This is a another test.'
|
|
|
|
SignatureComposerExtension.prepareNewDraft(draft: a)
|
|
expect(a.body).toEqual('This is a test! <div class="nylas-n1-signature"><div id="signature">This is my signature.</div></div><blockquote>Hello world</blockquote>')
|
|
SignatureComposerExtension.prepareNewDraft(draft: b)
|
|
expect(b.body).toEqual('This is a another test.<br/><br/><div class="nylas-n1-signature"><div id="signature">This is my signature.</div></div>')
|
|
|
|
it "should replace the signature if a signature is already present", ->
|
|
a = new Message
|
|
draft: true
|
|
body: 'This is a test! <div class="nylas-n1-signature"><div>SIG</div></div><blockquote>Hello world</blockquote>'
|
|
b = new Message
|
|
draft: true
|
|
body: 'This is a test! <div class="nylas-n1-signature"><div>SIG</div></div>'
|
|
c = new Message
|
|
draft: true
|
|
body: 'This is a test! <div class="nylas-n1-signature"></div>'
|
|
|
|
SignatureComposerExtension.prepareNewDraft(draft: a)
|
|
expect(a.body).toEqual("This is a test! <div class=\"nylas-n1-signature\">#{@signature}</div><blockquote>Hello world</blockquote>")
|
|
SignatureComposerExtension.prepareNewDraft(draft: b)
|
|
expect(b.body).toEqual("This is a test! <div class=\"nylas-n1-signature\">#{@signature}</div>")
|
|
SignatureComposerExtension.prepareNewDraft(draft: c)
|
|
expect(c.body).toEqual("This is a test! <div class=\"nylas-n1-signature\">#{@signature}</div>")
|
|
|
|
describe "when a signature is not defined", ->
|
|
beforeEach ->
|
|
spyOn(NylasEnv.config, 'get').andCallFake ->
|
|
null
|
|
|
|
it "should not do anything", ->
|
|
a = new Message
|
|
draft: true
|
|
body: 'This is a test! <blockquote>Hello world</blockquote>'
|
|
SignatureComposerExtension.prepareNewDraft(draft: a)
|
|
expect(a.body).toEqual('This is a test! <blockquote>Hello world</blockquote>')
|