/*
* Copyright 2013 ArcBees Inc.
*
* Licensed under the Apache License, Version 2.0 (the "License"); you may not
* use this file except in compliance with the License. You may obtain a copy of
* the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
* WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
* License for the specific language governing permissions and limitations under
* the License.
*/
package com.arcbees.appengine.mail;
import org.junit.Test;
import static org.junit.Assert.assertEquals;
public class MailBuilderFromTest {
public static final String TO = "to";
public static final String FROM_ADDRESS = "fromAddress";
public static final String FROM_PERSONAL = "fromPersonal";
public static final String BODY = "body";
public static final String SUBJECT = "subject";
public static final String REPLY_TO_ADDRESS = "replyToAddress";
@Test
public void build_allFieldsFilled_emailIsWellBuilt() {
//given
EmailBuilder.MailBuilderFromAddress mailBuilderFromAddress = EmailBuilder.to(TO)
.fromAddress(FROM_ADDRESS)
.fromPersonal(FROM_PERSONAL)
.body(BODY)
.subject(SUBJECT)
.replyToAddress(REPLY_TO_ADDRESS);
//when
Email email = mailBuilderFromAddress.build();
//then
assertEquals(TO, email.getTo());
assertEquals(FROM_ADDRESS, email.getFromAddress());
assertEquals(FROM_PERSONAL, email.getFromPersonal());
assertEquals(BODY, email.getBody());
assertEquals(SUBJECT, email.getSubject());
assertEquals(REPLY_TO_ADDRESS, email.getReplyToAddress());
}
@Test
public void build_missingBody_emailIsWellBuilt() {
//given
EmailBuilder.MailBuilderFromAddress mailBuilderFromAddress = EmailBuilder.to(TO)
.fromAddress(FROM_ADDRESS)
.fromPersonal(FROM_PERSONAL)
.subject(SUBJECT)
.replyToAddress(REPLY_TO_ADDRESS);
//when
Email email = mailBuilderFromAddress.build();
//then
assertEquals(TO, email.getTo());
assertEquals(FROM_ADDRESS, email.getFromAddress());
assertEquals(FROM_PERSONAL, email.getFromPersonal());
assertEquals("", email.getBody());
assertEquals(SUBJECT, email.getSubject());
assertEquals(REPLY_TO_ADDRESS, email.getReplyToAddress());
}
@Test
public void build_missingSubject_emailIsWellBuilt() {
//given
EmailBuilder.MailBuilderFromAddress mailBuilderFromAddress = EmailBuilder.to(TO)
.fromAddress(FROM_ADDRESS)
.fromPersonal(FROM_PERSONAL)
.body(BODY)
.replyToAddress(REPLY_TO_ADDRESS);
//when
Email email = mailBuilderFromAddress.build();
//then
assertEquals(TO, email.getTo());
assertEquals(FROM_ADDRESS, email.getFromAddress());
assertEquals(FROM_PERSONAL, email.getFromPersonal());
assertEquals(BODY, email.getBody());
assertEquals("", email.getSubject());
assertEquals(REPLY_TO_ADDRESS, email.getReplyToAddress());
}
@Test
public void build_missingPersonal_emailIsWellBuilt() {
//given
EmailBuilder.MailBuilderFromAddress mailBuilderFromAddress = EmailBuilder.to(TO)
.fromAddress(FROM_ADDRESS)
.body(BODY)
.subject(SUBJECT)
.replyToAddress(REPLY_TO_ADDRESS);
//when
Email email = mailBuilderFromAddress.build();
//then
assertEquals(TO, email.getTo());
assertEquals(FROM_ADDRESS, email.getFromAddress());
assertEquals(EmailBuilder.DEFAULT_PERSONAL, email.getFromPersonal());
assertEquals(BODY, email.getBody());
assertEquals(SUBJECT, email.getSubject());
assertEquals(REPLY_TO_ADDRESS, email.getReplyToAddress());
}
@Test
public void build_missingReplyToAddress_emailIsWellBuilt() {
//given
EmailBuilder.MailBuilderFromAddress mailBuilderFromAddress = EmailBuilder.to(TO)
.fromAddress(FROM_ADDRESS)
.fromPersonal(FROM_PERSONAL)
.body(BODY)
.subject(SUBJECT);
//when
Email email = mailBuilderFromAddress.build();
//then
assertEquals(TO, email.getTo());
assertEquals(FROM_ADDRESS, email.getFromAddress());
assertEquals(FROM_PERSONAL, email.getFromPersonal());
assertEquals(BODY, email.getBody());
assertEquals(SUBJECT, email.getSubject());
assertEquals("", email.getReplyToAddress());
}
}