package gov.samhsa.consent2share.service.contact;
import static org.mockito.Mockito.mock;
import static org.mockito.Mockito.times;
import static org.mockito.Mockito.verify;
import static org.mockito.Mockito.when;
import gov.samhsa.consent2share.domain.commondomainservices.EmailSender;
import gov.samhsa.consent2share.domain.commondomainservices.EmailType;
import gov.samhsa.consent2share.service.dto.ContactDto;
import javax.mail.MessagingException;
import org.junit.Before;
import org.junit.Test;
public class ContactServiceImplTest {
private ContactServiceImpl contactService;
private EmailSender emailSender;
@Before
public void setUp() {
emailSender = mock(EmailSender.class);
contactService = new ContactServiceImpl(emailSender);
}
@Test
public void testSendEmail() throws MessagingException {
ContactDto contactDto = mock(ContactDto.class);
String msg = "I am interested to learn how to sign up for Consent 2 Share.";
when(contactDto.getFirstName()).thenReturn("firstname");
when(contactDto.getLastName()).thenReturn("laststname");
when(contactDto.getEmail()).thenReturn("firstname@gmail.com");
when(contactDto.getEmailConfirmation()).thenReturn("firstname@gmail.com");
when(contactDto.getTelephoneNumber()).thenReturn("1111111111");
when(contactDto.getMessageCode()).thenReturn("1");
contactService.sendEmail(contactDto);
verify(emailSender, times(1)).sendContactMessage(EmailType.REQUEST_MORE_INFORMATION,contactDto.getFirstName(),contactDto.getLastName(), contactDto.getEmail(),contactDto.getTelephoneNumber(),msg);
verify(emailSender, times(1)).sendContactMessage(EmailType.CONFIRM_REQUEST_MORE_INFORMATION,"", "", contactDto.getEmail(), "", "");
}
}